⚡ Quick answer -
Use it when you want every inbound/outbound call to appear in FreshSales as an Activity, automatically mapped to the correct contact/owner—without manual CSV uploads or data mismatches.
Integrating MyOperator with FreshSales lets you:
• Auto-log every call (duration, recording URL, agent) as a FreshSales Activity.
• Auto-create contacts if the caller isn’t found.
• Keep user ownership in sync across both platforms.
Requirement | Where to find it | Minimum Requirement |
MyOperator admin login | MyOperator Panel - API & Webhooks - All Integrations | Admin (enable webhooks & get keys) |
MyOperator plan | On MyOperator Panel | SUV and Above (New Plans) |
Company ID | MyOperator → API & Webhooks → Calling APIs → Company ID | ____ |
FreshSales domain | Browser URL | ____ |
FreshSales API token | FreshSales → Profile → Settings → API Settings → Click Generate key → Copy. | ____ |
IVR ID | MyOperator → Call → Outgoing → Campaign | ____ |
Secret Key (64 chars) | MyOperator → API & Webhooks → Calling APIs → Secret key | ____ |
After-Call Webhook | MyOperator › API & Webhook › Calling Webhook | ____ |
Click-to-Call (optional) | MyOperator › Call › Outgoing | ____ |
Emails match | Freshsales › Admin › Users MyOperator › Manage › Users | ____ |
Dialing mode | Serial-wise or Balanced only | ____ |
Alt text: Video demo
Alt-text: Sequence diagram showing Admin configuring integration and subsequent webhook-driven call logging.
Alt text: MyOperator Integration page
{
"company_id": "YOUR_COMPANY_ID",
"freshsales_domain": "acme.freshsales.io",
"freshsales_api_token": "********",
"ivr_id": "IVR123"
}
Alt text: Filling out the integration form
application/jsonAlt text: Adding and configuring a new webhook
https://connect.myoperator.com/phonebridge_user.Run this again whenever:
• You add/reactivate a FreshSales user.
• You bulk-edit user emails in FreshSales.
Event | MyOperator action | Freshsales result |
Incoming — match | Log Call Activity (agent, duration, recording URL) | Activity appended to Contact |
Incoming — no match | Create Contact → log activity | New Contact + activity |
Outgoing (Click-to-Call) | Log outbound Call Activity | Activity added to the target |
Missed call* | Log Missed Call Activity if toggle is on | Activity logged or skipped |
Expected: Activity appears ≤ 5s and contains type, direction, agent, duration, disposition, and recording URL.
Field | Value / Rule |
Contact Owner | The customer who has picked up the call or missed the call, the last agent will be the contact owner. If there is no owner found with an email ID, the default owner (1st user of Freshsales) will be assigned. |
Mobile | 10-digit caller’s number will be added. |
10-digit caller’s number@ivr.com |
Field | Value / Rule |
Call From | 10-digit Caller’s number |
Related to | Existing/New Contact |
Call Type | Inbound/Outbound |
Description | Department Name: [Department Name], Status of call: [Status of Call], Call duration: [Duration of call], Call start time: [Start time of Call], Call end time: [End time of call], Recording URL: [Recording URL if available], UID: [Unique ID of call], Agent: [MyOperator’s agent name], Event: [Incoming/Outgoing] |
Pitfall | Result | Quick fix |
Emails don’t match | The owner shows “Unknown User”. | Edit email in either system. |
Dial mode = Simultaneous | Leads attached to the wrong owner / not logged. | Use Balanced / Serial-wise. |
Webhook disabled | No call logs. | Re-enable After-Call Webhook. |
Token expired | 401 errors on API calls. | Regenerate the token in Freshsales. |
Rate-limit 60 req/min | 429 errors; logs delayed. | Throttle or request limit increase. |
After a test call, you should see in FreshSales → Activities:
✔ Subject: “Inbound Call from 9876543210”
✔ Fields populated per table below
✔ Owner = agent email that answered
✔ Recording URL present (if recording enabled)
Field | Example | Notes |
Call From | 9876543210 | +91 not required |
Call Type | Inbound | Outbound if the agent dialled |
Call Start Time | 2025-02-09 14:03:12 | Timezone = org default |
Duration | 00:01:30 | HH:MM:SS |
Agent | A. Gupta | From the MyOperator user map |
Symptom | Likely cause | Fix |
“Invalid Company ID” | Typo | Copy again from API & Webhooks |
Success banner, but no Activity | Webhook not added | Re-add URL in section 5 |
Wrong Activity owner | Email mismatch | Align emails, resync users |
500 error on webhook | MyOperator API outage | Wait 5 min, retry; then email support@myoperator.com with log ID |
Keywords: FreshSales–MyOperator integration, AfterCall webhook, phonebridge_user sync, call activity logging, CRM user mapping