This guide shows the Option A receipt pattern: the WhatsApp template body contains receipt details and a dynamic URL button opens the hosted receipt page.
Use this pattern when your external system already hosts receipt pages and you want a small, expected Utility message in WhatsApp.
Before you start
You need:
- A connected WhatsApp channel in Switchbord.
- A Switchbord API key for the workspace if calling
POST /api/v1/template-sends directly.
- An approved Utility template with a URL button, for example
payment_receipt_link.
- A public HTTPS receipt page such as
https://pay.example.com/receipts/R-1001.
Do not use this flow for promotional messages. Utility templates should be tied to customer-expected events such as payment, instalment, booking, refund, or document availability.
Template shape
A typical receipt-link template contains body variables and a URL button:
The button variable is the dynamic suffix. If the base URL is https://pay.example.com/receipts/, send only R-1001 as the variable.
Direct API send
Expected response:
Inbound webhook builder
If the external system can call a webhook but cannot store a Switchbord API key, configure a workspace inbound webhook instead:
- Open Settings → Integrations → Webhooks & API.
- Create a new inbound webhook.
- Select the approved
payment_receipt_link Utility template.
- Map the required fields:
- Paste a sample payload and run the dry-run preview.
- Create the webhook. The endpoint stays disabled/dry-run until a future run-log verified promotion flow enables live execution.
Sample payload:
Signing inbound webhook requests
Webhook requests use timestamped HMAC signatures. The secret is shown only once when the webhook is created.
Never send the raw webhook secret as a header, query parameter, or JSON field.
Rollout checklist
- Run the browser dry-run preview and verify the mapped request.
- Do not expect signed endpoint run logs yet for Settings-created configs; they remain disabled until live promotion ships.
- Confirm the template is approved Utility in the same workspace.
- Use stable idempotency keys from the upstream event id.
- Keep receipt URLs HTTPS-only and avoid embedding long-lived private tokens.
Troubleshooting