trigger-cloudflow-webhook
dci trigger-cloudflow-webhook <flowId> [body]
Triggers execution of a published CloudFlow whose first node is a webhook trigger. The request body must be valid JSON and is passed to the flow as webhook payload data.
flowId— The unique ID of the published CloudFlow to trigger.
Pass the request body as name: value arguments or pipe JSON on stdin — see Command structure.
Triggering a flow runs real automation, so the CLI classifies this command as destructive:
interactive terminals show a confirmation prompt, scripts must pass --yes, and --dry-run
prints a local preview without sending anything — see the CLI guide's
Destructive commands.
The flow must be published. To exercise an unpublished draft, use
dci test-run-cloudflow-flow <flow-id> instead.
Examples
# Preview the request locally without starting a run.
dci trigger-cloudflow-webhook <flow-id> --dry-run event: deploy, environment: production
# Start a run in a script, with the webhook payload read from a file.
dci trigger-cloudflow-webhook <flow-id> --yes < payload.json
# payload.json — any JSON object; it reaches the flow as the webhook payload
{"event": "deploy", "environment": "production", "service": "checkout"}
# Response: {"executionLink": "https://console.doit.com/..."} (HTTP 202)
# Open the execution in the Console straight from the response.
dci trigger-cloudflow-webhook <flow-id> --yes event: deploy --output json | jq -r .executionLink
Request
Content-Type: application/json
Example body (JSON)
{
"key": "value"
}
Raw JSON schema
{
"type": "object",
"properties": {},
"additionalProperties": true,
"description": "Arbitrary JSON payload delivered to the webhook trigger node."
}
Output
Accepted - CloudFlow execution started.
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
executionLink | string | Console URL for the started CloudFlow execution history entry. |
Raw JSON schema
{
"type": "object",
"required": [
"executionLink"
],
"properties": {
"executionLink": {
"type": "string",
"description": "Console URL for the started CloudFlow execution history entry.",
"example": "https://console.doit.com/customers/customer-id/cloudflow/history/execution-id"
}
}
}
Errors
On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.
HTTP status to exit code mapping
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 400 | 30 | VALIDATION_ERROR | The arguments or request body were rejected. Review the command's flags and payload. |
| 401 | 10 | AUTHENTICATION_FAILED | Not signed in, or the API token is invalid. Run dci login or check DCI_API_KEY. |
| 403 | 11 | PERMISSION_DENIED | The DoiT user or the active customer context does not have access. |
| 404 | 20 | RESOURCE_NOT_FOUND | The requested resource does not exist. Check the identifier argument. |
| 409 | 21 | RESOURCE_CONFLICT | The operation conflicts with the resource's current state. |
| 500 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |