How do MyOperator Call Disposition Webhooks work—and what changed in the 2025 update?
When should I use this guide?
Review this FAQ if you need to:
- Capture disposition data in your CRM
- Migrate an old GET-based webhook to the new POST standard
- View the complete field reference, sample payload, and troubleshooting steps
1. What is a Call Disposition Webhook?
A Disposition Webhook sends real-time call and disposition information from MyOperator to your application. Anytime an agent adds a disposition to a call log, MyOperator will automatically trigger a webhook to the URL you provide.
This helps you:
- Capture call + disposition data in your own database
- Trigger CRM actions (e.g., create lead, update ticket)
- Automate downstream workflows
2. What are Webhooks used for?
Webhooks notify your system whenever something happens in your MyOperator account. Examples include:
- Incoming call
- Missed call
- Call completed
- Disposition added
The Disposition Webhook is specifically triggered after an agent submits a disposition.
3. What’s new in the 2025 webhook update? (Important)
To improve security, reliability, and standardisation, MyOperator has simplified the webhook system.
Supported Now (2025+)
- ✔ HTTPS URLs only
- ✔ POST method only
- ✔ JSON format only
- ✔ Static parameters only
Deprecated Now
- ❌ GET method
- ❌ HTTP (non-HTTPS) URLs
- ❌ Dynamic query string parameters
- ❌ XML / form-data / text payloads
- ❌ Legacy log filters (Mobile/SMS via query params)
4. When is a Disposition Webhook triggered?
The webhook fires when:
- A call is logged AND
- An agent adds one or more dispositions to the call
If multiple dispositions are added, multiple entries will appear in the _dsp array.
5. How do I add a Disposition Webhook?
Step-by-step Setup:
- Go to MyOperator Panel → API & Webhook → Calling Webhook
- Click Add New Webhook
- Select Disposition Webhook
- Enter your HTTPS endpoint URL
- POST + JSON will be pre-selected (default & mandatory)
- (Optional) Add Custom Headers
- (Optional) Add Basic Auth credentials
- Click Save
Your webhook will now start receiving disposition data.
6. What format does the webhook send?
Disposition Webhooks always send:
- HTTPS POST request
Content-Type: application/json- Payload inside the key:
myoperator
7. What security options are supported?
- ✔ Custom Headers — Useful for validating whether MyOperator sent the request.
- ✔ Basic Authentication — The webhook can include username & password using HTTP Basic Auth.
8. What were Query Parameters earlier? (And why deprecated?)
Earlier (OLD System)
You could map call-log fields to query parameters like: ?caller_number=+919876543210
Why Deprecated?
- Not secure
- Error-prone
- Confusing when mixed with POST
- Inconsistent with industry standards
Replacement: information is now sent inside the JSON payload.
9. Full Query Parameter Field Reference (for legacy understanding)
(All of these must now be read from JSON instead.)
- Caller number with country code —
_cl - Caller number without country code —
_cr - Creation date of log (epoch) —
_ts - Event of log —
_ev - Status of log —
_su - UID —
_pm.ui - Company ID —
_ci - User phone number —
_ld._rr._ct - Department name —
_dn - Recording file name —
_fn - Recording URL —
_fu - Start time (epoch) —
_st - End time (epoch) —
_et - Push timestamp —
_ms - Unique caller ID —
_ai - Location —
_se - Dispositions —
_dsparray - Duration —
_dr - Duration (minutes) —
_drm - Department ID —
_di - Custom fields —
_pmor user-defined
10. Complete Call Log Field Reference (ALL Fields Included)
Core Call Fields
_an— Anonymous User (1/0)_ai— Call Log ID_cl— Caller Number (formatted)_cr— Caller Number (raw)_cm— Contact Name_cy— Country Code_ev— Event Type_fu— Recording URL_fn— Recording File Name
Timestamps
_ts— Log timestamp (epoch)_ms— Log timestamp (ms)_st— Call start time_et— Call end time_ss— Duration (seconds)
Status & Source
_ns— Notification Status_se— Location (State, Country)_su— Call Status_so— Source_ty— Type (call/sms)
Company / Department
_ci— Company ID_di— Department ID_dn— Department Name
Duration
_dr— hh:mm:ss_drm— minutes
Reference IDs
_ri— Reference ID_ji— OBD Job ID_ivid— Public IVR ID_cri— Client Ref ID
Leg / Agent Details
_ld._rst— Ring start time_ld._rr._na— Agent name_ld._rr._id— Agent ID_ld._rr._em— Agent email_ld._rr._ct— Agent contact_ld._rr._nr— Agent contact (CC included)_ld._su— Leg status_ld._st— Leg start time_ld._et— Leg end time_ld._dr— Leg duration_ld._ds— Dial string_ld._did— Last Caller ID_ld._ac— Leg status (received/missed/transferred)
Transfer Details
_ld._tt._na— Transferred agent name_ld._tt._id— Transferred agent ID_ld._tt._em— Transferred agent email_ld._tt._ct— Transferred agent contact_ld._tt._nr— Transferred agent number (CC)
PM (Meta Fields)
ui— Call UIDis— Starredic— Is commentedia— Is archivedib— Is billablevt— View type
Disposition Fields
_dsp._lb— Disposition Level (1/2)_dsp._na— Disposition Name_dsp._ag— The agent who added_dsp._ts— Disposition timestamp
11. Troubleshooting
Webhook not firing?
- Check if your endpoint is HTTPS
- Ensure the webhook is not using deprecated settings
- Verify your server's SSL certificate
- Check response status in webhook logs
Receiving empty payload?
- You must parse the POST body, not GET
- Ensure your endpoint handles JSON correctly
Multiple dispositions?
Check _dsp array — it may contain multiple entries.
12. Migration Guide (Old → New)
Old behavior | New requirement |
|---|---|
GET method | ❌ Deprecated → Use POST |
HTTP URL | ❌ Deprecated → Use HTTPS |
Dynamic query params | ❌ Deprecated → Use JSON |
Form-data / XML | ❌ Deprecated → Use JSON |
Editable old webhooks | ❌ Locked to view-only |
To update: create a new webhook with POST + JSON + HTTPS.
13. Support
If you need help implementing or migrating your Disposition Webhook: support@myoperator.com
Keywords: MyOperator Disposition Webhook, POST JSON, webhook update 2025, call disposition API
Updated on: 27/11/2025