Bindings & templates
A binding tells Envara: "When event X arrives for site Y, send WhatsApp template T to recipient R, filling each slot with these values."
Recipient strategies
customer— usescustomer.phone_e164from the payload.site_recipients— sends to all active phones in the site's recipient list (good for internal alerts).static_phone— a fixed E.164 number you type in.field_path— pulls the phone from any dotted path in the payload (e.g.data.assignee_phone).test— uses the site's test recipient.
Variable map
WhatsApp templates have positional slots like {{1}}, {{2}} in header / body / button-url. A variable map tells Envara what to put in each slot.
json
{ "header": { "1": { "source": "field", "path": "site.name" } }, "body": { "1": { "source": "field", "path": "order.customer.first_name", "fallback": "Customer" }, "2": { "source": "field", "path": "order.number" }, "3": { "source": "expression", "expr": "total.with_currency" } }, "button_url": { "1": { "source": "field", "path": "order.order_url_customer" } }}VarSpec shapes
{ source: "field", path: "...", fallback?: "..." }— pulls a dotted path from the payload.{ source: "static", value: "..." }— fixed string.{ source: "expression", expr: "...", fallback?: "..." }— built-in helper.
Expressions
customer.full_name— first + last name.items.summary_short—name x qty, name x qty…items.summary_lines— line-separated with prices.total.with_currency—AED 199.00date.today,date.now
Building bindings
You can build bindings two ways:
- From the dashboard — go to Notifications → New binding. The editor auto-completes paths based on events your site has already sent.
- Ask Eva (the AI assistant in the bottom-right) — "Set up an order.created notification for site X that sends template
order_confirmation_v1to the customer."
Template approval
WhatsApp templates must be approved by Meta before they can be sent. Drafts you create in the dashboard (or that Eva generates) live in the Templates page. Click Submit to Meta to request approval. Status (approved / rejected / paused) is polled hourly.
