Added

Skill Auto-Trigger Workflows

Skills can now mark linked workflows for deterministic pre-execution. When a skill is invoked, every auto-trigger workflow runs before the LLM reasons about the skill, guaranteeing its output is available as context.

What's New

  • Request field: autoTriggerWorkflowIds?: string[] on skill create (POST /api/v1/accounts/{accountId}/skills) and skill update (POST /api/v1/accounts/{accountId}/skills/{skillId}). Must be a subset of workflowIds (both must be provided together).
  • Response field: Each item in linkedWorkflows[] now includes autoTrigger: boolean, carried per-link (so the same workflow can be auto-triggered on one skill version and merely discoverable on another).
  • Validation: At save time, every required input on an auto-trigger workflow must have a matching key + compatible type on the skill's inputSchema. Mismatches fail with 400 VALIDATION_ERROR and a payload identifying the offending workflow and input.
  • Carry-forward: Creating a new skill version without workflowIds preserves the previous version's autoTrigger flags.

Example Request

Auto-trigger workflow results are injected as prepended context blocks before the LLM reads the skill's instructions — they are not exposed as template variables. Author instructions as if the workflow output is already present in the conversation.

{
  "name": "Monthly Report",
  "command": "/monthly-report",
  "instructions": "Summarize the revenue figures that appear above, grouped by month.",
  "inputSchema": {
    "month": { "type": "string", "description": "Month to report on", "required": true }
  },
  "workflowIds": ["550e8400-e29b-41d4-a716-446655440000"],
  "autoTriggerWorkflowIds": ["550e8400-e29b-41d4-a716-446655440000"]
}

Migration Notes

No changes required for existing integrations. autoTriggerWorkflowIds is optional; the default for existing links is autoTrigger: false.