Workflow sequence
- 01Receive message and attachments
- 02Deduplicate by message ID
- 03Extract supplier and line items
- 04Validate totals and currency
- 05Request review when uncertain
- 06Write rows with source links
Sequence definition
Use this definition as a starting point. Replace handlers with your HTTP workers, validate provider responses, and add credentials through the credential store rather than embedding secrets.
{
"id": "whatsapp_quotes_to_excel_v1",
"blocks": [
{ "id": "dedupe", "type": "step", "handler": "deduplicate_message" },
{ "id": "extract", "type": "step", "handler": "extract_quote" },
{ "id": "validate", "type": "step", "handler": "validate_quote_totals" },
{ "id": "confidence_gate", "type": "router", "routes": [{ "condition": "steps.extract.output.confidence < 0.9", "blocks": [{ "id": "review", "type": "human_review", "timeout": "P1D" }] }] },
{ "id": "write", "type": "step", "handler": "append_excel_rows", "idempotency_key": "{{context.message_id}}" }
]
}Production controls to keep
✓ Stable idempotency keys around external writes
✓ Explicit validation before the success state
✓ Bounded retries with provider-aware backoff
✓ Searchable source and destination identifiers
✓ A named owner for exhausted retries
✓ A replay test using duplicate input