With the IM Message Status webhook, you always know the exact moment a message is sent, delivered, or read. This helps you track message journeys from end to end, measure customer engagement, and trigger actions in real time.
What is the IM Message Status Event ?
The IM Message Status Event is triggered whenever the status of an individual message changes. It tells you:
- When a message moves from sent to delivered
- When a customer reads your message
- The previous status and the new status of the message
- The exact timestamp when the status changed
Event type: IM_Message_Status
This webhook is especially useful for monitoring delivery issues, building engagement insights, and capturing message lifecycle data across all IM channels.
Sample Payload
- [{
- "payload": {
- "messageOldStatus": "SENT",
- "messageNewStatus": {
- "updatedTime": "2025-10-09T07:27:19.394Z",
- "status": "DELIVERED"
- },
- "messageId": 50007000000006017,
- "sessionId": 50007000000004136,
- "channelId": 50007000000004080
- },
- "eventTime": "1751022087019",
- "eventType": "IM_Message_Status",
- "orgId": "106553778"
- }]
What can you achieve with the IM Message Status webhook
Stay fully informed about how your messages perform. With this webhook, you can:
- Track message delivery and read rates in real time
- Identify delivery issues early
- Measure customer responsiveness across channels
- Build analytics dashboards for message performance
Steps to set up your webhook for IM Message Status updates
- Navigate to Setup > Automation > Webhooks.
- Click Create Webhook.
- Select the IM Message Status event.
- Enter your Webhook URL.
- Save and test the webhook.
Each webhook event provides the full context of the message status change.
Payload field description
Field
| Description
|
messageOldStatus
| The previous status of the message.
|
messageNewStatus.status
| The updated status of the message.
|
messageNewStatus.updatedTime
| The exact time when the status changed.
|
messageId
| The unique identifier of the message.
|
sessionId
| Conversation or session ID the message belongs to.
|
channelId
| ID of the channel where the message was sent.
|
eventTime
| Timestamp of the event.
|
eventType
| Type of webhook event.
|
orgId
| Your Zoho Desk organization ID.
|
Status values cheat sheet
Below are all possible message statuses and what they indicate.
Message Status
Status
| Description
|
SENT
| Message is successfully sent to the end user.
|
DELIVERED
| Message is delivered to the end user.
|
READ
| Message is read by the end user.
|
Practical use cases
- Delivery monitoring: Get notified if messages are stuck in the SENT state for too long.
- Customer engagement tracking: Log every READ event to measure customer interest.
- Smart follow ups: Trigger follow up tasks when messages are delivered but not read.
- Channel performance analytics: Report delivery and read ratios across WhatsApp, Instagram, Facebook, and chat channels.
Best practices
- Keep delivery and read logs for analytics.
- Test message transitions in sandbox environments.
- Secure your webhook endpoint with authentication and logging.
Troubleshooting and FAQ
Why am I not receiving messages for status events?
Check if your channel supports message status updates and confirm that the webhook is enabled and reachable.
Why is the event data incomplete?
Ensure message status callbacks are supported for the integration you are testing.
Does this work with WhatsApp, Facebook, or Instagram?
Yes, message status updates are supported for channels that provide delivery and read receipts.