Sending Customer communication by WhatsApp through Bird
Setting up Bird
Setting up WhatsApp
In Developper area > WhatsApp Channel > WhatsApp Setup, you must have a WhatsApp phone number listed and valid as shown below:
WhatsApp templates
In order to send messages to WhatsApp users, approved templates by Meta must be set up.
Go Developper area > WhatsApp Channel > Template management
We recommend creating templates related to Claire's customer communication in a dedicated folder:
Create a template inside this folder:
Choose the WhatsApp channel:
Choose the WhatsApp approved interaction type:
Choose the business account set up for WhatsApp before starting this process, and the Marketing category (important):
Choose the Text type (it is actually rich text and can contain pictures/buttons):
Give a name to the project according to the customer communication that will use the template, and the language used in the template, here we start with Online Check-in:
Go to the settings tab (main middle menu):
Go to the variables tab (right side menu) and click on Add new variable:
Enter `DealerName` as Name, `Commercial name of the dealer` as Description, `String` as type, an example value, and click on Save variable:
Redo the same for `LocationName`, `AppointmentDateTime`, and `CommunicationKey` ( the example value for that one is a random string of characters ):
Go to the Editor tab (main middle menu):
In the Overview, Content tab (right side menu):
Select Text Footer and click on the trash icon to remove it:
Then click on Add new block:
Select Image Header:
Either upload an image or enter the URL of an image that will be used as header of the message, representing the Dealership and/or workshop:
Go back and then click on Text Body:
Enter the message that will be sent, keeping in mind that a call-to-action button will later be placed below this text.
Use `xxx` as placeholders first for every value that will be replaced dynamically, to have a good overview of what the message will look like:
Select the first `xxx`, click on the { } icon in the bottom right of the editor, and select the corresponding variable created earlier, in this example the dealer name:
Proceed with the rest of the placeholders one by one, to end up with something like this:
Go back, click on Add a new block, and select Add new action button:
Choose Link Button:
Enter the text of the button, and the URL that will be opened when clicking on the button.
As done previously in the editor first use a `xxx` placeholder for what will be the communication key part of the URL, in order to ensure that there is no unwanted space in the URL.
Then as done previously, select the `xxx` placeholder, click on the { } icon on the right side of the input field, and select the CommunicationKey variable created ealier:
Go back and you should have an Overview Content looking like that:
Go to the Preview tab (main middle menu):
You should now have a preview of what your template will look like for users that will receive it:
In the top right corner, either click on Save as a draft if you are not finished yet, or Publish when you are ready to have it submitted to Meta for approval:
You can now proceed with the next templates for Diagnose overview and Repair overview communications, following the same process, with a corresponding message in each context:
And you should end up with 3 templates in the folder looking like this:
Note that these templates above have the Active status, which means they have been approved by Meta. At first they will be pending, and if refused you will have to inspect the reasons to publish an updated version for approval.
From an Active template, if you proceed to any changes, it will not impact your ongoing communication as it will keep on using the last Active version until a newer version is approved and Active.
Automated Flow
Now in order to send WhatsApp templates, go to Workflows > Process Automation > Flows:
In the top right corner click on New flow:
Select the Http endpoint trigger:
Do not enter anything in the optional Authorization and click on Next:
Click on Update test data first:
A loading icon will be displayed, awaiting a test request, enter the following text in the Try it section above Test output:
{
"dealer_name": "My Dealer Name",
"location_name": "My Location Name",
"recipient_phone_nr": "+66614255856",
"appointment_date_time": "2026-04-23T15:00:00Z",
"communication_status": 1,
"communication_key": "qwertyuiop"
}
Replace the recipient phone number with a real phone number of a smartphone with WhatsApp installed:
Click on Send and the loading icon must be replaced with a successful message before you can continue ( otherwise you will miss the variables needed later ):
Click on Save:
Click on Add action and select the conditional action:
In the configuration:
Click on Branch A title to rename it to Online Check-in and on Branch B title to rename it to Diagnose overview.
Click on Add new branch to add Branch C, and on Branch C title to rename it to Repair Overview.
You will end up with these branches (adapt if you do not send all communications types):
For each branch, click on `Click to add or edit branch conditions`, click in the variable field to select `Trigger > payload > body > communication_status`, select `(Number) equals` in the next dropdown, and enter 1 for Online Check-In, 5 for Diagnose Overview, and 9 for Repair Overview in the input field.
If you do not have communication_status available, make sure you pass the test on the Http endpoint trigger above.
You will end up with the following configuration:
On the right side, above the trash icons, click on `Close` (same line as Configuration):
Now each branch mention that it contains 0 actions:
Click on the first branch, and it will open a new view:
Click on `Add new action` and search for `Send template`:
Click on `Send template message to channel`:
Click in the `Channel` field and select `Channels > WhatsApp: +xxxxxxxxxxx`:
Click in the `Identifier Value` field and select `Trigger > payload > body > recipient_phone_nr`:
Leave the `Identifier Key` field empty and the Receiver Expression dropdown on `No receiver expression`:
Select the corresponding template in the `Studio template` dropdown, according to which branch you are currently editing.
You can see the name of the branch you are currently editing at the top if you renamed it as mentioned above.
Make sure the template selected is active.
Here we are selecting the Online check-in template:
The variables used in the selected template earlier will now appear below the language dropdown.
For each, click in the input field and select `Trigger > payload > body > variable name`.
The variable to choose is named very similarly to the input field if you followed the instruction above.
For the Online check-in example made above we end up with the following variable fields:
Click on Next:
Click on Run test:
The test must be successful to continue, and click on Save:
Hover the `Send template message channel` row to have the 3 dots icon appear on the right side of that row:
Click on it and select `Advanced configuration`:
Leave condition 1 and 2 as they are, and click on `Add item`
Select `An error to have occured between sending and delivering the message` in `Wait For` field, and `Raise an error` in `Then`:
Click on `Save and close`:
Now we will repeat the same thing for the other branches ( if you have only one branch to handle, skip this ).
Click on the branch name in the breadcrumbs header next to `Start > xxx`, and select the next template branch to configure:
The only difference might be the number of variables to fill in, depending on which variables you used in the template.
Complete the same steps, and once done, click on `Start` in the breadcrumb header (not on the back arrow):
The conditional section branches now must show 1 action each:
Click on `Save draft` if you are not finished, or `Publish draft` if you are ready to call this flow from Claire.
When clicking on Publish, a modal will ask you to describe your flow version, we recommend to enter `Customer communication v1`, and every time you publish an update, to increment the version number:
Another modal will open with the detail on how to call this flow will be displayed:
Click on the first `Copy` for the URL (not the Curl example):
Paste it somewhere for convenience, as it will be needed to call this flow from Claire, we will refer to this URL as `the flow URL` down below.
Setting up Claire
Communication sent manually by receptionists
Connect to claire as Dealer Admin (contact our support for help if necessary), and go to the Webhooks main menu:
Click on `Add Webhook`:
Enter a `Name`, select `Trigger to send customer communication by Bird WhatsApp` as `Trigger`, and paste the flow URL in `URL` ( refer to the section Setting up Bird > Automated Flow above for the flow URL ).
Check `Queued` to avoid burst of request to the Bird Flow and hitting Meta rate limit.
Select a `Default Location` if this flow URL should be triggered only for a specific location and not every location of your dealership.
Check `Enabled Webhook` and keep `Send Support Tickets` if you would like our support to be notified in case of issue with your Webhook (which would then help you).
Click on Save and communication will now be possible to send through WhatsApp via Bird!
In an appointment, you can confirm that you see the WhatsApp option in the customer communication modal and proceed to test it (note that the test feature in the Webhook page does not support testing WhatsApp yet, but will be added shortly).
Communication sent automatically
The online check-in, and optionally the Repair overview are sent automatically.
By default automated communications will not be sent by Bird WhatsApp.
To send it in automated communications go to the `Communications > Settings` menu:
Check the box to send WhatsApp for automated communications and save:
Automated communication will be sent by WhatsApp if a mobile phone is present and the customer did not choose another preferred way of communication.
Note that if an error is returned by the Bird Flow, the customer mobile phone will be blocked for further automated WhatsApp communication, and it will reset automatically if the customer's mobile phone is modified.