Workflow Setup
workflow.setupProvisions one new table and routing rule, plus an optional new inbox and published logical splitter, in an existing owned project. With dry_run: true, validates ownership, table-name collisions, and splitter conflicts without creating resources; blocked previews return blockers. Both preview and apply require mcp:write. Repeating the same intent resumes saved progress.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Short statement of the requested workflow (10–2000 characters after trimming). The structured fields specify the configuration; the goal alone is not enough. | |
| inbox | No | Optional new email inbox. classify uses project routing rules; direct routes to the table created by this intent. Omit to leave existing inboxes unchanged. | |
| table | Yes | One new extraction table and its columns. An integer id primary key is added automatically. Reusing an existing table is not supported by this operation. | |
| dry_run | No | Set true to validate ownership and configuration conflicts and preview steps without creating resources. False (the default) applies the intent. Both modes require mcp:write. | |
| project | Yes | Existing owned project in which to provision this workflow. | |
| routing_rule | Yes | New classification rule targeting the table created by this intent; tableId is assigned automatically. | |
| logical_splitter | No | Optional logical splitter to create and publish for the new inbox, or for project uploads when inbox is omitted. Uses project routing rules to choose destinations. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| status | Yes | One of: preview, blocked, active, in_progress, partial | |
| blockers | No | ||
| setup_id | No |