Skip to main content

How to set up a Braze automation

Updated yesterday

Set up an Braze canvas that triggers a charles flow

This use case involves two components that need to be configured: The canvas that sends events to charles on Braze and the charles flows.

Component 1. Create a Webhook in Braze

  1. Navigate to Braze and create a new Webhook. Docs

  2. Configure the webhook connection settings as follows:

Field

Value

Webhook URL

You can find it on the “Webhooks” page of the configuration settings

Request Headers

key: api-key
value: <REPLACE with value from the configuration settings>



3. In the Request Body section of the Braze webhook template, you will define the data that gets sent to charles. This data is crucial for identifying the user and personalizing the message.


Select JSON Key/Value Pairs and define a structure of your payload with the following fields:

  • external_id: Map this to the Braze property holding the user's unique ID.

  • email: Map this to the Braze property for the user's email address.

  • phone: Map this to the Braze property for the user's mobile number.

  • event name: A name for the event that will identify it in charles (e.g., braze_order_confirmation). The event name is used for identifying the charles flow to trigger.

Those fields are used by charles to identify the end-user, for whom the charles flow needs to be triggered.

Important:
For the phone, select the property that you use for storing the mobile phone number on Braze. Phone numbers must be in the international E.164 format (e.g., +49151... or 49151...).

If a webhook is sent for a user who doesn't exist in charles yet, a new contact will be created using the phone and/or email provided.

Event & Personalization Data

  • event_name: (Required) A name for the event that will identify it in charles (e.g., braze_order_confirmation).

  • event_data: (Optional) If you enable this, charles will receive the data from the event that triggered the webhook. This is useful for personalization.

  • custom_data: (Optional) An object where you can pass any additional custom attributes for personalization (e.g., language, loyalty status).

Event data: If you enable this, charles will receive the data of the event that triggered the webhook. This data can be used for personalizing WhatsApp messages.

If you want to pass additional parameters to charles (e.g. for personalization), then you can pass them in the custom_data object via a JSON Payload or just simply using JSON Key/Value pairs by naming and mapping them with the existing fields in Braze.

{
"phone": "your_phone_number",
"external_id": "your_user_ID",
"custom_data": {
"language": "German (\"de\")"
},
"event_name": "Braze_event_name"
}

All other settings are optional.

4. - Add charles webhook node to your canvas

  1. Open the program where you would like to use the Webhook node and insert it.

  2. Double-click the Webhook node and select the required charles configuration preset from the dropdown.

If the automation is triggered by an event and the automation program is configured to “Data of the triggering event is being sent”, then the event data will be available in charles flows.

Please make sure to limit the delivery speed to 900 requests per minute. In case you need faster delivery, get in touch with customer support or your dedicated CSM. Here, you find Braze documentation on how to define the limit.

Component 2 - Setting up the charles flow

  1. Create a new flow

  2. Select Braze trigger

  3. Select an Event type.

  4. Fill in an Event name the same you've set up in the webhook.

  5. Payload configuration: Based on the properties in the event, create a payload by defining only those values that are additional, such as event or custom data in such a format, as stated below:

    Example a


Example b

4. You can test your Braze trigger and send data to charles. Docs.

Did this answer your question?