Workflow sequence
- 01Receive form webhook
- 02Validate source fields
- 03Render versioned PDF
- 04Check size and required text
- 05Store with idempotency key
- 06Link to source record
- 07Notify or repair
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": "form_to_pdf_v1",
"blocks": [
{ "id": "validate", "type": "step", "handler": "validate_form" },
{ "id": "render", "type": "step", "handler": "render_pdf", "retry": { "max_attempts": 3, "backoff": "exponential" } },
{ "id": "verify", "type": "step", "handler": "verify_pdf" },
{ "id": "store", "type": "step", "handler": "store_artifact", "idempotency_key": "{{context.form_id}}:{{context.template_version}}" },
{ "id": "link", "type": "step", "handler": "link_source_record" }
]
}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