Inbound Webhook Trigger
The Inbound Webhook Trigger activates whenever an HTTP POST request is sent to the unique URL generated by this trigger.
How It Works
1️⃣ When you add an Inbound Webhook Trigger to a workflow, Exabloom automatically generates a URL endpoint.
2️⃣ This endpoint only accepts POST requests with a structured JSON payload.
3️⃣ The payload must contain at least:
- First Name – Every contact must have a first name.
- Phone or Email – Used to identify if the contact already exists in Exabloom.
📌 IMPORTANT: Phone Number Format
When sending a phone number to Exabloom, it MUST always include:
✔ Country Code
✔ National Number
✔ No Whitespaces
✅ Valid Phone Numbers:
{
"firstName": "Andy",
"phone": "659111111"
}
{
"firstName": "Andy",
"phone": "+659111111"
}
❌ Invalid Phone Numbers:
{
"firstName": "Andy",
"phone": "9111111"
}
// ❌ Missing country code
{
"firstName": "Andy",
"phone": "65 9111111"
}
// ❌ Contains whitespace
Valid vs. Invalid Payloads
✅ Valid Payloads:
{
"name": "Andy",
"phone": "6591111111"
}
{
"firstName": "Andy",
"lastName": "Tee",
"phone": "6591111111"
}
{
"name": "Andy",
"email": "andy@example.com"
}
❌ Invalid Payloads:
{
"somename": "Andy"
}
// ❌ Missing phone or email
{
"phone": "6591111111"
}
// ❌ Missing name or first name
Configuring the Webhook Trigger
Step 1: Send a Sample Request
Before using the webhook in a workflow, Exabloom needs to recognize the payload schema.
1️⃣ Send a sample POST request containing the actual payload structure.
2️⃣ Click "Click here to refresh" next to "Mapping Reference" in the trigger settings.
3️⃣ Once refreshed, you’ll see your test request listed. Select it to view the payload details.
💡 This step ensures that downstream actions recognize the payload fields.
Step 2: Identifying the Contact
Every workflow must be linked to a contact. Since the inbound webhook doesn't inherently know which contact it's dealing with, a "Find Contact" action is automatically added below the webhook trigger.
In the "Find Contact" step:
- Set Primary Identifier (e.g.,
Phone) - Set Secondary Identifier (e.g.,
Email)
💡 This tells the workflow to first search by phone, then by email if no phone match is found.
Handling Contact Matching Scenarios
1️⃣ If Contact is Not Found:
- Choose between "Stop Workflow" or "Create New Contact" (default).
- If creating a new contact, ensure First Name and Phone/Email are mapped.
2️⃣ If Contact is Found:
- Choose between "Update Contact", "Do Not Update Contact", or "Stop Workflow".
Once configured, the workflow will now associate the webhook request with a specific contact in Exabloom.
Step 3: Using Additional Data in the Payload
You can include extra information in the payload, such as lead source, preferred location, or any other relevant data.
Example: Payload with Extra Information
{
"firstName": "Andy",
"lastName": "Tee",
"phone": "6591111111",
"source": "Facebook Ads",
"preferredOutlet": "Orchard"
}
Using Additional Data in the Workflow
- Map "source" to a custom field in the lead record (e.g., "Lead Source").
- Map "preferredOutlet" to track the contact’s preferred location.
This ensures that relevant details are captured and utilized throughout the workflow.
FAQs
Why is my webhook failing with phone number errors?
Phone number formatting is one of the most common issues when using webhooks with Exabloom. Here's what you need to know:
Exabloom phone number requirements:
- Must include country code (e.g., "65" for Singapore)
- Must include full national number
- No spaces or special formatting allowed
Common problems and quick fixes:
Problem: Form collects phone numbers without country codes
- ✅ Solution: Add logic to prepend the appropriate country code before sending to Exabloom
- Example: Transform
91234567→6591234567for Singapore numbers
Problem: Form collects phone numbers with spaces
- ✅ Solution: Remove all spaces from the number
- Example: Transform
65 9123 4567→6591234567
How to identify and fix Singapore phone numbers:
-
8 digits starting with
8or9? → Add65prefix- Example:
91234567→6591234567
- Example:
-
10 characters starting with
658or659→ Already correct format- Example:
6591234567is already valid
- Example:
-
11 characters starting with
+658or+659→ Remove the+symbol- Example:
+6591234567→6591234567
- Example:
How can I clean my phone data before sending it to Exabloom?
You have several easy options:
-
Use integration platforms:
- Make.com: Use text functions to reformat numbers
- Zapier: Use formatter steps to standardize phone data
-
Best practice: Update your forms to validate phone numbers properly:
- Consider adding country code dropdown menus
- Use form plugins that format international numbers automatically
Remember: Clean data going in means better automation results! Exabloom works with any tool you use for data preparation - just make sure the phone numbers arrive in the correct format.
How can I prevent duplicate workflow entries for the same contact?
If you want to ensure each contact only enters your workflow once (preventing duplicates):
- Navigate to Workflow > Settings > Enrollment Criteria
- Find the toggle for "Allow contact to enter workflow more than once"
- Switch this toggle to the OFF position
- Save workflow
This setting is particularly useful for:
- One-time onboarding sequences
- Special offer campaigns that should only be sent once
- Avoiding duplicate messages to your contacts
💡 Note: This setting takes effect immediately for all new contact entries after you save.
Final Thoughts
✅ The Inbound Webhook Trigger listens for HTTP requests.
✅ A valid POST request must contain First Name + Phone/Email.
✅ The "Find Contact" step ensures every workflow execution is tied to a contact.
✅ Phone numbers must always include country code, national number, and have no spaces.
✅ Additional data can be mapped to enrich lead records.
By properly configuring this trigger, you can seamlessly integrate external systems with Exabloom and automate lead/contact management efficiently! 🚀