Skip to main content

TickTick smart home integration, free and open source

TickTick integration for Gladys Assistant

Shows your TickTick tasks on the dashboard and lets scenes create tasks or react to due ones.

Requires Gladys 5.1 or later. This integration is made of a dashboard widget and scene triggers and actions, which ship with Gladys 5.1; on an earlier version it cannot be installed.

Bring your TickTick tasks into Gladys: a dashboard widget with the tasks due today and the overdue ones, a scene action to create a task (from a button, a voice command, a sensor...), another one to read your tasks out loud or send them in a notification, and a scene trigger that fires when a task reaches its due time.

Requirements​

  • A TickTick account (free or Premium).
  • Internet access from the machine running Gladys: the integration talks to the TickTick cloud API.

Connecting your account​

  1. Open the TickTick developer site, sign in with your TickTick account and click New App. Any name will do, e.g. "Gladys".
  2. Open the new app and click Edit. In OAuth redirect URL, paste the redirect URI shown in the Gladys configuration screen, under the Connect button (usually https://my.gladysassistant.com/redirect/oauth), and save. Without it, TickTick answers "At least one redirect_uri must be registered with the client".
  3. Copy the app's Client ID and Client secret into the Gladys configuration screen and click Save, at the bottom of the form.
  4. Only then click Connect: the button does not save the form, and the integration only sees saved values. TickTick asks you to allow access to your tasks. Accept. You are brought back to Gladys, and the status turns to connected.

The access granted lasts several months. When TickTick ends it, the status of the integration says so: click Connect again.

Configuration​

FieldDescription
Client ID / secretFrom your TickTick developer app.
TickTick accountThe Connect button, once the Client ID and secret are saved.
Refresh frequencyHow often TickTick is read: 1 minute, 5 minutes (default) or 15 minutes.
Hour for all-day tasksHour (0-23, default 9) at which the "TickTick task due" trigger fires for a task that has a day but no time.

Test the connection checks the access and shows how many lists were found. It also resumes the refresh after a refused access was fixed.

Dashboard widget​

Add the TickTick tasks widget to a dashboard. It shows:

  • two counters: overdue tasks and tasks due today;
  • up to 8 tasks, overdue first, with their list, due time and priority. Tap a task to see its notes and a link to open it in TickTick;
  • a line saying how many more tasks did not fit.

The Tasks shown setting of each widget chooses between Today and overdue (default), Today, Overdue and Next 7 days and overdue.

Tasks without a date are never shown. Tasks are completed in TickTick, not from the widget.

Scenes​

Trigger: TickTick task due​

Fires when an undone task reaches its due time: at its time for a task with a time, at the Hour for all-day tasks for a task with only a day. Optional filters: the priority, and the list (its exact name, Inbox for the inbox).

Variables for the next actions: title, list_name, priority (none, low, medium, high), due_date (YYYY-MM-DD), due_time (HH:MM, empty for an all-day task), all_day and content (the task notes).

The schedule follows the refresh: a task created or moved less than one refresh period before its due time may be missed. A task already past due when Gladys starts does not fire.

Action: Create a TickTick task​

  • Title (required, can use scene variables);
  • List: name of a TickTick list, case does not matter. Empty or unknown: the inbox;
  • Due: no date, today or tomorrow, with an optional Due time (18:30); without a time the task is for the whole day;
  • Priority: none, low, medium or high.

Outputs: task_id and list_name (the list the task landed in).

Action: Get TickTick tasks​

Reads the tasks of a scope (same choices as the widget) from the last refresh. Outputs: count, titles (one task per line, with its time when it has one), and the first task's next_title, next_list, next_due_date and next_due_time. Example: every morning at 7:30, if count is above 0, send "Today: {{titles}}" in a notification.

Troubleshooting​

MessageWhat to do
Connect your TickTick accountNothing is connected yet: follow "Connecting your account".
No saved Client ID / No saved Client secretFill them in and click Save before clicking Connect.
There was an error starting the connection (Gladys)Gladys does not show the cause: it is in the integration logs ("TickTick connection failed"). Usually the Client ID was not saved.
TickTick refused the accessThe access was revoked or expired: click Connect again. Refreshing waits until then.
The TickTick authorization expired or does not matchMore than 15 minutes passed on the TickTick page, or the integration restarted meanwhile: click Connect again.
TickTick: At least one redirect_uri must be registeredYour developer app has no OAuth redirect URL: set it to the redirect URI shown in Gladys (step 2).
TickTick says the redirect URL is invalidThe OAuth redirect URL of your developer app must be exactly the redirect URI shown in Gladys.
TickTick cannot be reached / did not answer in timeCheck the Internet connection of the Gladys machine. The integration retries at every refresh.
TickTick limits the number of requestsChoose a longer refresh frequency.

The integration logs (Supervision tab of the integration) give the details of every failure; your token never appears in them.

Configuration settings​

These are the settings TickTick asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Connect your TickTick accountsectionNo1. On the TickTick developer site, create an app (Manage Apps > New App). 2. In its settings, set the OAuth redirect URL to the redirect URI shown below the Connect button. 3. Copy its Client ID and Client secret here and click Save (bottom of the form). 4. Only then click Connect.
Client IDstringNo
Client secretsecretNo
Click Save before ConnectsectionNoThe Connect button does not save the form: after entering the Client ID and Client secret, first click Save at the bottom of the form, then come back here and click Connect.
TickTick accountoauth2No
SettingssectionNoHow often TickTick is read, and when the "Task due" scene trigger fires for tasks without a time.
Refresh frequencyselectNo
Hour for all-day tasksnumberNoHour of the day (0-23) at which the "Task due" trigger fires for an all-day task.

How to install TickTick in Gladys​

  1. In Gladys, open Integrations: TickTick appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/cicoub13/gladys-ticktick:0.1.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/cicoub13/gladys-ticktick.

TickTick requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

TickTick is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by cicoub13, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂