Think of webhooks a bit like digital messengers that let apps talk to each other in real-time. charles’ Incoming webhook trigger and Outgoing webhook node are powerful features that help you connect other systems to trigger a flow and share data.
Using Zaps (automated Zapier workflows), Zapier watches for new or updated data in connected apps that’s then used to do tasks in other connected apps. If we combine our webhook functionality with Zaps we have a powerful took that can use data from many systems in Journeys and vice versa.
Let’s take a look at some examples ⬇️
Use cases
Use case | Description |
Appointment reminders | You can create a Zap to send WhatsApp reminders to clients by integrating your scheduling or appointment booking tool with charles via Zapier. |
Event registration | Zapier can automatically send personalized WhatsApp messages to registrants of an event, webinar, or workshop to confirm their attendance and provide event details by connecting your event registration platform with charles. |
Follow-up surveys | Send post-purchase or post-interaction surveys through WhatsApp to gather customer feedback and improve your products or services and send that data through Zapier to Notion. |
Feedback and reviews | Zapier can trigger a Journeys flow to request feedback and reviews from customers after they've made a purchase or received a service. by connecting with your CRM or review management platform. |
New blog or content alerts | Automatically share blog posts, articles, or content updates on WhatsApp by connecting your blog or content management platform with your charles through Zapier. |
Birthday greetings and offers | Set up Zapier to send automated WhatsApp birthday greetings and special offers to customers on their special day. |
Cross-selling and upselling | Suggest complementary products or services to existing customers based on their purchase history through WhatsApp via Zapier. |
💡 In all these cases, Zapier acts as the bridge that connects charles to other apps. This exchange and automation saves time, reduces manual work and enhances efficiency.
Setup
Webhooks consist of the following:
Trigger: The event that initiates the webhook, specified with a webhook URL
Headers: Supplementary information, often related to authentication
Message (or "payload"): The data transmitted by the webhook, including event or profile details
Trigger a flow from Zapier
In this example we’re triggering a flow when a new contact is added to a Google sheet.
In charles:
Setup a new flow with an Incoming webhook trigger
Copy the Webhook URL:
3. Build and Publish the flow
In Zapier:
4. Create your Zapier workflow. For this example, we’re triggering a flow when a new contact is added to a Google Sheet:
5. Add a Webhooks by Zapier action
6. Choose POST event. Continue:
7. Paste the Webhook URL from step 2 into the URL field:
8. Set the Payload Type as json
9. Configure the Data to share with the flow
A phone number is required to trigger a flow so make sure to include one
10. Finally, under Headers add the API key with the following format:
a. Header: X-Api-Key
b. Text: copy the API key that you find in Example using cURL within the trigger in charles
11. Publish the Zap to turn it on
Trigger a Zap from Journeys
In this example we’re going to add a new line in a Google sheet with my favourite animal (🐩).
In Zapier
Create Zap and select the Webhooks by Zapier trigger
Set the Event as Catch Hook. Continue:
3. Copy the webhook URL:
In charles
4. Create your flow and add the Outgoing webhook node
5. Set the Request type to POST and paste the webhook URL from step 3 into the URL:
6. Configure the Body payload with what data you want to send to Zapier:
Variable formats
Here’s how to format the variables in the payload body.
Contacts
Variable | Description | Format |
Preferred name | Contact’s preferred name in WhatsApp |
|
First name | Contact’s first name in WhatsApp |
|
Last name | Contact’s last name in WhatsApp |
|
Nickname | Contact’s WhatsApp nickname |
|
Contact’s email |
|
Custom properties
{{flowbuilder_custom_properties.[technical_name]}}
You can find the technical name of the 🎨Custom properties in Settings.
Orders
Variable | Description | Format |
Order name | Name of the order | {{flowbuilder_trigger_order.name}} |
Order summary | Summary of the order | {{flowbuilder_trigger_order.summary}} |
Total amount | Total order amount (gross) | {{flowbuilder_trigger_order.amount_total_gross}} |
7. Preview and publish the flow
In Zapier
8. Build your Zap. For this example we’re going to add a new line to the Google sheet:
9. Publish the Zap
Helpful links