Aapeli Vuorinen

Quick tip: Syncing a task list using Fastmail

I use Thunderbird, and lately I’ve been finding the Tasks feature pretty handy. As one would expect, you can sync this task list through CalDAV.

Fastmail however doesn’t support tasks in their user interface, and if you try to sync a calendar up on Thunderbird, you’ll just get an error saying “Please select a calendar that supports tasks”.

There’s however a trick: you can create a task list in Python, then add this CalDAV URL into Thunderbird.

Procedure

I used the caldav python package to create a new task list and print its URL:

email_address = "example@fastmail.com"
app_password = "app specific password"

import caldav
client = caldav.DAVClient(
    url=f"https://caldav.fastmail.com/dav/calendars/user/{email_address}",
    username=email_address,
    password=app_password,
)
p = client.principal()
tasks = p.make_calendar(name="Life", supported_calendar_component_set=["VTODO"])
print(tasks.url)

Now just copy that URL and add it to Thunderbird!