Ticktick

Learn how to use Ticktick with Composio

Overview

SLUG: TICKTICK

Description

TickTick is a cross-platform task management and to-do list application designed to help users organize their tasks and schedules efficiently.

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to tasks:read,tasks:write
bearer_token
string

Connecting to Ticktick

Create an auth config

Use the dashboard to create an auth config for the Ticktick toolkit. This allows you to connect multiple Ticktick accounts to Composio for agents to use.

1

Select App

Navigate to the Ticktick toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5ticktick_auth_config_id = "ac_YOUR_TICKTICK_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/application
7
8composio = Composio()
9
10
11def authenticate_toolkit(user_id: str, auth_config_id: str):
12 connection_request = composio.connected_accounts.initiate(
13 user_id=user_id,
14 auth_config_id=auth_config_id,
15 )
16
17 print(
18 f"Visit this URL to authenticate Ticktick: {connection_request.redirect_url}"
19 )
20
21 # This will wait for the auth flow to be completed
22 connection_request.wait_for_connection(timeout=15)
23 return connection_request.id
24
25
26connection_id = authenticate_toolkit(user_id, ticktick_auth_config_id)
27
28# You can also verify the connection status using:
29connected_account = composio.connected_accounts.get(connection_id)
30print(f"Connected account: {connected_account}")

Tools

Executing tools

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["TICKTICK"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Complete Task

Description

Tool to mark a task as complete. use after confirming the task is done.

Action Parameters

project_id
stringRequired
task_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Project

Description

Tool to create a new project in ticktick. use when you need to programmatically add a project after obtaining a valid access token.

Action Parameters

color
string
kind
string
name
stringRequired
sortOrder
integer
viewMode
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Task

Description

Tool to create a new task in ticktick. use after you have task details such as title, dates, and optional reminders or subtasks.

Action Parameters

content
string
desc
string
dueDate
string
isAllDay
boolean
items
array
priority
integer
projectId
string
reminders
array
repeatFlag
string
sortOrder
integer
startDate
string
timeZone
string
title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Task

Description

Tool to delete a specific task. use when you need to remove a task from a project after confirming both project and task ids.

Action Parameters

project_id
stringRequired
task_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get User Projects

Description

Tool to retrieve all projects for the user. use when you need to list available projects for selection.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Complete Task

Description

Tool to mark a specific task as complete. use after confirming the task is done.

Action Parameters

project_id
stringRequired
task_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete TickTick Project

Description

Tool to delete a specific project. use when you have confirmed the project id and intend to permanently remove it. example: "delete the project with id 6226ff9877acee87727f6bca".

Action Parameters

project_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get project with data

Description

Tool to retrieve a project and its associated data (tasks, columns). use when you need full project details including its tasks and columns after selecting a project id.

Action Parameters

projectId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Generate OAuth2 Authorization URL

Description

Tool to generate the ticktick oauth2 authorization url. use to redirect the user to obtain the authorization code (step 1).

Action Parameters

client_id
stringRequired
redirect_uri
stringRequired
scope
stringRequired
state
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Redirect to TickTick OAuth2 authorization page

Description

Tool to redirect user to ticktick authorization page to obtain authorization code. use when initiating the oauth2 flow before exchanging the code.

Action Parameters

client_id
stringRequired
redirect_uri
Required
scope
stringRequired
state
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Project

Description

Tool to update an existing project. use when you need to modify project details like name, color, sort order, view mode, or kind after selecting a project id.

Action Parameters

color
string
kind
string
name
string
projectId
stringRequired
sortOrder
integer
viewMode
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Project

Description

Tool to update an existing project. use when you need to modify project details like name, color, sort order, view mode, or kind after selecting a project id.

Action Parameters

color
string
kind
string
name
string
projectId
stringRequired
sortOrder
integer
viewMode
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Task

Description

Tool to update an existing task. use after confirming the taskid and projectid.

Action Parameters

content
string
desc
string
dueDate
string
isAllDay
boolean
items
array
priority
integer
projectId
stringRequired
reminders
array
repeatFlag
string
sortOrder
integer
startDate
string
taskId
stringRequired
timeZone
string
title
string

Action Response

data
objectRequired
error
string
successful
booleanRequired