Dart

Learn how to use Dart with Composio

Overview

SLUG: DART

Description

The ultimate AI project management tool.

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 read,write
generic_api_key
stringRequired

Connecting to Dart

Create an auth config

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

1

Select App

Navigate to Dart.

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

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4dart_auth_config_id = "ac_YOUR_DART_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Dart for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, dart_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Dart toolkit’s playground

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Add Task Comment

Description

Tool to create a new comment on a DART task. Use when you need to add feedback, notes, or discussion to a specific task. Supports markdown formatting and threaded replies via parentId.

Action Parameters

parent_id
task_id
stringRequired
text
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Add Task Time Tracking

Description

Tool to add a time tracking entry to a DART task. Use when you need to record time spent on a specific task. The finishedAt timestamp must be after startedAt.

Action Parameters

finishedAt
stringRequired
id
stringRequired
startedAt
stringRequired
user

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Doc

Description

Tool to create a new doc in Dart. Use when you need to record a new document that the user intends to write down. By default, the created doc will be in the Docs folder unless a specific folder is specified.

Action Parameters

item
objectRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Create Task

Description

Tool to create a new task in DART with title and optional metadata. Use when you need to add a task to a workspace.

Action Parameters

item
objectRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Doc

Description

Tool to move an existing doc to the trash where it can be recovered if needed. Use when you need to delete a doc without permanently removing it.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Delete Task

Description

Tool to delete an existing task in Dart by moving it to trash. Use when a task needs to be removed but can be recovered later.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get User Space Configuration

Description

Tool to retrieve workspace configuration including dartboards, folders, types, statuses, and more. Use when you need to understand available options in the workspace.

Action Parameters

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Doc

Description

Tool to retrieve an existing doc with metadata and content. Use when you need to access a specific document's details including title, folder, and text content.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Task

Description

Tool to retrieve an existing task with full details including title, dartboard, status, and description. Use when you need to fetch complete information about a specific task.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Comments

Description

Tool to list comments for a task with filtering options. Use when you need to retrieve comments on a specific task. Supports filtering by author, text content, date range, and pagination. Can be ordered by date or hierarchical thread structure.

Action Parameters

author
author_id
ids
limit
o
offset
parent_id
published_at
published_at_after
published_at_before
task_id
stringRequired
text

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Help Center Articles

Description

Tool to search help center articles by semantic similarity to query. Use when you need to find relevant help articles based on a short search query (1-5 words). Returns up to two most relevant articles.

Action Parameters

query
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: List Tasks

Description

Tool to list tasks with powerful filtering options. Use when you need to retrieve tasks from DART with filters like dartboard, status, assignee, tags, priority, dates, or completion state. Supports pagination and custom ordering.

Action Parameters

assignee
assignee_id
created_at
created_at_after
created_at_before
created_by
created_by_id
dartboard
dartboard_id
description
due_at
due_at_after
due_at_before
ids
in_trash
is_completed
limit
no_defaults
o
offset
parent_id
priority
size
start_at
start_at_after
start_at_before
status
status_id
tag
tag_id
title
type
type_id
updated_at
updated_at_after
updated_at_before
updated_by
updated_by_id
view
view_id

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Move Task

Description

Tool to move a task to a specific position within its dartboard. Use when you need to reorder tasks in a list. Specify either afterTaskId or beforeTaskId to position the task.

Action Parameters

afterTaskId
beforeTaskId
id
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Retrieve Skill By Title

Description

Tool to retrieve a skill by its exact title from the workspace. Use when you need to find details about a specific skill including its ID and instructions.

Action Parameters

title
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Doc

Description

Tool to update an existing doc in Dart. Use when you need to modify a document's title, folder location, or content. Any properties not specified will remain unchanged.

Action Parameters

item
objectRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Update Task

Description

Tool to update an existing task in DART with new properties. Use when you need to modify a task's title, status, assignees, or other attributes. Only properties specified in the request will be updated.

Action Parameters

item
objectRequired

Action Response

data
objectRequired
error
successful
booleanRequired