Update Automation
update_automationUpdate an existing automation rule by replacing its name, trigger, and steps. Fetch current values first to preserve desired settings.
Instructions
Update an existing automation rule. This replaces the whole automation (name, trigger, and steps), so fetch the current values with get_automation first and pass them all back with your changes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the automation | |
| steps | Yes | Ordered array of graph steps (1-20). Each step is an object: { stepId: string (unique within the array), stepType: one of "magic-prompt" | "translation" | "filter" | "composio-action" | "speak-upload", dependsOn?: string[] (stepIds this step runs after) } plus ONE payload key matching stepType: - magic-prompt -> magicPrompt: { prompt (required unless fieldIds given), title?, assistantType? ("general"|"researcher"|"marketer"|"sales"|"recruiter"|"custom", default "general"), assistantTemplateId? (required if assistantType="custom"), fieldIds?: string[] (max 10, for field extraction) } - translation -> translation: { targetLanguage: BCP-47 code, e.g. "es" } - filter -> filter: { logic: "AND"|"OR", rules: [{ field, op: "eq"|"neq"|"contains"|"ncontains"|"startsWith"|"gt"|"lt"|"exists", value? }] } - composio-action -> composio: { app, action, connectedAccountId?, argsTemplate? } (Composio is currently behind a server flag and may be unavailable) - speak-upload -> speakUpload: { folderId, sourceMode: "url"|"file", sourceUrl? (required when sourceMode="url"), name?, fieldsMap?, language? } | |
| runType | No | Run type: "instant" (default, runs on trigger) or "schedule" (cron) | |
| trigger | Yes | Trigger object. For folder-based automations: { type: "folders", folderIds: string[] } (at least one folder is required). Note: only "folders" is currently supported for multi-step automations via the API — "tags"/"keywords" are rejected, and "composio"/"webhook" triggers (provider, app, triggerSlug, webhookId, childKey, connectedAccountId) are gated by server flags. | |
| isActive | No | Whether the automation is active (defaults to true) | |
| schedule | No | Required when runType="schedule": { timePeriod: "today"|"yesterday"|"last7days"|"last14days"|"thisWeek", repeatAt: string } | |
| description | No | Optional description | |
| automationId | Yes | Unique identifier of the automation |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Response payload from the Speak AI API |