Current behavior
If you need production sends immediately, use the direct Transactional template sends API with an API key and idempotency key. Use inbound webhooks today to validate mapping in the browser preview and to prepare signing code for future server-side dry-run promotion.
Step 1: Create the webhook
- Open Settings → Integrations → Webhooks & API.
- Click Create webhook.
- Select an approved Utility template.
- Map the required fields.
- Paste a sample payload.
- Click Run dry-run preview.
- Create the webhook only after the preview passes.
Step 2: Prepare signed requests
You can prepare the external sender now, but Settings-created webhook configs are disabled today. A request to the generated URL will return404 webhook_not_found_or_disabled until verified promotion controls are shipped. Use the exact raw JSON body when generating the signature.
Step 3: Inspect the browser preview today
Today, the supported validation step is the builder’s browser preview. A healthy preview:- resolves recipient, template, body variables, buttons, and document headers
- rejects invalid JSON samples
- rejects unsafe mapping targets
- rejects non-HTTPS document links
- does not send a WhatsApp message
signatureValid: true, status dry_run, sanitized mapped-request diagnostics, and no raw customer payload storage.
Step 4: Move to live sends
Until live promotion is shipped in Settings/API, use the direct API for production sends:- At least one recent signed dry-run for the config has
signatureValid: true. - The dry-run resolved all required mappings.
- The selected template is still approved Utility.
- The operator has developer/admin access.
- The config-level and workspace-level kill switches allow execution.
- Run logs remain sanitized.