Create Automation
create_automationCreate an automation rule with a trigger and ordered steps (magic prompt, translation, filter, upload) for processing transcriptions.
Instructions
Create a new automation rule using the V2 graph model (trigger + ordered steps). Fetch valid step/trigger options with list_automation_triggers / list_automation_actions if unsure.
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 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Response payload from the Speak AI API |