| name | dovetail |
| description | Dovetail is an AI-native customer intelligence platform that centralises and synthesises feedback from interviews, support tickets, reviews and research data—helping teams uncover themes, drive product decisions and act on voice-of-customer in one unified workspace. Read and write Dovetail data through One: docs, insights, data, notes, channels, contacts and more, 58 actions with real parameter documentation. Use whenever the user asks to look something up in Dovetail, create or update a record there, or build code against the Dovetail API. |
Dovetail through One
Dovetail is an AI-native customer intelligence platform that centralises and synthesises feedback from interviews, support tickets, reviews and research data—helping teams uncover themes, drive product decisions and act on voice-of-customer in one unified workspace.
One exposes Dovetail through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.
How to run an action
- Find the action in the table below, or call
search_one_platform_actions with platform dovetail if it is not listed.
- Call
get_one_action_knowledge with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
- Call
execute_one_action with parameters copied from that knowledge.
Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.
Before you start
Call list_one_integrations once and confirm Dovetail is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.
Each connection carries an access field. If it reports {"policy": "methods", "methods": ["GET"]} the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.
Before a write
Creates, updates, deletes and sends land on a real Dovetail account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.
Actions
Docs
| Action | Method | Path | Action id |
|---|
| Export a Doc (HTML or Markdown) | GET | /v1/docs/{{docId}}/export/{{type}} | conn_mod_def::GJ2X-BjqX6o::Df6CK7_XQtmG4jPLcbMtMA |
| Get a Doc by ID | GET | /v1/docs/{{docId}} | conn_mod_def::GJ2X-I0CIp0::Rrp4TaWJRzqq9YgmRuWXsw |
| List a User's Personal Docs | GET | /v1/docs/user/{{userId}} | conn_mod_def::GJ2X-mmSI1Q::C7YLm9aHSYOF9NJuQbNruA |
| List Docs | GET | /docs | conn_mod_def::GJ2X-YoQSEQ::eywrqa5ATUSjsFFl-HGDhw |
| Create a Doc | POST | /docs | conn_mod_def::GJ2X9sUVdsg::g6rk5k9vSsCIbWlk-zUt6Q |
| Delete a Doc | DELETE | /docs/{{docId}} | conn_mod_def::GJ2X95tPBnY::FJiqOkCsRCacKn5iJ-zvog |
| Import File to Doc | POST | /docs/import/file | conn_mod_def::GJ2X-QgTttM::Kktx9UemTmW67RdUr-gonQ |
| Update a Doc | PATCH | /v1/docs/{{docId}} | conn_mod_def::GJ2X-vPJyIE::r_BmWggkSt65Y30-k_uBfA |
Insights
| Action | Method | Path | Action id |
|---|
| Export an Insight (HTML or Markdown) | GET | /v1/insights/{{insightId}}/export/{{type}} | conn_mod_def::GJ2X__-7LIc::TUJYPU3-TrmarjSugffnxw |
| Get an Insight | GET | /v1/insights/{{insightId}} | conn_mod_def::GJ2YAGimv2Y::P07eMFMQT-yK4iKhxHLZHg |
| List a User's Personal Insights | GET | /insights/user/{{userId}} | conn_mod_def::GJ2YAkPoWiU::88lPAQrJQh6migtOQSjGZg |
| List Insights | GET | /insights | conn_mod_def::GJ2YAZb1NGA::vGdgSauCRhuZtK41lXdk3Q |
| Create an Insight | POST | /insights | conn_mod_def::GJ2X_tkv9Kk::O0svhUZIRJCYdfL2E5cbxQ |
| Delete an Insight | DELETE | /insights/{{insightId}} | conn_mod_def::GJ2X_3wFLwo::P_87cWbYQJi41XP8spta9A |
| Import File to Insight | POST | /api/v1/insights/import/file | conn_mod_def::GJ2YAOQNCNk::yDvpVzDKSK6Q7SUua0fR7Q |
| Update an Insight | PATCH | /insights/{{insightId}} | conn_mod_def::GJ2YAqyaxIo::Wgos1C0WRsCnTVDQYcLzhA |
Data
| Action | Method | Path | Action id |
|---|
| Export a Data's Content (HTML or Markdown) | GET | /v1/data/{{dataId}}/export/{{type}} | conn_mod_def::GJ2X8_NDJW4::3x36ksoOTDKyJJ8QMFoB-g |
| Get a Data Item | GET | /data/{{dataId}} | conn_mod_def::GJ2X9GNxL3o::tYO2ZSHLThunadDgtdg80Q |
| List Workspace Data | GET | /data | conn_mod_def::GJ2X9eFeZWI::OxW0X2tYQ7aMEcaPnk244Q |
| Create Data | POST | /data | conn_mod_def::GJ2X8wufpfA::8h1_UBuJSbiy-pwoaYKDgw |
| Delete a Data | DELETE | /data/{{dataId}} | conn_mod_def::GJ2X83qN_GU::QYycpz7oTYS6kyZHHBrCFA |
| Import File to Data | POST | /data/import/file | conn_mod_def::GJ2X9QH7m1E::JTS28IouT-ySecOGUFsDIA |
| Update a Data (Patch) | PATCH | /data/{{dataId}} | conn_mod_def::GJ2X9lcZchs::M41sF4t8QMyyQCj8uV-W-Q |
Notes
| Action | Method | Path | Action id |
|---|
| Export a Note (HTML or Markdown) | GET | /v1/notes/{{noteId}}/export/{{type}} | conn_mod_def::GJ2YBBigHTU::JMYNb1ldQn-5NRVQtej8lg |
| Get a Note | GET | /notes/{{noteId}} | conn_mod_def::GJ2YBMVh__M::3a8A2kplQCGMn1BA-7ZXEw |
| List Notes | GET | /notes | conn_mod_def::GJ2YBiZ9xRQ::jXHrS92kS7uIVvs0_hPEJg |
| Create Note | POST | /notes | conn_mod_def::GJ2YAyPuYbE::C8WQsQSXSuqq3tlsjT3KJQ |
| Delete a Note | DELETE | /v1/notes/{{noteId}} | conn_mod_def::GJ2YA4RJ2W8::zsKqWSDkRjapMsPN6IYcyg |
| Import a File URL as a Note | POST | /notes/import/file | conn_mod_def::GJ2YBXl7xKo::5gYZgitIQoCmSdefidH_Rg |
| Update a Note | PATCH | /v1/notes/{{noteId}} | conn_mod_def::GJ2YBouAkig::hD0PazF6Sl20z5_VDLQxEg |
Channels
| Action | Method | Path | Action id |
|---|
| Get a Channel | GET | /channels/{{channelId}} | conn_mod_def::GJ2X7l3ki2E::8pOK94ocRw-CsftD5_RLUw |
| List Channels | GET | /channels | conn_mod_def::GJ2X7u2BoqI::SyhnvrmMRyy6bJw5LLW9PQ |
| Create a Channel | POST | /channels | conn_mod_def::GJ2X1r6l0wA::ncAzEi3dRYO7gb_YsA9h9g |
| Delete a Channel | DELETE | /channels/{{channelId}} | conn_mod_def::GJ2X7Ttg0wY::bs1yTSqlQ9igjpJnolB6pQ |
| Update a Channel | PATCH | /v1/channels/{{channelId}} | conn_mod_def::GJ2X76XlgF8::yCScz1OKQ3Wpj9iniGGy9A |
Contacts
| Action | Method | Path | Action id |
|---|
| Get a Contact by ID | GET | /contacts/{{contactId}} | conn_mod_def::GJ2X8SY3_8I::4wjGavWuRYiPsWtXl8jmBw |
| List Contacts | GET | /contacts | conn_mod_def::GJ2X8eHoT_w::3iMyrPlCSu6vbe9ke9KT6A |
| Create Contact | POST | /contacts | conn_mod_def::GJ2X8KuNZbM::gkHoXqr8QFG_oU7Lv2o_3g |
| Update a Contact | PATCH | /v1/contacts/{{contactId}} | conn_mod_def::GJ2X8oyJ3ug::6bMdD87dR5-h0U_E4oIuEA |
Folders
| Action | Method | Path | Action id |
|---|
| Get a Folder | GET | /v1/folders/{{folderId}} | conn_mod_def::GJ2X--cwd6k::itLouci4SgapThVUC8Babw |
| Get a Folder’s Contents | GET | /v1/folders/{{folderId}}/contents | conn_mod_def::GJ2X_HH5rWo::96da8CQmQD-kLge5-uz0bg |
| List Folders | GET | /folders | conn_mod_def::GJ2X_QY68M0::DH07wIQ5SdmQ4q7S9jYMjQ |
Projects
| Action | Method | Path | Action id |
|---|
| Get a Project | GET | /v1/projects/{{projectId}} | conn_mod_def::GJ2YB4C7gsc::pqtaiXqxQNWRydBoKr1GEQ |
| List Projects | GET | /projects | conn_mod_def::GJ2YCEuQojg::iZrqpNnqSFmmYySwGwQ3cw |
| Create Project | POST | /projects | conn_mod_def::GJ2YBwL2jL0::gM2gOJYzQSSjIbRgdPNSmg |
Topics
| Action | Method | Path | Action id |
|---|
| Create a Topic in a Channel | POST | /channels/topic | conn_mod_def::GJ2X7L98x-c::Dw44rGijRuKt3tTqRx30tA |
| Delete a Topic | DELETE | /v1/channels/topic/{{topicId}} | conn_mod_def::GJ2X7emmNiQ::JCoqT1LTQcK3VcnycyT6pA |
Highlights
| Action | Method | Path | Action id |
|---|
| Get a Highlight | GET | /highlights/{{highlightId}} | conn_mod_def::GJ2X_arXaEU::IXXGNPOnRuurtcqpS33shQ |
| List Highlights | GET | /highlights | conn_mod_def::GJ2X_l8NPQg::ky3VGW4TSYSTe2Hg0zudgg |
Search
| Action | Method | Path | Action id |
|---|
| Magic Search (Search Highlights, Notes, Insights, Channels, and Themes) | POST | /search | conn_mod_def::GJ2YCNMZlhU::NOJYWcGBSkayEi1_UUipvg |
| Search Across Content Types (V2) | POST | /api/v2/search | conn_mod_def::GJ2YCWqH9J8::J9Cx4rteSwW3bP-jbhAX8A |
Tags
| Action | Method | Path | Action id |
|---|
| Get a Tag by ID | GET | /v1/tags/{{tagId}} | conn_mod_def::GJ2YCmiK3m8::1PWewdShT5egn5LYYsB0mw |
| List Workspace Tags | GET | /tags | conn_mod_def::GJ2YCvq4hJQ::IT72Jdd2SDWaiYP9E4Kc6Q |
ChannelDataPoints
| Action | Method | Path | Action id |
|---|
| Create a Channel Data Point | POST | /channels/data | conn_mod_def::GJ2X11BLCms::hC6k0StwQqqWvwNbMaKOgg |
Files
| Action | Method | Path | Action id |
|---|
| Get a File by ID | GET | /files/{{fileId}} | conn_mod_def::GJ2X-2r2TzY::j5TStOTMSzG1VGyReZn44g |
TokenInfo
| Action | Method | Path | Action id |
|---|
| Get Current Token Info | GET | /v1/token/info | conn_mod_def::GJ2X1gwwNGE::6vnQ-WpERXG4cZMA2621hQ |
ChannelTopics
| Action | Method | Path | Action id |
|---|
| Update a Channel Topic | PATCH | /v1/channels/topic/{{topicId}} | conn_mod_def::GJ2X8DI7ZHY::z536AFXWTMu9rN_Eup8XLA |
Summarize
| Action | Method | Path | Action id |
|---|
| Magic Summarize | POST | /summarize | conn_mod_def::GJ2YCewXgIU::WpC3N8nSRiyKMMY0VIQCJA |
When a call fails
The error comes from Dovetail, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.
Full catalog: https://www.withone.ai/knowledge/dovetail
Integration knowledge by One (withone.ai), licensed under One-Knowledge-1.0. Attribution must be preserved in derivative works.