Getting the most out of Nextcloud Part 2: Calendar, Tasks & Contacts

I’ve been self-hosting Nextcloud (formerly OwnCloud) for almost a decade in my homelab. In this series I want to share the features and workflows that have proved to be most useful to me over the years. You can find all my posts about Nextcloud here.

In the first part of this series I showed the most essential features of Nextcloud: file synchronization and sharing. In this post I’ll focus on another set of functionalities that are built-in (like Files), but are much less widely used: Calendar, Tasks and Contacts. I’m grouping them in the same post because under the hood they work quite similar – as we’ll see soon.

#  Calendar

The calendar plugin offers a clean and functional web interface for viewing, creating and editing events. I rarely use the web interface, but it is super useful to coordinate multiple events or to copy&paste information from another source, such as emails or websites.

The ‘monthly’ view of Nextcloud Calendar

The ‘monthly’ view of Nextcloud Calendar

Creating and editing events via Nextcloud’s Calendar

Creating and editing events via Nextcloud’s Calendar

Most frequently I use mobile apps for accessing, creating and editing calendar events on my phone.

On Android the DAVx⁵ app (Play Store, F-Droid) takes care of synchronizing the calendar between the phone and the Nextcloud instance and has been very reliable for many years. It uses the standardized CalDav protocol for synchronizing events. If you already have the Nextcloud Files app configured on your Android phone, you can use it to set up the DAVx⁵ app: in the Nextcloud app click on Settings > Sync calendars & contacts. A login flow will be initiated where you have to grant access for DAVx⁵. Then DAVx⁵ will open and ask you to create an account. Set the account name to one of your choosing, and choose the option Contact Group Method to Groups are per-contact categories.

The iOS setup is even simpler because you don’t even need to install any app. A CalDav account can be added directly in the Settings app by selecting Calendar > Accounts > Add Account > Type: Other > CalDAV. Then type in the domain of your Nextcloud (e.g. and the user name and password (don’t forget to use an app password for this!). After confirming with Select, the calendar events will show up in the Calendar application.

Note: it is very important that the “well-known” redirections are set up properly, otherwise iOS will not be able to connect to Nextcloud.

Visit the Nextcloud documentation to find out about all the features of the Nextcloud Calendar plugin. It is also possible to synchronize the calendar events to macOS, Thunderbird, Windows, GNOME and KDE (click the links for setup instructions).

Setting up Thunderbird to synchronize tasks and events from Nextcloud

#  Appointment scheduling

The Calendar plugin also has the ability to act as a tool scheduling meeting with other people. The way it works is that you create a new Appointment from your calendar, specify some metadata and define the allowed time windows. You can then distribute a link to the invitee(s), when they open it they can choose one of the available time slots. After the appointment is confirmed, both the organizer and the invitee will automatically receive a calendar invitation via email.

Nextcloud Calendar: Appointment creation view

Nextcloud Calendar: Appointment creation view

Nextcloud Calendar: Appointment guest view

Nextcloud Calendar: Appointment guest view

Much more convenient than sending a dozen emails back and forth!

#  Tasks

Nextcloud Tasks offers a sleek web interface for To-Do lists. Under the hood it actually uses the same protocol as the Calendar plugin (CalDav), which means that the synchronization clients you’ve set up in the previous step will also automatically synchronize tasks – neat! Tasks allow you to set priorities, start & due dates, completion status and add notes.

Note for administrators: unlike Calendar and Contacts, the Tasks plugin is not enabled by default, therefore you’ll have to install it from the Nextcloud “App store”.

Nextcloud Tasks web interface

However, depending on your platform, you might need an additional app to actually view them. On Android I recommend (Play Store, F-Droid) because it is simple to use and yet packed with features (have a look at their docs). Android App (left) and home screen widget (right) Android App (left) and home screen widget (right)

If you’d like a bit more structure to your tasks or you are not a “to-do list person”, take a look the Deck plugin which offer Kanban-style organization for personal tasks and project organization.

#  Contacts

Nextcloud Contacts is the final piece of the groupware trilogy. As the name suggests, it allows you to manage contact information and use it as an address book for mail clients etc. The plugin exposes the CardDav protocol, which like in the previous cases can be used by many synchronization clients.

Nextcloud Contacts web view

Nextcloud Contacts web view

On Android DAVx⁵ takes care of synchronizing contacts as well, simply follow the setup instructions outlined in the Calendar section above. In case the contacts don’t appear on your phone, you may need to enable the additional source in the app you use for viewing contacts. This can usually be found in the settings of the contacts app under Accounts.

On iOS the setup is very similar to the calendar setup described before: open the the Settings app, head to Contacts > Accounts > Add Account, choose Type Other > CardDAV and then type in the connection details of your Nextcloud instance - don’t forget to use an app password!

Of course contacts are not only important on mobile devices, but also for mail clients. Since version 102 Thunderbird offers a native integration for CardDAV/CalDAV.

Setting up Thunderbird to synchronize an address book from Nextcloud Contacts

Similarly, contacts can also be synchronized with macOS, Windows, KDE and GNOME (click the respective links for setup instructions).

P.S. Did you become interested in Nextcloud? A handy migration tool allows you to import your contacts and calendar from Google. Find more details here.

Happy synchronizing!