A Practical Guide to Webhooks, REST API, and Deal Pipeline Events for Small Business
Learn how webhooks, REST API, and deal pipeline events connect your voice AI to your CRM so no lead falls through the cracks.
The Short Answer (Read This First)
Webhooks, REST API, and deal pipeline events work together to move lead data from a voice conversation into your CRM without anyone typing a single thing. When a genie captures a lead, a webhook fires immediately. Your CRM receives that payload via a REST API endpoint. The deal pipeline event is created automatically. The lead is in your pipeline within seconds of the conversation ending.
That’s the whole system. The rest of this guide explains how to build it.
Why This Matters for Small Business
Most small businesses lose 20-30% of their inbound leads not because the conversation goes badly, but because the data never makes it into a CRM. Someone calls after hours. A genie captures their name, phone number, and what they’re looking for. And then what? If there’s no automation connecting the voice AI to your pipeline, a team member has to read through a transcript and manually create a contact record. That takes time, it introduces errors, and it often just doesn’t happen.
The combination of webhooks, REST API calls, and deal pipeline events solves this completely. It’s the plumbing that turns a conversation into a pipeline entry, automatically, every time.
This matters especially in industries where leads have a short shelf life. A home buyer who enquires at 9pm wants a callback by 8am the next morning. A commercial cleaning prospect filling out a quote form on a Friday afternoon expects to hear back Monday. If your pipeline doesn’t know they exist yet, you’re already behind.
What Each Piece Does
Before building anything, it helps to understand what each component actually does in isolation.
Webhooks: The Notification Layer
A webhook is an outbound HTTP POST request that your platform sends to a URL you specify, triggered by a specific event. Think of it as a notification with a data payload attached.
In the context of a genie, you can configure webhooks to fire when:
- A conversation ends
- A lead form is submitted
- A specific intent is detected (like “I want to book an appointment”)
- A conversation is escalated to a human
The webhook doesn’t do anything to your CRM directly. It just fires a JSON payload at a URL. What happens next depends on what’s listening at that URL.
REST API: The Action Layer
A REST API is how your systems actually do things. Where a webhook says “this happened,” a REST API call says “now do this.”
Your CRM almost certainly has a REST API. HubSpot, Salesforce, Pipedrive, Zoho, and most others expose endpoints for creating contacts, updating records, and creating deals. When a webhook fires from your genie, you need something to receive that payload and translate it into a REST API call to your CRM.
That “something” can be:
- A Zapier or Make (Integromat) workflow
- A serverless function (AWS Lambda, Cloudflare Workers, Vercel Edge)
- A custom backend endpoint you control
Deal Pipeline Events: The Sales Layer
A deal pipeline event is the record created inside your CRM that tells your sales team “someone is in the pipeline.” It typically includes a contact record, a deal stage (like “New Lead” or “Contacted”), an assigned owner, and a due date for the next action.
When this event is created automatically, your sales team wakes up to a full pipeline. They don’t spend the first two hours of their day processing enquiries. They spend it calling people who are already in the system.
How the Three Connect: A Real Workflow
Here’s a concrete example using a genie deployed for a trades business (say, an HVAC company).
A potential customer visits the website at 10:30pm. They ask the genie about getting a quote for ducted air conditioning. The genie captures their name, suburb, what they’re replacing, and their preferred callback time.
Step 1: The conversation ends. The genie’s webhook fires immediately. The JSON payload looks something like this:
{
"event": "conversation_completed",
"lead": {
"name": "Marcus Tanner",
"phone": "+61 400 000 000",
"intent": "quote_request",
"product": "ducted aircon",
"location": "Penrith",
"preferred_callback": "Tuesday 9am"
},
"conversation_id": "conv_abc123",
"timestamp": "2026-05-05T10:34:22Z"
}
Step 2: A Zapier workflow (or a custom serverless function) receives this payload at the configured webhook URL. It parses the fields and maps them to your CRM’s data structure.
Step 3: The workflow makes a REST API call to your CRM. Two calls, actually: one to create or update the contact record, and one to create the deal pipeline event with stage “New Lead” and owner set to whoever is on the callback roster for Tuesday.
Step 4: Your sales team arrives Tuesday morning. Marcus Tanner is in the pipeline. His preferred callback time is logged. The deal is already assigned. Nobody had to do a single thing overnight.
That’s the full loop. The genie talks to the customer. The webhook fires. The REST API creates the pipeline event. The sales team closes the deal.
Setting This Up: Practical Steps
1. Identify Your Trigger Events
Not every conversation needs to create a deal pipeline event. Decide which genie events should trigger a webhook:
- Lead form completed (highest value)
- Booking request submitted
- Escalation to human requested
- Specific keyword intent detected
Start with lead form completed. That’s the cleanest signal that someone wants to be contacted.
2. Configure Your Webhook in Help Genie
In Help Genie’s platform, you can configure a webhook URL at the genie level. Go to your genie’s settings, find the Webhooks section, and enter the URL that will receive the payload. This could be:
- A Zapier webhook URL (easiest for non-developers)
- A Make scenario webhook URL
- Your own endpoint (best for full control)
Test the webhook with a real conversation before connecting it to your live CRM. The last thing you want is malformed data creating garbage records in your pipeline.
3. Map Fields to Your CRM Schema
Every CRM structures contact and deal data differently. Before you write a single line of automation logic, open your CRM and list the exact field names you need to populate:
- Contact: first name, last name, email, phone, source
- Deal: name, stage, amount (if applicable), assigned owner, close date, notes
Map each genie payload field to the corresponding CRM field. This mapping work is boring. Do it carefully. Mismatched field types (sending a string to a date field, for example) will cause your REST API calls to fail silently, which means leads disappear with no error message.
4. Use Middleware for Non-Developers
If you’re not comfortable writing REST API calls directly, use a middleware tool. Zapier and Make are both capable of handling this entire workflow without code.
The basic flow in Zapier:
- Trigger: Catch Hook (Zapier provides a webhook URL)
- Action 1: Create or update contact in your CRM
- Action 2: Create deal in your CRM
In Make, you get more granular control over JSON parsing, conditional logic (for example, only create a deal if intent is “quote_request”), and error handling.
For higher volume businesses (hundreds of leads per month), custom code is worth the investment. A serverless function on Cloudflare Workers or AWS Lambda handles the payload more reliably than middleware, and it’s cheaper at scale.
5. Handle Errors Properly
Webhook delivery can fail. REST API calls can fail. Your CRM can have outages. Build a fallback.
At minimum:
- Log every incoming webhook payload to a database or spreadsheet before doing anything else
- Set up email or Slack alerts if a REST API call fails
- Use your CRM’s API retry logic if it supports it
The fallback doesn’t need to be sophisticated. Even a Google Sheet that catches every raw payload is enough to ensure no lead is permanently lost during an outage.
Deal Pipeline Events: Getting the Stage Right
One thing that trips up a lot of teams is the deal stage. If every genie lead comes in as “Closed Won,” your pipeline is useless. If every lead comes in as “New Lead,” your team has no way to prioritize.
Think about what information the genie actually collects and map that to meaningful stages:
| Genie Intent Captured | Deal Stage |
|---|---|
| General enquiry, no specifics | Cold Lead |
| Quote request with contact details | New Lead |
| Booking requested with date preference | Hot Lead |
| Existing customer needing support | Service Request |
You can encode this logic in your middleware or serverless function. Read the intent field from the webhook payload. Route to different deal stages based on what the genie captured.
This gives your sales team a pipeline that reflects reality from the moment a lead enters the system.
What Help Genie’s API Covers
Help Genie’s REST API includes 32 resources, covering everything from managing your genie’s knowledge base to reading conversation transcripts and analytics. There’s a typed TypeScript SDK for teams that prefer that workflow.
On the real-time side, webhook events give you fine-grained control over when notifications fire. You can configure multiple webhooks per genie and route different event types to different endpoints. For example, you might route lead capture events to your CRM pipeline and escalation events to a Slack channel so your team gets a real-time ping.
This flexibility means you’re not locked into a single integration pattern. You can start simple (one webhook, one Zapier workflow) and build up to a fully custom integration as your volume grows.
For businesses in trades, real estate, automotive, or any other field where leads need rapid follow-up, this is the architecture that prevents revenue from slipping through the gaps. You can read more about how this applies in specific industries on the /trades and /real-estate pages.
Common Mistakes to Avoid
Skipping field validation. If a customer doesn’t provide their email, your CRM shouldn’t error out. Make sure your mapping logic handles missing or null fields gracefully.
Using a single webhook for everything. Separate your lead capture events from your support events. Mixing them creates noise in your pipeline and makes reporting messy.
Not testing with real data. Synthetic test payloads don’t catch all the edge cases that real conversations produce. Run 10-20 live test conversations through your integration before relying on it for real leads.
Ignoring duplicate contacts. If the same customer calls twice, your CRM might create two contact records. Most CRMs have deduplication logic. Make sure you’re using it.
The Business Case in One Paragraph
A genie running 24/7 on your website can capture leads at 2am on a Sunday. A webhook fires within seconds. A REST API call creates the deal pipeline event. By Monday morning, your sales team has a full list of weekend leads with contact details, intent signals, and preferred callback times. No one had to work the weekend. No leads were lost to a missed call or an unfilled form. The pipeline works while you sleep.
That’s the point of building this properly. It’s not about technical elegance. It’s about making sure every conversation your genie has actually turns into a revenue opportunity.
Next Step
If you want to see how Help Genie’s webhook and REST API capabilities work in practice, or you want to calculate what capturing your missed leads could mean for revenue, start with the ROI Calculator or head to /explore to see how a genie could work for your business.
Help Genie Tips
Get more from your voice genie
Route urgent calls to a real person instantly
Set up smart transfer rules so your genie hands off to the right team member when it detects urgency, a VIP caller, or a question it cannot answer. Conference or warm handoff.
Cover nights, weekends, and holidays automatically
Your genie picks up every call outside business hours, qualifies leads, handles emergencies, and books appointments for the next morning. No answering service needed.
Capture exactly the info you need from every caller
Define custom fields your genie should collect: budget, timeline, property type, vehicle make, service needed. Every call ends with structured data, not a scribbled note.
Add custom pronunciations for your industry
Genie mispronouncing a brand name, medical term, or street name? Add custom pronunciations so your voice genie nails every word your callers expect to hear.
Ready to try it?
Set up a voice genie for your business in minutes.