Short answer: in all three CRMs the pattern is the same. Our signed call.missed webhook goes to a
small integration (your middleware, a Zapier or Make scenario, or a service we set up) that searches the
CRM by phone, then creates a Lead (Zoho, Salesforce) or Contact (HubSpot) with the caller's phone
and your number label as the source. There is no marketplace app to install. If you want it done for
you, we connect it, usually within a few days.
Get a Missed Call Number and tell us which CRM you use.
What You Are Sending
Each missed call produces one event:
| Field | Meaning | Typical CRM use |
|---|---|---|
data.from |
Caller's number, +91 E.164 | Phone or Mobile field |
data.phone_number_name |
Your label for the number | Lead source or campaign |
data.to |
Which of your numbers was called | Optional custom field |
data.call_sid |
Unique call ID | Idempotency key in your integration |
timestamp |
Event time (UTC) | Enquiry date |
There is no name, email or message, because the caller only dialled. Plan for a placeholder name (for example "Missed call lead") where the CRM requires one, and fill the real name after the callback.
Three Ways to Set It Up
| Route | Effort | Good for |
|---|---|---|
| We set it up for you | Low for your team; usually within a few days | Most businesses |
| Webhook middleware (Zapier, Make, n8n) | Low to medium | Simple flows, low volume |
| Your own service using the CRM's API | Medium | Teams with developers, high volume, custom rules |
Whichever route, the integration should verify the X-Edesy-Signature HMAC, ignore duplicate
call_sids, and search by phone before creating a record. See
missed call webhook best practices.
Zoho CRM
Object: Leads module. Missed call callers are unqualified, which is exactly what Leads are for; they convert to Contacts, Accounts and Deals after qualification.
Fields to set:
| Zoho field | Value |
|---|---|
| Last Name (required) | "Missed call lead" or the phone number until you know the name |
| Phone or Mobile | data.from |
| Lead Source | A picklist value such as "Missed Call", or phone_number_name if you add those values |
| Description or a custom field | Number called and time |
| Lead Owner | Via your assignment rules |
Typical setup: the integration calls Zoho CRM's REST API to search Leads by phone, then inserts or updates. Zoho's API supports upserts with a duplicate check on chosen fields, which suits phone-keyed leads. Assignment rules and workflow rules in Zoho can then create a "call back" task for the owner.
Tips: add one Lead Source picklist value per campaign number so Zoho reports show campaign performance without custom work. See missed call to Zoho CRM.
Salesforce
Object: Lead. Use Campaign and Campaign Member if you already run campaign attribution in Salesforce.
Fields to set:
| Salesforce field | Value |
|---|---|
| LastName (required) | Placeholder until the callback |
| Company (required on Lead by default) | Placeholder such as "Unknown" if B2C |
| Phone or MobilePhone | data.from |
| LeadSource | "Missed Call" or the campaign label |
| Description or custom fields | Number called, time, call_sid |
| OwnerId | Via lead assignment rules |
Typical setup: the integration authenticates as a connected integration user and calls the Salesforce REST API to query Leads by phone and create or update. Assignment rules route the lead; a Flow can create a callback task or notify the owner. For campaign attribution, add the lead to the matching Campaign as a Campaign Member.
Tips: configure a matching rule and duplicate rule on phone so repeat callers do not create clutter. Phone formats vary in older data, so normalise to the +91 format in the integration before searching. See missed call to Salesforce.
HubSpot
Object: Contact is the central record in HubSpot. Set lifecycle stage to lead. If your team uses HubSpot's Leads object in the sales workspace, create a Lead associated with the Contact as well.
Fields (properties) to set:
| HubSpot property | Value |
|---|---|
| Phone number or Mobile phone number | data.from |
| First name / Last name | Optional placeholder |
| Lifecycle stage | Lead |
| A custom "Missed call campaign" property | phone_number_name |
| Contact owner | Via workflows or your rotation |
Typical setup: HubSpot de-duplicates contacts primarily by email, which missed call leads do not have. The integration therefore searches contacts by phone through the CRM API first, then updates the existing contact or creates a new one using a private app token. A HubSpot workflow can create a call task for the owner.
Tips: use a dedicated property for the campaign label rather than overwriting HubSpot's own source properties, which HubSpot sets from its own tracking. See missed call to HubSpot.
Side-by-Side
| Zoho CRM | Salesforce | HubSpot | |
|---|---|---|---|
| Record to create | Lead | Lead (+ Campaign Member) | Contact (+ Lead if used) |
| Phone field | Phone / Mobile | Phone / MobilePhone | Phone number / Mobile phone number |
| Source field | Lead Source picklist | LeadSource picklist | Custom property |
| Required placeholders | Last Name | LastName, Company | None strictly |
| Duplicate handling | Search or upsert on phone | Matching and duplicate rules, or query first | Search by phone first |
| Follow-up automation | Workflow rules, assignment rules | Flow, assignment rules | Workflows |
Repeat Callers
The same person may give several missed calls. Each is a new event with a new call_sid. Decide your rule:
- Attach: find the existing record by phone, add a note or task, keep one lead. Most teams prefer this.
- New lead per campaign: if the second call is to a different campaign number, create or tag separately so attribution stays correct.
No CRM Yet?
If you are choosing a CRM mainly to work missed call leads, Edesy CRM has a free plan and accepts missed call leads through its custom webhook lead source with a one-time field mapping. See missed call to CRM.
Pricing
The missed call number is ₹499 per month plus ₹0.30 per webhook event delivered, or ₹1,498 per month for the unlimited plan (all plus GST). Events that cannot be delivered after retries are not charged. Your CRM licence is separate.
Testing the Integration
Before printing the number on anything, run these checks with whoever set up the integration:
- Send a test event from the missed call portal and confirm the integration accepts it.
- Give a real missed call from a phone that is not in the CRM. A new record should appear with the right phone, source and owner.
- Give another missed call from the same phone. Your repeat rule should apply (note or task, not a duplicate record).
- Replay the first event from the delivery log. Nothing new should be created, because the
call_sidis the same. - Take the integration offline for a few minutes, give a missed call, bring it back, and confirm the retry arrives.
- Check that a report filtered by the source value shows the test leads, then delete them.
These six checks catch nearly every problem that otherwise shows up during a live campaign.
Get It Set Up
Get a Missed Call Number, then tell us your CRM, the object and fields you want, and your duplicate rule. We connect Zoho CRM, Salesforce, HubSpot, LeadSquared or an in-house CRM for you, usually within a few days. All options are on the CRM integration page.