Skip to main content

Set a trigger from an external tool

Launch a WAX automation from an external event or a third-party tool, through a webhook.

The trigger decides when a contact enters a WhatsApp or RCS/SMS flow. It's always linked to an event coming from your CRM or marketing tool. How you set it up depends on the tool: this guide covers the three possible cases.

Step 1: Find your case among the three ways to trigger a flow

Shopify, PrestaShop and Yotpo Loyalty have ready-to-use native events in WAX:

  • the events are already defined (order, status, loyalty action…);

  • no advanced technical setup is needed;

  • WAX recognizes the data automatically.

Attentive, Splio, Brevo, Batch, Adobe Campaign, Salesforce and Skeepers can trigger API calls to WAX: the setup goes through a webhook dedicated to the connected tool rather than a native event (Attentive also offers 5 native events, detailed in its guide).
​

The guide to follow depends on the tool:

These dedicated guides cover each tool's specifics (where to turn on the webhook, which fields to map, etc.), but the API works the same way whatever the tool: destination URL, authentication header and JSON format, as described in Step 2.

Klaviyo: follow the guide How do I connect Klaviyo to WAX?, then, for the webhook step by step, How do I create a webhook between WAX and Klaviyo.

If your tool isn't in either of the lists above, select WAX Webhook → Incoming Webhook. This generic option lets you:

  • connect any external tool;

  • trigger a flow from your system;

  • send the data the scenario needs.

💬 If you use a middleware such as Zapier or Make to bridge your tool and WAX, contact us through the chat at the bottom right: we'll help you with the setup.

Examples of common events

Here are examples of events that can be used as triggers, whatever your industry, as long as the event is sent to WAX through one of the methods above:

  • Opt-in / consent: added to a WhatsApp, RCS or SMS opt-in list.

  • E-commerce: abandoned cart, abandoned payment (checkout not completed), abandoned browse (visit without adding to cart), product back in stock.

  • Loyalty: tier reached in a loyalty program (points, VIP status…).

  • Other industries: application accepted, appointment confirmed, form completed, and more broadly any business event specific to your activity.

Step 2: Use the trigger's data in your flow

Once the trigger is set up, the data sent by the tool can be used to personalize your WhatsApp or RCS/SMS messages through contact attributes.

👀 The JSON format below only applies to triggers set up through a webhook (the generic WAX Webhook option, or a webhook dedicated to a tool). For a native trigger (Shopify, PrestaShop, Yotpo Loyalty), WAX already recognizes the data automatically: you have nothing to structure yourself, unless you target a specific event that WAX doesn't send natively; in that case, you can use an "Incoming Webhook".

Example: use a birthday date sent through a webhook

  • Create the attribute in WAX. The birthday_date attribute must already exist in WAX.

  • Check that your tool sends the data. Make sure it sends birthday_date in the trigger (through a webhook or event).

  • Use the attribute in your messages. Once WAX receives it, it's available as a variable in your message content.

  • Follow the expected format. For WAX to recognize and store the attribute, the trigger must send a JSON body structured like this (replace the "to fill in" values with yours; the rest, such as {{ person.phone_number|default:'' }}, is the syntax to keep as is):

{
"phone_number": "{{ person.phone_number|default:'' }}",
"attributes": {
"email": "to fill in",
"first_name": "to fill in",
"birthday_date": "to fill in"
}
}

🔐 Destination URL and authentication: for a Webhook -> trigger, open the Trigger block (Start Node) of your flow in WAX: the settings panel on the right shows the destination URL, the Authorization header and the Bearer Token, generated automatically for this flow. Copy them (clipboard icon) and paste them into your tool or system:

POST <destination URL copied from WAX>
Authorization: Bearer <Bearer Token copied from WAX>

Each flow has its own URL and token: don't reuse those of another flow. For a direct call to the WAX API (outside Incoming Webhook), the bearer token is in the settings panel and also in Settings > Organization > Integrations > API Requests.

👉 For the full technical details (field types, authentication, endpoints), see the WAX technical documentation.

As long as the attribute exists in WAX and is sent correctly by the source tool, it's automatically available in your flows: to personalize messages, build conditions and create segments based on your contacts' data.

Use the variables in WAX and turn on the flow

⚠️ Important: for the variables to appear in the WAX variable picker, the flow must be turned on, and you must already have triggered a first real call (through the API or the webhook) that sent us this data. Until a call has been received, WAX has no way of knowing which variables to offer.

Once this first call is received, the list of available variables appears in the Webhook block: click it to see the list.

In practice, WAX automatically creates a variable for each field received in that first call: there's nothing to declare manually. If you add a field later, it will appear after the next call that includes it.

You can then use them directly in your flow, like this:

Before putting a flow into production:

  • Turn on the flow, then trigger a first real call (through the API or the configured webhook) so WAX receives the data and makes the variables available.

  • Update the links and variables in WAX. In your WAX message, replace static links and fields with the right variables from the webhook. For example, in an abandoned cart or payment flow: the reminder button or link must point to the checkout_url variable (not a fixed link), and the first name shown in the message must use the first_name variable. Check every message in the flow to make sure no variable was missed.

  • Test the trigger with a real event.

  • Check that the contact enters the flow with the right data.

Related articles

Did this answer your question?