operationId values — camelCase, stable identifiers. Renaming a value is a breaking change, so names only change in major releases.
New Public API endpoints automatically become MCP tools on the next deploy. There is no separate registration step.
Agents
Agents
| Tool | Description |
|---|---|
listAgents | List Agents for your team. |
createAgent | Create a new Agent. |
getAgent | Get an Agent by ID. |
updateAgent | Update an Agent’s display name or delivery settings. |
deleteAgent | Delete an Agent. Active Runs are interrupted, and its schedules and Case Triggers are removed. |
moveAgent | Move an Agent (and its connected workspace) to another team. |
getEvalScores | Get aggregate evaluation scores for an Agent’s Runs since a given time. |
getEvalRubrics | List the platform and Agent-specific evaluation rubrics for a build. |
createEvalRubric | Add one custom evaluation rubric to a build (max 5 per revision). |
replaceEvalRubrics | Replace a build’s entire custom evaluation rubric set (max 5). |
updateEvalRubric | Edit a custom evaluation rubric’s title or description. |
deleteEvalRubric | Remove a custom evaluation rubric. |
Agent Folders
Agent Folders
| Tool | Description |
|---|---|
listAgentFolders | List folders for organizing Agents. |
createAgentFolder | Create a new folder. |
updateAgentFolder | Rename or update a folder. |
deleteAgentFolder | Delete a folder. |
moveAgentsToFolder | Move one or more Agents into a folder. |
Setups
Setups
A Setup is a versioned configuration of an Agent — its AOP, Connections, and other settings.
| Tool | Description |
|---|---|
listAgentRevisions | List Setups for an Agent. |
getRevision | Get a Setup by ID. |
createRevision | Create a new Setup for an existing Agent. |
updateRevision | Update a Setup’s name or AOP. |
promoteRevision | Promote a Setup to active, making it the one used for new Runs. |
Runs
Runs
| Tool | Description |
|---|---|
listRuns | List Runs for your team. |
startRun | Start a new Run on an Agent. |
getRun | Get a Run’s current status and details. |
listRunMessages | List all messages exchanged during a Run. |
postRunMessage | Send a message to an active Run. |
respondToHumanRequest | Respond to a human-in-the-loop request from an active Run. |
stopRun | Stop an active Run. |
getRunEvaluation | Get the latest evaluation for a completed Run. |
Agent Memory
Agent Memory
| Tool | Description |
|---|---|
listAgentMemoryFiles | List the memory files an Agent has saved. |
getAgentMemoryFile | Get the contents of a single Agent memory file. |
Files
Files
| Tool | Description |
|---|---|
listFiles | List Files for your team. |
createFileUploadUrl | Generate a signed URL to upload a new file to team storage. |
getFileContent | Get the text content of a file. |
updateFileContent | Update the text content of a file. |
getFileDownloadUrl | Generate a signed download URL for a file. |
renameFile | Rename a file. |
deleteFile | Delete a file from team storage. |
Cases and Queues
Cases and Queues
Cases are individual work items routed through an Agent. Queues group related cases.
| Tool | Description |
|---|---|
listQueues | List queues for your team. |
createQueue | Create a new queue. |
getQueue | Get a queue by ID. |
updateQueue | Update a queue’s name or settings. |
deleteQueue | Delete a queue. |
listQueueAgents | List Agents attached to a queue. |
listCases | List cases in a queue. |
searchCases | Search for cases across queues. |
getCase | Get a case by ID. |
createCases | Create new cases in a queue. |
deleteCase | Delete a case. |
bulkReprocessCases | Re-process a batch of cases on a chosen Agent. |
bulkUpdateCaseStatus | Update the status of multiple cases at once. |
listCaseRuns | List Runs for a specific case. |
listCaseRunRecentMessages | Get recent messages from the latest Run on a case. |
Case Labels
Case Labels
| Tool | Description |
|---|---|
listQueueLabels | List labels defined in a queue. |
createQueueLabel | Create a new label in a queue. |
updateQueueLabel | Update a queue label’s name or color. |
deleteQueueLabel | Delete a queue label. |
listCaseLabels | List labels currently assigned to a case. |
assignCaseLabels | Assign one or more labels to a case. |
unlinkCaseLabels | Remove labels from a case. |
Case Triggers
Case Triggers
Case triggers automatically route new cases to a queue based on matching rules.
| Tool | Description |
|---|---|
listAgentCaseTriggers | List case triggers for an Agent. |
createAgentCaseTrigger | Create a new case trigger. |
getAgentCaseTrigger | Get a case trigger by ID. |
updateAgentCaseTrigger | Update a case trigger’s rules or settings. |
deleteAgentCaseTrigger | Delete a case trigger. |
previewAgentCaseTriggerConflicts | Preview conflicts before saving a case trigger. |
Triggers
Triggers
Event triggers start a Run automatically when an external event fires (for example, an email arrives, a Linear issue is created, or a file changes in Google Drive).
| Tool | Description |
|---|---|
listAgentTriggers | List the event triggers you own for an Agent. |
upsertAgentTrigger | Create or update an event trigger for an Agent. |
listAgentTriggerTypes | List the available trigger types for an Agent by Connection. |
Suggestions
Suggestions
Duvo proposes improvements to an Agent based on its past Runs — for example, adding, removing, or replacing a Connection. These tools manage the suggestions inbox.
| Tool | Description |
|---|---|
listAgentSuggestions | List an Agent’s pending or historical suggestions. |
consumeAgentSuggestion | Apply a suggestion to the Agent’s draft Setup. |
rejectAgentSuggestion | Dismiss a pending suggestion. |
Connections
Connections
| Tool | Description |
|---|---|
listIntegrations | List available connection types for your team. |
listConnections | List your team’s authorized Connections. |
getConnection | Get a Connection by ID. |
createConnection | Create a new Connection. |
updateConnection | Update a Connection’s settings. |
deleteConnection | Remove a Connection. |
getConnectionCredentials | Get credentials for a Connection. |
createCustomIntegration | Register a custom MCP server as a Connection type. |
deleteCustomIntegration | Remove a custom MCP server Connection type. |
probeMcpServer | Test connectivity to an MCP server URL. |
startNativeOAuth | Start an OAuth flow for a native provider (Gmail, Google Sheets, Outlook, etc.) and return an authorization URL. |
authorizeMcpOAuth | Start an OAuth flow for a remote MCP server using Dynamic Client Registration and return an authorization URL. |
checkMcpOAuth | Probe an MCP server URL to discover whether it supports OAuth Dynamic Client Registration. |
listPluginCatalog | List built-in plugins that can be referenced by name in a Setup’s plugins array. |
Skills
Skills
| Tool | Description |
|---|---|
listSkills | List Skills for your team. |
listSystemSkills | List system-wide Skills available to all teams. |
createSkill | Create a new Skill. |
listSkillFiles | List files in a Skill. |
getSkillFileContent | Get the content of a Skill file. |
updateSkillFile | Update the content of a Skill file. |
downloadSkill | Download a Skill as an archive. |
deleteSkill | Delete a Skill. |
listSkillAssignments | List Agents that use a Skill. |
Schedules
Schedules
| Tool | Description |
|---|---|
listAgentSchedules | List schedules configured for an Agent. |
createSchedule | Create a schedule for an Agent. |
updateSchedule | Update an existing schedule. |
deleteSchedule | Delete a schedule. |
Secrets and Logins
Secrets and Logins
| Tool | Description |
|---|---|
listSecrets | List stored secrets for your team. |
createSecret | Create a new stored secret. |
getSecret | Get a secret by ID. |
updateSecret | Update a secret. |
deleteSecret | Delete a secret. |
listCredentials | List stored Logins for your team. |
createCredential | Create a new Login. |
getCredential | Get a Login by ID. |
updateCredential | Update a Login. |
deleteCredential | Delete a Login. |
Setup Configuration
Setup Configuration
These tools attach Connections, Logins, and Secrets to a specific Setup.
| Tool | Description |
|---|---|
listRevisionIntegrations | List Connections attached to a Setup. |
attachRevisionIntegrations | Attach one or more Connections to a Setup. |
removeRevisionIntegration | Remove a Connection from a Setup. |
listRevisionIntegrationConnections | List Connection instances for an integration slot on a Setup. |
pinRevisionIntegrationConnection | Pin a specific Connection to an integration slot on a Setup. |
unpinRevisionIntegrationConnection | Unpin a Connection from an integration slot on a Setup. |
listRevisionIntegrationQueues | List queues configured for an integration slot on a Setup. |
replaceRevisionIntegrationQueues | Replace the queues configured for an integration slot on a Setup. |
getRevisionCaseQueueSetup | Check that a Setup’s case-queue slots each point at a queue. |
listRevisionLogins | List Logins attached to a Setup. |
attachRevisionLogin | Attach a Login to a Setup. |
detachRevisionLogin | Remove a Login from a Setup. |
listRevisionSecrets | List Secrets attached to a Setup. |
attachRevisionSecret | Attach a Secret to a Setup. |
detachRevisionSecret | Remove a Secret from a Setup. |
Sandboxes
Sandboxes
| Tool | Description |
|---|---|
createSandbox | Create a new sandbox environment. |
createSandboxUploadUrl | Generate a signed URL to upload files to a sandbox. |
listSandboxFiles | List files in a sandbox directory. |
uploadSandboxFile | Upload a file directly to a sandbox. |
Team
Team
| Tool | Description |
|---|---|
listMyTeams | List teams the authenticated caller can act on. |
getTeam | Get your team’s details. |
listTeamMembers | List members of your team. |
listOrgTeams | List all teams in an organization you belong to. |
listMyOrganizations | List the organizations you belong to, with your role and member count in each. Use it to check for an organization admin role before calling org-scoped tools. |
getOrgInsightsHeadline | Get org-wide headline run KPIs (totals, success rate, active agents and users) across all teams in an organization. Requires an organization admin role. |
getOrgInsightsMetrics | Get per-team run/assignment/schedule metrics across an organization. Requires an organization admin role. |
getOrgInsightsUsageChart | Get org-wide run volume over time (scheduled vs on-demand) at day/week/month granularity. Requires an organization admin role. |
getProfile | Get your user profile. |
Process Intelligence
Process Intelligence
| Tool | Description |
|---|---|
listClarityProcesses | List process captures for your team. |
listClarityProcessSummaries | List cross-process portfolio summaries (summary, SWOT, projected impact, steps). |
getClarityProcess | Get a process capture by ID. |
getLegacyClarityProcess | Get a legacy process capture by ID. |
getClarityProcessTree | Get the process landscape tree. |
getClarityProcessLandscape | Get the process landscape with nodes and links. Inaccessible processes are returned only as restricted topology using a Restricted process stub. |
generateClarityProcessLandscape | Generate a process landscape from existing team processes, with optional capture context. |
listClarityLandscapeCaptures | List the organization’s eligible process landscape captures. |
createClarityLandscapeNode | Create an area node in the process landscape. |
updateClarityLandscapeNode | Rename a landscape node or update its owner label. |
deleteClarityLandscapeNode | Delete a landscape node and its subtree. |
setClarityLandscapeNodePlacement | Move a landscape node and confirm its placement. |
proposeClarityLandscapeProcess | Propose a new process in the process landscape. |
listClarityExtraCaptureRequests | List pending extra capture requests for a process. |
listClarityProcessSnapshots | List snapshots for a process capture. |
getClarityProcessSnapshot | Get a process capture snapshot. |
listClarityProcessLinks | List process-to-process links in Clarity. Edges touching inaccessible processes are omitted. |
createClarityProcessLink | Create a process-to-process link in Clarity. |
updateClarityProcessLink | Update a process-to-process link in Clarity. |
deleteClarityProcessLink | Delete a process-to-process link in Clarity. |
listClarityProcessLabels | List your organization’s process tags with usage counts. |
createClarityProcessLabel | Create a process tag in your organization. |
updateClarityProcessLabel | Rename or recolor a process tag. |
deleteClarityProcessLabel | Delete a process tag from every process using it. |
listClarityProcessAssignedLabels | List the tags assigned to a process. |
assignClarityProcessLabels | Assign tags to a process (existing or new). |
unlinkClarityProcessLabels | Remove tags from a process. |
listAvailableClarityProcessLabels | List the organization tags available to a process. |
Duvo Pulse
Duvo Pulse
Pulse dashboards are live, agent-generated visualizations of your Duvo data.
Generation runs in the background — after creating or iterating on a dashboard, poll
getPulseDashboard until its status is completed, then read its rendered HTML.| Tool | Description |
|---|---|
listPulseDashboards | List your Pulse dashboards (your own, or those shared with you). |
createPulseDashboard | Create a dashboard from a natural-language prompt. Generation is asynchronous. |
getPulseDashboard | Get a dashboard’s metadata and generation status. |
getPulseDashboardHtml | Get a dashboard’s rendered HTML document. |
getPulseDashboardPdf | Render a dashboard to a PDF document (with its live data). |
exportPulseDashboardHtml | Render a dashboard to a self-contained static HTML snapshot (data baked in). |
sendPulseDashboardMessage | Send an instruction to iterate on a dashboard (creator only). |
stopPulseDashboardMessage | Stop an in-flight generation turn; no-op when nothing is generating (creator only). |
refreshPulseDashboard | Refresh a dashboard’s Connection-sourced data in place, keeping the layout unchanged. Runs in the background (requires edit access). |
updatePulseDashboard | Rename a dashboard (creator only). |
duplicatePulseDashboard | Duplicate a dashboard into a new idle clone (creator only). |
movePulseDashboard | Move a dashboard to another team, keeping only its latest version (Manager+ on both teams; supports dry-run preview). |
publishPulseDashboard | Share a dashboard with your team (view or edit access), or revert it to private (creator only). |
deletePulseDashboard | Delete a dashboard (creator only). |
listPulseDashboardVersions | List a dashboard’s version history, newest first (creator only). |
restorePulseDashboardVersion | Restore a previous version, making it live again (creator only). |
getPulseDashboardVersionHtml | Get a specific version’s rendered HTML document (creator only). |
listPulseDashboardMessages | List a dashboard’s chat transcript (requires edit access). |
answerPulseDashboardQuestion | Answer a pending question from the dashboard agent and resume the run (requires edit access). |
listPulseDashboardConnections | List the connections attached to a dashboard (creator only). |
attachPulseDashboardConnection | Attach one of your connections to a dashboard (creator only). |
detachPulseDashboardConnection | Detach a connection from a dashboard (creator only). |
Related
Connect to the Duvo MCP server
Set up a host before calling these tools.
Public API Reference
Exact request and response shapes for each tool.