TickTick
With a TickTick (or Dida365) account, Jimothy can:
- start a run for each open task in a list, or with certain tags, then comment on the task and complete it when the run finishes;
- create tasks, comment on them or complete them as a pipeline step, or after any step.
Sign in
Section titled “Sign in”- In the TickTick web app, click your avatar, then Settings → Account → API Token. Create a token and copy it.
- In Jimothy, open Settings → Accounts & integrations and click Sign in under TickTick. You can also use the ⌘K palette (Sign in to TickTick).
- Leave Service on TickTick, or pick Dida365 if you use dida365.com.
- Paste the token into API token and click Sign in.
TickTick’s API doesn’t say whose token it is, so Jimothy checks the token by listing your lists. The account shows as TickTick, signed in as N projects. Rename it under Account name if you have several.
The token can do everything your TickTick account can. It’s stored encrypted with your OS keychain.
Start runs from tasks
Section titled “Start runs from tasks”Open the project’s Triggers tab (or All triggers in the ⌘K palette), click Add trigger and choose TickTick.
| Field | Stored as | Notes |
|---|---|---|
| TickTick account | connectionId |
Which account reads the tasks and writes back. |
| List | ticktick.projectIds |
One list to watch, or Every list. |
| Tags (all of) | ticktick.tags |
Only tasks that have every one of these tags. New triggers start with jimothy. |
| Processed label | claimLabel |
New triggers start with jimothy-ran. Jimothy adds it to each task as a tag when it starts a run, and skips tasks that have it. Remove the tag to run the task again. |
| Write back | onStart, onSuccess, onFailure |
Comment on the task, and Complete it. New triggers comment when a run starts and finishes, and complete the task when the run succeeds. |
Like every trigger, it also has Runs pipeline, Jimothy project and When it finds an issue: Start a run, or Add to a board to put each task on a board.
The trigger polls TickTick (every 2 minutes by default). TickTick has no webhooks. Its API doesn’t report when a task was last edited, so Run again when a processed issue is updated has no effect; use the processed label to re-run a task.
Each task becomes the run’s issue:
| Template | Value |
|---|---|
{{issue.key}} |
TT- plus the task id |
{{issue.id}} |
<list id>/<task id>, which the actions below take |
{{issue.title}} |
The task title |
{{issue.description}} |
The task’s notes |
{{issue.url}} |
A link to the task in the web app |
{{issue.labels}} |
The task’s tags |
{{issue.priority}} |
high, medium or low, or empty |
{{issue.raw.projectId}}, {{issue.raw.taskId}}, {{issue.raw.dueDate}} |
Actions
Section titled “Actions”Use these in an integration step or after a step. Every text field is a template.
Create task
Section titled “Create task”| Field | Notes |
|---|---|
| Task | Required. The task title, e.g. Review {{issue.key}}. |
| Notes | Optional. |
| List | Required; pick one of your lists. TickTick’s API can’t add tasks to the Inbox. |
| Tags | Optional, comma-separated. |
| Due | Optional. A date like 2026-10-08 makes an all-day task. A time needs TickTick’s format: 2026-10-08T09:00:00+0000. |
The step’s output is Created TickTick task "<title>": <link>. Later steps can use {{steps.<id>.data.id}} (<list id>/<task id>) and {{steps.<id>.data.url}}.
Comment on task
Section titled “Comment on task”| Field | Notes |
|---|---|
| Task id | Required. Starts as {{issue.id}}, the task that started the run. Use {{steps.<id>.data.id}} for a task an earlier step created. Either way it’s <list id>/<task id>. |
| Comment | Required. |
Complete task
Section titled “Complete task”| Field | Notes |
|---|---|
| Task id | Required. Starts as {{issue.id}}. |