Execution-level metrics
Each workflow execution record tracks:| Field | Description |
|---|---|
status / status_text | Current state of the execution (pending, running, completed, failed, cancelled). |
scheduled_at | When the execution was scheduled to run. |
executed_at | When the execution actually started. |
completed_at | When the execution finished. |
retry_count / max_retries | How many retries have occurred and the configured limit. |
error_message | Reason for failure when status is failed. |
Email engagement per execution
When a workflow step dispatches an email, the execution record includes:email_opened: whether the recipient opened the email.email_opened_at: timestamp of the open event.email_clicked: whether the recipient clicked a tracked link.email_clicked_at: timestamp of the click event.
null when the email has not yet been delivered or engagement data is unavailable.
Workflow counts overview
Use theGET /client/workflows/counts endpoint to get aggregate execution counts across all workflows. Useful for a high-level performance dashboard.
Interpreting workflow performance
High failure rate on a workflow- Review entry criteria: contacts may be entering without required data.
- Check template readiness: use
GET /client/workflows/{id}/template-readinessto confirm the template is valid and published. - Review suppression rules and send window configuration.
- Compare with campaign open rates for the same segment.
- Review send timing via
preferred_send_hourandsend_time_modein the workflow customization.
- Verify the workflow is enabled.
- Check that the triggering event is being received correctly: see Events.
- Check send window settings: see Send windows and timezones.
Retry behavior
Failed executions are retried up tomax_retries times. After exhausting retries, execution enters a terminal failed state. You can trigger a manual retry via the API with POST /client/executions/{id}/retry.

