API

Guides

Messages

Voice

WhatsApp Business

Groups

Contacts

Outbox

Account

Sender IDs

Teammate/Subaccount

Conversations

Workflows

Message Templates

Birthday Message

Opt-out

Other

Webhooks (v2)

Workflow executions

Every run of a workflow, whether started by the trigger, by Run workflow or as a dry run by Test workflow, is recorded as an execution. List executions returns them newest first, Get execution adds the payload and the full result; executions are deleted with the workflow. Texts in summary are in the language of your account.

{
	"id": "0f2d9c4e-7b1a-4e6d-8c3f-5a6b7c8d9e0f",
	"source": "test",
	"status": "completed",
	"trigger_type": "inbound_message",
	"stopped_reason": "completed",
	"version_number": 3,
	"created_at": "2026-09-08T11:05:12+02:00",
	"payload": {
		"message": { "body": "Hello", "channel": "sms", "inbox_id": 0 },
		"contact": { "phone": "32470123456" },
		"execution": { "run_count": 0 }
	},
	"result": {
		"visited_nodes": [
			{ "id": "trigger", "type": "triggerNode", "label": "Inbound message", "result": "triggered", "incoming_edge_id": null },
			{ "id": "office_hours", "type": "conditionNode", "label": "Within office hours?", "result": "matched", "branch": "true", "incoming_edge_id": "e1" },
			{ "id": "assign", "type": "actionNode", "label": "Assign to support", "result": "would_execute", "incoming_edge_id": "e2" }
		],
		"actions": [
			{
				"type": "assign_conversation",
				"summary": "Conversation would be assigned to one of alice, bob (round robin) unless it is already assigned",
				"details": { "conversation_key": "32470123456", "assign_mode": "round_robin", "only_if_unassigned": true, "status": "open" }
			}
		],
		"stopped_reason": "completed"
	}
}
Key Values Description
sourcetest / manual / an IDDry run, Run workflow, or the ID of the message, delivery report or contact that fired the trigger.
statusrunning / waiting / completed / stopped / failedwaiting = parked on a wait node; stopped = a node stopped the workflow; failed = an exception, stopped_reason holds the message.
stopped_reasoncompleted / wait / stopped / missing_trigger / loop_detected / max_steps_reachedWhy the run ended, or the error message of a failed run.
version_numberintegerThe version of the workflow that ran.
payloadobjectThe payload the run started with (Get execution only).
result.visited_nodes[]listEvery node in the order it was visited, with result: triggered; matched / not_matched (with branch); executed (real run) or would_execute (dry run); loop_detected. A split entry marks a handle with several outgoing edges.
result.actions[]listOne entry per action node that was reached: type, summary (free text) and details (the specifics, e.g. team_member and conversation_key for assign_conversation). A real run adds status: executed, skipped or failed; a dry run has no status because the action was only previewed.

SMS API

Smstools
Integrate our SMS Gateway by implementing our SMS API, and add text messaging to your platform in minutes. Free trial. SMS API
5 out of 5 based on 3302 user ratings.
SMSGATEWAYAPI API1

REGISTER NOW

Discover our SMS platform today!

REGISTER