Skip to content
Beta — the Waasl API is in private beta. Endpoints marked Coming soon are designed but not live yet. Request early access

Automation

Workflows built in the Waasl console — list them, pause or publish, and trigger them from your systems.

GET/v1/workflowsAvailable
Terminal window
curl "https://api.waasl.io/v1/workflows" \
-H "Authorization: Bearer $WAASL_API_KEY"
Response 200 — Workflows
{
"data": [
{
"id": "wf_round_robin",
"name": "Round-robin assignment",
"status": "draft",
"trigger": "conversation.created",
"updated_at": "2026-10-01T08:15:00Z"
}
]
}
POST/v1/workflows/{workflow_id}/statusAvailable

Path parameters

Field Type Description
workflow_id required string

Request body

Field Type Description
status required “published” | “paused” | “draft”
Terminal window
curl -X POST "https://api.waasl.io/v1/workflows/wf_round_robin/status" \
-H "Authorization: Bearer $WAASL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "published"
}'
Response 200 — Updated workflow
{
"id": "wf_round_robin",
"name": "Round-robin assignment",
"status": "draft",
"trigger": "conversation.created",
"updated_at": "2026-10-01T08:15:00Z"
}
POST/v1/workflows/{workflow_id}/runsComing soon

Starts a workflow whose trigger is API call for one contact, passing your own variables (order number, delivery slot…). Workflow steps can read them as {{trigger.variables.order_id}}.

Path parameters

Field Type Description
workflow_id required string

Headers

Field Type Description
Idempotency-Key string A unique key (UUID recommended). Retrying with the same key returns the original result instead of acting twice. Kept for 24 hours.

Request body

Field Type Description
contact required object | object An existing contact_id, or an identity to find-or-create.
variables object
Terminal window
curl -X POST "https://api.waasl.io/v1/workflows/wf_round_robin/runs" \
-H "Authorization: Bearer $WAASL_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"contact": {
"channel_type": "whatsapp",
"identifier": "+96550001234"
},
"variables": {
"order_id": "4821",
"slot": "18:00–20:00"
}
}'
Response 202 — Run started
{
"run_id": "run_X81aa",
"status": "running"
}