> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kadoa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP tools

> Every tool the Kadoa MCP server offers, who can use it, and how it behaves

Your AI tool calls these tools to work with Kadoa. To connect your AI tool first, see [Connect your AI tool](https://docs.kadoa.com/docs/sdk/mcp.md).

The tools you can use depend on your team role. Members, Admins, and Owners can use every tool except `approve_workflow`, which is reserved for Compliance Officers. Viewers and Compliance Officers otherwise have read-only access. If a tool is not available for your role, you'll receive an error message with instructions to contact your team admin.

The columns below show access for the **Member / Admin / Owner**, **Viewer**, and **Compliance Officer** roles.

## Workflows

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `create_workflow` | Create an agentic navigation workflow from a prompt, or from a published template | | | |
| `list_workflows` | List all workflows with status | | | |
| `get_workflow` | Get detailed workflow information including prompt, schedules, and notification config | | | |
| `update_workflow` | Update workflow configuration and schema | | | |
| `delete_workflow` | Delete a workflow | | | |
| `approve_workflow` | Approve and activate a workflow | | | |
| `pause_workflow` | Pause an active workflow so it stops running on its schedule | | | |
| `request_workflow_update` | Ask the agent to update an existing workflow without replacing it | | | |

To find workflows that need action, call `list_workflows` with `statusFilters: ["group:attention"]`. It includes workflows where the agent is waiting for your answer, unfinished setup, and previews to approve. Members, Admins, and Owners approve previews in the dashboard. See [Preview and approval](https://docs.kadoa.com/docs/ui/workflows/human-in-the-loop.md).

`status` and `badges[].label` use the same wording as the dashboard. See [Workflow lifecycle](https://docs.kadoa.com/docs/workflows/lifecycle.md).

## Agent

These tools control Kadoa's agent. Their names say `assistant`, but they act on Kadoa's [agent](https://docs.kadoa.com/docs/agent.md).

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `get_workflow_assistant` | Get agent lifecycle state and any pending clarification question | | | |
| `get_workflow_assistant_timeline` | Read paginated customer-visible agent messages and questions | | | |
| `answer_workflow_assistant_question` | Answer the current clarification question and request resume | | | |
| `interrupt_workflow_assistant` | Safely interrupt agent work without pausing the workflow schedule | | | |
| `resume_workflow_assistant` | Resume inactive or interrupted agent work | | | |
| `stop_workflow_assistant` | Stop active agent work without deleting the workflow | | | |
| `get_workflow_strategy` | Get the latest customer-safe build strategy when available | | | |
| `get_workflow_history` | List configuration revision history with field-level diffs | | | |

## Monitors

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `create_realtime_monitor` | Create an asynchronous realtime monitor after notification settings are persisted | | | |

## Runs and extracted data

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `list_workflow_runs` | List execution run history; filter by outcome and paginate | | | |
| `run_workflow` | Execute a workflow | | | |
| `fetch_data` | Get extracted data from a workflow (paginated, with filters and sorting) | | | |
| `export_data` | Export the full extracted dataset as a signed URL, ideal for large workflows | | | |

## Change detection

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `list_changes` | List detected data changes across real-time monitoring workflows | | | |
| `get_change` | Get detailed information about a specific detected change | | | |

## Notifications

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `list_notification_channels` | List notification channels for a workflow or workspace | | | |
| `create_notification_channel` | Create an email, webhook, Slack, or WebSocket notification channel | | | |
| `delete_notification_channel` | Delete a notification channel | | | |
| `list_notification_settings` | List event-to-channel notification mappings | | | |
| `configure_notifications` | Set up notifications for workflow events in one step | | | |
| `delete_notification_setting` | Remove a notification event-to-channel mapping | | | |

`configure_notifications` takes an `events` list. Pass `["all"]` for every event, or pick from:

| Group | Events |
| - | - |
| Runs | `workflow_started`, `workflow_finished`, `workflow_failed`, `workflow_sample_finished` |
| Data | `workflow_data_change`, `workflow_validation_anomaly_change`, `workflow_export_completed` |
| Health | `workflow_health_degraded`, `workflow_recovered` |
| Platform | `system_maintenance`, `service_degradation` |

`delete_notification_setting` takes a `settingId`. Earlier versions called this parameter `settingsId`, so a client or saved prompt that still sends the old name will fail.

## Teams and identity

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `whoami` | Show current user details and team memberships | | | |
| `team_list` | List all teams you belong to and see which is active | | | |

`whoami` shows the current account, the sign-in method, the active team, and the team's default product.

A connection is fixed to one team. To work in a different team, disconnect and reconnect, and choose that team when you sign in.

## Activity

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `list_activity` | List team-wide Activity Log events, with filters and optional change details | | | |

Use `list_activity` to answer team-wide questions such as who changed a workflow, which workflows failed, or what happened this week. Events are newest first. Use `get_workflow_history` instead when you need configuration revisions and field-level diffs for one workflow.

Filters:

* **Time:** `startDate` and `endDate`, or `relativeTime` such as `30m`, `6h`, `1d`, or `2w` counted back from now (best for "last week" questions).
* **Who and what:** `workflowId` and `userId`.
* **`eventTypes`:** `CREATED`, `UPDATED`, `DELETED`, `APPROVED`, `RUNNING`, `PAUSED`, `RESUMED`, `FINISHED`, `FAILED`, `DATA_CHANGED`, `NOTIFICATION_SENT`. Workflow run outcomes such as `FINISHED` and `FAILED` count as events.
* **`interfaces`** (where the action came from): `UI`, `API`, `SDK`, `MCP`, `CLI`, `ASSISTANT`, `SYSTEM`, `SHELLY`, `OPS`.
* **`resourceTypes`:** `WORKFLOW`, `WORKFLOW_RUN`, `DATA_QUALITY_RULE`, `DATA_CHANGE`, `NOTIFICATION_CONFIGURATION`, `NOTIFICATION_DELIVERY`, `SCHEMA`, `NOTIFICATION_CHANNEL`, `TEMPLATE`, `COMPLIANCE`, `TEAM_MEMBER`, `INVITATION`, `TEAM_API_KEY`, `TAG`, `TEAM`, `VARIABLE`, `USER`, `AGENT_SESSION`, `TRIGGER`.
* **`includeDetails`:** adds before and after values to each event. Off by default because the result is large.

## Observability

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `get_observability` | Get workflow health, throughput, recovery, and attention items for the active team | | | |

`get_observability` reports a 30-day window by default. Ask for a shorter or longer window when you need it, up to 365 days. It returns a ranked attention list for down and degraded workflows. Add `includeWorkflows` or `includeDailySeries` only when you need the larger result.

## Variables

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `create_variable` | Create a key-value variable (STRING, SECRET, OBJECT, or ARRAY) | | | |
| `list_variables` | List all variables in the current team scope | | | |
| `get_variable` | Get a specific variable by ID | | | |
| `update_variable` | Update a variable's key, value, or data type | | | |
| `delete_variable` | Delete a variable (two-step confirmation) | | | |

## Templates

| Tool | Description | Member / Admin / Owner | Viewer | Compliance Officer |
| - | - | :-: | :-: | :-: |
| `list_templates` | List all templates in the current team | | | |
| `get_template` | Get a template by ID, including all published versions | | | |
| `create_template` | Create a reusable template for workflow configurations | | | |
| `update_template` | Update a template's name or description | | | |
| `delete_template` | Delete a template (two-step confirmation) | | | |
| `create_template_version` | Publish a version with prompt, schema, and notifications | | | |
| `save_workflow_as_template` | Create a template from an existing workflow's configuration | | | |
| `list_template_schemas` | List schemas associated with a template | | | |
| `link_template_to_workflows` | Link existing workflows to a template | | | |
| `apply_template_version` | Roll out a template version to linked workflows | | | |
| `list_template_workflows` | List workflows linked to a template | | | |
| `unlink_template_from_workflows` | Unlink workflows from a template, keeping their configuration | | | |

## Creating workflows

If your request doesn't say "run once" or name a schedule, the team's default product decides. Teams that default to monitoring get `create_realtime_monitor`. All others get `create_workflow`.

`create_workflow` takes a prompt, name, URLs, and optionally a schema, plus:

| Option | What it does |
| - | - |
| `templateId`, `templateVersion` | Start from a template. The prompt then holds only instructions for this workflow. Without a version, the latest is used. |
| `updateInterval` | How often it runs, such as `DAILY`. Defaults to `ONLY_ONCE`. See [Scheduling](https://docs.kadoa.com/docs/workflows/scheduling.md). |
| `schedules` | Cron expressions, with `updateInterval: "CUSTOM"`. |
| `limit` | Maximum rows per run. |
| `tags`, `notifications` | Tags, and channels to alert when data changes. |

`create_realtime_monitor` needs at least one notification channel. It returns IDs to follow up on with the agent tools.

## Updating workflows

`update_workflow` changes settings directly: name, URLs, schema, prompt (10 to 5,000 characters), schedule, timezone, monitored fields, and row limit.

* It replaces the whole `schema` and `monitoring` value, so your AI tool reads the workflow with `get_workflow` first.
* `limit: null` removes the row limit.

To change what the agent extracts or how it navigates, use `request_workflow_update`. See [Work with the agent](https://docs.kadoa.com/docs/workflows/agent.md).

## Reading data

* `fetch_data` returns pages of up to 500 rows, 50 by default.
* `export_data` returns a signed download link for a whole run, as CSV or JSON. Pass `runId` for a specific run, or `rowIds` for up to 1,000 rows.
* `scrape` fetches one page right now as Markdown or HTML, without creating a workflow. Page text is capped at 70 KB. It only appears for teams with scraping enabled.

Both data tools take `filters`, `sortBy`, and `order`. A filter looks like `{"field": "title", "operator": "CONTAINS", "value": "Manager"}`. Several filters are combined with OR.

| Field type | Operators |
| - | - |
| Text and numbers | `EQUALS`, `NOT_EQUALS`, `CONTAINS`, `NOT_CONTAINS`, `STARTS_WITH`, `ENDS_WITH`, `GREATER_THAN`, `LESS_THAN`, `GREATER_THAN_OR_EQUAL`, `LESS_THAN_OR_EQUAL` |
| Lists | `IN`, `NOT_IN` |
| Empty values | `IS_NULL`, `IS_NOT_NULL`, `IS_EMPTY`, `IS_NOT_EMPTY` |
| Dates | `BEFORE`, `AFTER`, `WITHIN_LAST_DAYS` |

## Large results

List tools return `pagination` with `hasMore` and `next`. Your AI tool keeps calling with `next` until `hasMore` is false.

`fetch_data`, `get_workflow_history`, and `get_change` stop at about 80 KB, always on a whole row, and set `truncated: true`. To get the rest, follow `next`, narrow the filters, or use `export_data`.

| Tool | Default page size | Maximum |
| - | - | - |
| `list_workflows` | 50 | 100 |
| `list_workflow_runs` | 25 | 100 |
| `list_changes` | 25 | 100 |
| `get_workflow_history` | 25 | 50 |
| `get_workflow_assistant_timeline` | 50 | 100 |
| `list_activity` | 25 | 200 |
| `fetch_data` | 50 | 500 |

`get_workflow_history` returns field-level changes. Add `includeSnapshots: true` only when you need full before and after copies, because they are large.

## Template versions

`update_template` only renames a template or changes its description. To change its content, publish a version with `create_template_version`, then roll it out with `apply_template_version`. See [Templates](https://docs.kadoa.com/docs/templates.md).

`create_template_version` takes only the parts the version sets: `prompt`, `schemaEntity`, a schema (`schemaId` or inline `schemaFields`), `schemaValidationRules` keyed by field name, `notifications`, and `frequency`.

## Safety and privacy

* Tools that change or replace configuration, and every delete tool, are marked destructive. Many AI tools ask for your approval before calling them.
* Notification channel secrets, such as webhook URLs, tokens, and passwords, are masked in results. They never enter your AI tool's conversation.
* Results link to the matching page in the dashboard.

## Support tickets

`create_support_ticket` files a ticket for one workflow. Your AI tool should ask you first. If the workflow already has an open ticket, you get that ticket back. Filing a ticket never pauses the workflow.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.