---
title: "Manually trigger a workflow"
method: POST
path: "/workflows/{id}:trigger"
tags: ["Workflows"]
---

# Manually trigger a workflow

`POST /workflows/{id}:trigger`

Simulate an operator-detected trigger fire. The server enqueues an
execution; when `isBlocking=true`, the response waits for the
execution to complete.

## Request body

- TriggerWorkflowRequest
  - `triggerType` 'manual' | 'fixedTime' | 'cron' | 'block' | 'event', required — Discriminator field for the Trigger union. Mirrors the proto `TriggerType` enum but without the `TRIGGER_TYPE_` prefix.
  - `triggerOutput` unknown
  - `triggerInput` InputVariables — Free-form key-value bag of values used to resolve `{{variable.path}}` template references inside trigger and node configs. Conventional well-known keys: `settings.runner` (smart wallet address), `settings.chainId` (chain id). camelCase keys; back-compat support for snake_case keys exists during the migration window.
  - `isBlocking` boolean — When true, wait for the execution to complete and return its result.

## Response `200`

Execution completed (blocking). Returned when isBlocking=true.

- TriggerWorkflowResponse
  - `executionId` string, required — ULID identifier (26-char Crockford base32).
  - `status` 'pending' | 'waiting' | 'success' | 'failed' | 'error', required — Outcome of an execution. `pending` is in-flight; `waiting` is suspended mid-workflow at an `await` node, durably parked until a signal arrives (a human approve/reject or an operator-observed chain event) or the wait times out — non-terminal, like `pending`, but distinguishable so a client can show "awaiting approval"; `success` is full success; `failed` is logical failure (e.g., a node returned an error, or a wait timed out); `error` is a system / infrastructure failure (e.g., RPC unreachable).
  - `startAt` integer
  - `endAt` integer
  - `error` string

## Other responses

- `202` — Execution enqueued (async). Returned when isBlocking=false.
- `400` — Request validation failed.
- `401` — Missing or invalid bearer token.
- `404` — Resource not found.
- `412` — Workflow is disabled or has reached its max execution count.

---

[API](https://skmtc.net/avaprotocol/apis/ava-protocol-avs-api.md) · [All operations](https://skmtc.net/avaprotocol/apis/ava-protocol-avs-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/avaprotocol/ava-protocol-avs-api/versions/231d563f2c9f/schema)
