Dovetail

Learn how to use Dovetail with Composio

Overview

SLUG: DOVETAIL

Description

Dovetail is an Australian software company that provides tools for transcription analysis, coding interpretation of interviews, survey responses, and feedback, enabling users to create summarized insights from their research analysis.

Authentication Details

bearer_token
stringRequired

Connecting to Dovetail

Create an auth config

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

1

Select App

Navigate to Dovetail.

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 Dovetail 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 API Key

1from composio import Composio
2
3# Replace these with your actual values
4dovetail_auth_config_id = "ac_YOUR_DOVETAIL_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": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Dovetail 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, dovetail_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 Dovetail toolkit’s playground

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=["DOVETAIL"])
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: Create Channel

Description

Tool to create a new channel in dovetail. use after confirming channel details.

Action Parameters

description
string
members
array
metadata
object
name
stringRequired
type
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Contact

Description

Tool to create a new contact in dovetail. use when you need to register a contact before logging interactions.

Action Parameters

email
Required
name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Data Point

Description

Tool to create a data point within a channel. use after capturing new content to record and classify it in dovetail.

Action Parameters

channel_id
stringRequired
metadata
object
source_title
string
source_url
text
stringRequired
timestamp
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Insight

Description

Tool to create a new insight in dovetail. use after synthesizing findings when ready to store them. example: "create insight 'q1 user trends' with body '...' for project 'proj 123'."

Action Parameters

body
stringRequired
project_id
string
tags
array
title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Topic

Description

Tool to create a new topic in a channel. use after confirming channel id, title, and optional description.

Action Parameters

channel_id
stringRequired
description
string
title
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Channel

Description

Tool to delete an existing channel. use when you need to remove a channel and move it to the project's trash (restorable for 30 days). confirm the channel id before calling.

Action Parameters

channel_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Topic

Description

Tool to delete an existing topic. use when you have confirmed the topic id and want to move it to trash (restorable for 30 days). example: "delete topic with id 123e4567-e89b-12d3-a456-426614174000."

Action Parameters

topic_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Note

Description

Tool to retrieve details of a specific note. use when you have confirmed the note id and need full note metadata from dovetail.

Action Parameters

note_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Token Info

Description

Tool to get information about the current api token. use after authenticating to verify token scopes and expiry.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Contacts

Description

Tool to list all contacts in dovetail. use after authenticating with a valid workspace token when you need the complete contact list.

Action Parameters

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: List Data

Description

Tool to list data items in dovetail. use when you need to retrieve, filter, sort, or paginate through your workspace data after authentication. supports dovetail filters, sort syntax, and cursor-based pagination.

Action Parameters

filter
string
page[limit]
integer
page[start_cursor]
string
sort
string

Action Response

data
arrayRequired
error
string
page
objectRequired
successful
booleanRequired

Tool Name: List Highlights

Description

Tool to list all highlights in dovetail. use after authenticating with a valid workspace token when you need to retrieve the complete highlight list.

Action Parameters

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: List Notes

Description

Tool to list all notes in dovetail. use after confirming you have a valid workspace token and need to retrieve the full note list.

Action Parameters

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: List Projects

Description

Tool to list all projects in dovetail. use after authenticating with a valid workspace token when you need to retrieve the full project list.

Action Parameters

page
integer
per_page
integer

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: List Tags

Description

Tool to list all tags in dovetail. use after authenticating with a valid workspace token when you need to retrieve the complete tag list.

Action Parameters

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: List User Insights

Description

Tool to list insights for a specific user. use when you need to retrieve all personal insights associated with a user id.

Action Parameters

user_id
stringRequired

Action Response

data
arrayRequired
error
string
successful
booleanRequired

Tool Name: Update Topic

Description

Tool to update an existing topic. use after confirming the topic id and fields to change. example: "update topic with id 123... to have title 'new'".

Action Parameters

description
string
title
string
topic_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired