Overview
When you create a conversation,onboardingTemplates lets you choose the WhatsApp templates it opens with, in order. A template can contain variables — an order number, a delivery date, the Contact’s first name. Some of them Bridge fills on its own for each Contact; others only you can provide, and you send them in the entry’s parameters.
The flow has three steps:
- Look up the template’s variables.
- Decide which values to send.
- Send them with
POST .../conversations.
Every check described on this page runs before anything is created. If the request is rejected, no conversation is created and no message is sent, so you can correct it and send it again.
1. Find the template’s variables
templateId accepts either the template’s id or its name. The response lists its variables:
A template that is not in your workspace returns
404 with BRIDGE_TEMPLATE_0001.
2. Decide which values to send
A value you send for a
callerMustSupply: false variable replaces Bridge’s value and is used for every Contact in the conversation.
3. Send the parameters
Each entry inonboardingTemplates takes the template’s id (as returned in step 1) and its parameters, keyed by variable key. Position in the list sets the sending order.
first_name is omitted, so each Contact receives their own first name.
Limits per template: at most 50 parameters, keys up to 128 characters, values up to 1,024 characters. Requests beyond these limits are rejected as malformed (see Errors).
Depending on how the workspace is set up, your templates replace its whole onboarding sequence or only its first template. In the second case, the rest of the configured sequence is still sent after yours.
WhatsApp value rules
WhatsApp rejects some values when the message is sent. Bridge checks them up front so the request fails while you can still fix it:
Bridge never trims or rewrites your values: what you send is what the Contact receives.
Errors
All errors use theapplication/problem+json format described in Error codes. Branch on code, never on title.
Missing values — 0604
Invalid values — 0607
reason is the first rule the value breaks:
0608 is not fixed by changing the request
BRIDGE_CONVERSATION_0608 only occurs in workspaces where your templates replace just the first template of the onboarding sequence. It means a template the workspace sends after yours needs values that only the caller can provide, and the API cannot supply them. Ask a workspace admin to change the onboarding sequence.
Malformed requests
A request that does not match the schema — more than 50 parameters, a key over 128 characters, a value over 1,024, or an unknown field — is rejected with422 without a code. It carries an errors list pointing at each problem instead:
Evaluation order
Checks run in this order, and the first error wins:- Rate limit —
429 - Request shape —
422withoutcode - Participants, brand and line —
400/409, for exampleBRIDGE_BRAND_0101orBRIDGE_PROVIDER_CHANNEL_0001 - Each template, in list order:
0601/0602→0603→0606→0605→0604→0607 0608, only in workspaces where your templates replace just the first template
Related Topics
- Create a conversation — Full request and response reference
- Error Codes — Every code, including brand and line errors
- Rate limits — Handling
429

