Workflows API
A workflow turns rows of data into rendered, delivered documents: point it at a spreadsheet or push rows to its inbound hook, and every row becomes a branded certificate, badge or report — rendered from your template and optionally emailed to its recipient. Workflows are built in the dashboard; the API surface below is how external systems feed and observe them.Inbound hooks
Every workflow can expose an inbound hook — a public URL that accepts rows from any system that can send JSON (Zapier, n8n, your backend, a form provider):Optional HMAC signing
A URL travels through proxy logs, browser history and referrers — so for higher assurance, enable require signature on the hook. The sender must then also sign the exact raw request body:v1 = HMAC_SHA256(signingSecret, t + "." + rawBody). With signing on, a leaked URL alone is no longer enough to inject rows; the signature also rules out payload tampering and replay (timestamps outside the tolerance window are rejected).
Runs and stats
A run reports per-row progress —
counts: { total, rendered, delivered, failed } — so a caller can poll a run until rendered === total or surface partial failures precisely.
Hook management
All management endpoints authenticate with your normal API key as a Bearer token; only the inbound hook URL itself is public.