Event Endpoint — Webhook Payload Specification
When an event endpoint subscription is active, the system sends an HTTP POST to the subscriber's URL each time a matching event occurs. This document describes the payload shape for every event type.
HTTP request details
Detail | Value |
|---|---|
Method | |
Content-Type | |
URL pattern | |
Headers (always present):
Header | Description |
|---|---|
| |
| The event endpoint path (e.g. |
Headers (conditional on auth config):
Header | Condition |
|---|---|
| Basic Auth enabled on endpoint |
| X-Hub-Signature enabled on endpoint |
Custom headers may also be configured per endpoint.
Base payload: Every event payload includes:
{"orgId":1234}
Common models
Reusable object shapes referenced across multiple event types. All fields marked read-only are system-generated and cannot be set by the caller.
UserModel
Base model for all user types.
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| string | |
| long | read-only, millis since epoch |
| string | read-only, ISO 8601 |
| string | |
CustomerModel
Extends UserModel with customer-specific fields.
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| string | |
| long | read-only |
| string | read-only, ISO 8601 |
| string | Always |
| CustomerChannelModel[] | |
| CustomerTagModel[] | |
| boolean | |
| long | read-only |
| string | read-only, ISO 8601 |
| CustomerIdentityModel[] | |
| MemberContactListModel[] |
CustomerChannelModel
Field | Type | Notes |
|---|---|---|
| string | |
| string | Phone number or channel identifier |
CustomerIdentityModel
Field | Type | Notes |
|---|---|---|
| string | |
| string |
CustomerTagModel
Extends TagModel.
Field | Type | Notes |
|---|---|---|
| integer | |
| string | |
| string | |
| string | |
| long | |
| string | ISO 8601 |
MemberContactListModel
Extends ContactListModel.
Field | Type | Notes |
|---|---|---|
| integer | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| long | |
| string | ISO 8601 |
MessageModel
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| long | read-only |
| string | read-only, nullable |
| string | |
| integer | |
| string | |
| InstantAppModel | nullable |
| UploadModel[] | nullable |
| string | |
| boolean |
ConversationModel
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| integer | |
| integer | |
| long | read-only |
| long | read-only |
| ConversationMemberModel[] | read-only |
| ConversationBotModel[] | read-only |
| string | |
| MessageModel | read-only, nullable |
| string | read-only |
ConversationMemberModel
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| boolean | read-only |
ConversationBotModel
Field | Type | Notes |
|---|---|---|
| integer |
InteractionConfigModel
Field | Type | Notes |
|---|---|---|
| integer | |
| integer | |
| integer | |
| boolean |
TeamMemberModel
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| string | |
| TeamMemberUserModel | nested user identity |
| string | nullable |
| string | read-only, nullable |
| boolean | read-only |
TeamMemberUserModel
Extends UserModel.
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| string | |
| long | read-only |
| string | read-only, ISO 8601 |
| string | |
| TeamMemberIdentityModel[] |
TeamMemberIdentityModel
Field | Type | Notes |
|---|---|---|
| string | |
| string |
InstantAppModel
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| long | read-only |
| string | read-only |
| string | read-only |
| string | |
| Parameter[] |
Parameter:
Field | Type |
|---|---|
| string |
| string |
OrgChannelModel
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| string | |
| string | |
| string | See channel type enum below |
| string | |
| boolean | read-only |
| string | read-only |
| string | nullable |
| boolean | |
| string | nullable |
| boolean | |
| string | nullable |
| boolean | |
| string | |
| integer | nullable |
| string | nullable |
| string | nullable |
| boolean | |
| string[] |
Channel type enum: SMS | HISTORIC_FB | TWILIO | LINE | HISTORIC_ZW | SMOOCH_CHAT | YTEL | INTERNAL | BANDWIDTH | MANAGED_BANDWIDTH | MANAGED_SIGNAL_WIRE | SIGNAL_WIRE | DECANTR | MANAGED_DECANTR | MANAGED_SINCH | MANAGED_INFOBIP
Provider-specific sub-models (smsModel, twilioModel, ytelModel, smoochModel, lineModel, bandwidthModel, managedBandwidthModel, decantrModel, managedDecantrModel, managedSinchModel, managedInfobipModel) are included when the channel type matches. Their shapes are provider-specific and omitted here for brevity.
UploadModel
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| string | read-only |
| string | read-only |
| long | read-only |
ScheduledActionModel
Field | Type | Notes |
|---|---|---|
| integer | read-only |
| integer | read-only |
| OrgChannelModel | |
| CustomerChannelModel | |
| long | read-only |
| ScheduledActionFulfillmentModel | |
| string | |
| long | read-only, UTC millis |
ScheduledActionFulfillmentModel
Field | Type | Notes |
|---|---|---|
| string | |
| string | |
| InstantAppSchemaModel | |
| string | |
| string | |
| integer | nullable |
NotificationPrefModel
Field | Type | Notes |
|---|---|---|
| string | |
| string | |
| string |
TeamMemberNotificationModel
Field | Type | Notes |
|---|---|---|
| NotificationGroupModel[] | |
| boolean | |
| boolean | |
| string | |
| string |
Customer events
customer/added
Fired when a new customer is created.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| CustomerModel |
{"orgId":1287,"customer":{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[{"identityType":"SMS","key":"+15551234567"}],"tags":[{"id":5,"name":"VIP","colorCode":"#FF5733","note":"","addedTimestamp":1711114892361,"addedDate":"2024-03-22T15:21:32.361Z"}],"globalOptOut":false,"globalOptOutTimestamp":0,"globalOptOutDate":null,"identities":[{"type":"SMS","key":"+15551234567"}],"contactLists":[{"id":10,"name":"Newsletter Subscribers","apiId":"newsletter-subs","icon":null,"description":"","externalUrl":null,"type":"PROMPT","addedTimestamp":1711114892361,"addedDate":"2024-03-22T15:21:32.361Z"}]}}
customer/modified
Fired when customer data changes. Batched in groups of up to 100 customers.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| CustomerModel[] | Array, even for a single customer |
{"orgId":1287,"customers":[{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[{"identityType":"SMS","key":"+15551234567"}],"tags":[],"globalOptOut":false,"globalOptOutTimestamp":0,"globalOptOutDate":null,"identities":[{"type":"SMS","key":"+15551234567"}],"contactLists":[]}]}
customer/optOut — Global opt-out
Fired when a customer globally opts in or out. Batched in groups of up to 100 customers.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| CustomerModel[] | |
| string | |
| boolean | |
| long | Millis since epoch |
{"orgId":1287,"customers":[{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[],"tags":[],"globalOptOut":true,"globalOptOutTimestamp":1774639484493,"globalOptOutDate":"2026-03-27T12:04:44.493Z","identities":[],"contactLists":[]}],"optOutType":"GLOBAL","optOut":true,"timestamp":1774639484493}
customer/optOut — Phone provider opt-out
Fired when a customer opts in or out on a specific channel via phone provider (e.g. carrier STOP).
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| CustomerModel | Single customer (not array) |
| string | |
| boolean | |
| long | |
| OrgChannelModel | The org channel involved |
| CustomerChannelModel | The customer channel involved |
| boolean |
{"orgId":1287,"customer":{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[],"tags":[],"globalOptOut":false,"globalOptOutTimestamp":0,"globalOptOutDate":null,"identities":[],"contactLists":[]},"optOutType":"PHONE_PROVIDER","optOut":true,"timestamp":1774639484493,"orgChannel":{"id":5,"name":"Main SMS","apiId":"main-sms","channelType":"BANDWIDTH","registrationStatus":"REGISTERED","active":true,"channelKey":"+15559876543","firstMessage":null,"firstMessageEnabled":false,"apiOptOutMessage":null,"apiOptOutMessageEnabled":false,"optOutFinalMessage":null,"optOutFinalMessageEnabled":false,"incomingCallResponseType":null,"incomingCallAudioUploadId":null,"incomingCallForwardNumber":null,"unsupportedMediaMessage":null,"prePurchased":false,"channelApps":[]},"customerChannel":{"identityType":"SMS","key":"+15551234567"},"phoneProviderOptOut":true}
Message events
message/added
Fired when a new message is created (sent or received).
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| MessageModel | |
| ConversationModel | |
| UserModel | The user who sent the message |
| string | Nullable — phone number or channel identifier |
| string | Org phone number the message was sent from |
| integer | |
| object | Nullable — present only for bot responses |
{"orgId":1287,"message":{"id":22852,"createdTimestamp":1774639484493,"externalMessageId":null,"userType":"TEAM_MEMBER","userId":2,"content":"test","instantApp":null,"uploads":null,"status":"QUEUED","hasInstantApp":false},"interaction":{"id":37807,"orgChannelId":5,"customerId":3,"createdTimestamp":1711114892361,"lastUpdatedTimestamp":1774639484498,"conversationMembers":[{"teamMemberId":2,"active":true}],"conversationBots":[],"status":"ACTIVE","firstCustomerMessage":{"id":19154,"createdTimestamp":1711114892405,"externalMessageId":"0adc2142-9e13-4345-bec8-44c7ca9da1f4","userType":"CUSTOMER","userId":3,"content":"Blast","instantApp":null,"uploads":null,"status":"RECEIVED","hasInstantApp":false},"topic":null},"postingUser":{"id":2,"displayName":"Jane Agent","createdTimestamp":1654878821461,"createdDate":"2022-06-10T16:33:41.461Z","userType":"TEAM_MEMBER","identities":[{"type":"EMAIL","key":"agent@example.com"},{"type":"NATION_BUILDER","key":"99001"},{"type":"SALESFORCE","key":"005000000000001AAA"}]},"customerChannel":"+15551234567","orgChannel":"+15559876543","bulkActionId":0}
message/status
Fired when message delivery status changes.
Behavior depends on the INDIVIDUAL_STATUS_UPDATE_EVENTS feature flag:
Individual mode (flag enabled): One event per message with message field.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| long | |
| MessageModel | Single message |
{"orgId":1287,"timestamp":1774639490000,"message":{"id":22852,"createdTimestamp":1774639484493,"externalMessageId":"ext-abc-123","userType":"TEAM_MEMBER","userId":2,"content":"test","instantApp":null,"uploads":null,"status":"DELIVERED","hasInstantApp":false}}
Batch mode (flag disabled): One event with messages array.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| long | |
| MessageModel[] | Array of updated messages |
{"orgId":1287,"timestamp":1774639490000,"messages":[{"id":22852,"createdTimestamp":1774639484493,"externalMessageId":"ext-abc-123","userType":"TEAM_MEMBER","userId":2,"content":"test","instantApp":null,"uploads":null,"status":"DELIVERED","hasInstantApp":false}]}
message/error
Fired when a message fails to send.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| MessageModel | |
| string | Human-readable error description |
{"orgId":1287,"message":{"id":22853,"createdTimestamp":1774639484493,"externalMessageId":null,"userType":"TEAM_MEMBER","userId":2,"content":"Hello!","instantApp":null,"uploads":null,"status":"FAILED","hasInstantApp":false},"errorMessage":"Carrier rejected message: invalid destination number"}
message/scheduled
Fired when a message is scheduled for future delivery.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| ScheduledActionModel |
{"orgId":1287,"scheduledAction":{"id":500,"userId":2,"orgChannel":{"id":5,"name":"Main SMS","apiId":"main-sms","channelType":"BANDWIDTH","registrationStatus":"REGISTERED","active":true,"channelKey":"+15559876543","firstMessage":null,"firstMessageEnabled":false,"apiOptOutMessage":null,"apiOptOutMessageEnabled":false,"optOutFinalMessage":null,"optOutFinalMessageEnabled":false,"incomingCallResponseType":null,"incomingCallAudioUploadId":null,"incomingCallForwardNumber":null,"unsupportedMediaMessage":null,"prePurchased":false,"channelApps":[]},"customerChannel":{"identityType":"SMS","key":"+15551234567"},"createdTimestamp":1774639484493,"fulfillment":{"message":"Reminder: your appointment is tomorrow","whisper":null,"instantAppSchema":null,"instantAppMessage":null,"instantAppParameters":null,"uploadId":null},"status":"SCHEDULED","deliverOn":1774725884493}}
message/scheduled/deleted
Fired when a scheduled message is cancelled. Same shape as message/scheduled.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| ScheduledActionModel | Status will be |
message/scheduled/modified
Fired when a scheduled message is modified. Same shape as message/scheduled.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| ScheduledActionModel |
Conversation events
conversation/added
Fired when a new conversation is created.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| ConversationModel |
{"orgId":1287,"interaction":{"id":37808,"orgChannelId":5,"customerId":3,"createdTimestamp":1774639484493,"lastUpdatedTimestamp":1774639484493,"conversationMembers":[],"conversationBots":[],"status":"PENDING","firstCustomerMessage":{"id":22860,"createdTimestamp":1774639484493,"externalMessageId":"abc-123","userType":"CUSTOMER","userId":3,"content":"Hi there","instantApp":null,"uploads":null,"status":"RECEIVED","hasInstantApp":false},"topic":null}}
conversation/joined
Fired when team members join a conversation.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| ConversationModel | |
| UserModel[] | The users who joined |
| long |
{"orgId":1287,"interaction":{"id":37807,"orgChannelId":5,"customerId":3,"createdTimestamp":1711114892361,"lastUpdatedTimestamp":1774639484498,"conversationMembers":[{"teamMemberId":2,"active":true}],"conversationBots":[],"status":"ACTIVE","firstCustomerMessage":null,"topic":null},"users":[{"id":2,"displayName":"Jane Agent","createdTimestamp":1654878821461,"createdDate":"2022-06-10T16:33:41.461Z","userType":"TEAM_MEMBER"}],"timestamp":1774639484498}
conversation/left
Fired when team members leave a conversation. Same shape as conversation/joined.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| ConversationModel | |
| UserModel[] | The users who left |
| long |
conversation-config/modified
Fired when conversation configuration changes.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| InteractionConfigModel |
{"orgId":1287,"interactionConfig":{"id":37807,"orgChannelId":5,"customerId":3,"phoneProviderOptOut":false}}
Agent / team member events
agent/login
Fired when a team member logs in.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel | |
| long |
{"orgId":1287,"agent":{"id":2,"email":"agent@example.com","user":{"id":2,"displayName":"Jane Agent","createdTimestamp":1654878821461,"createdDate":"2022-06-10T16:33:41.461Z","userType":"TEAM_MEMBER","identities":[{"type":"EMAIL","key":"agent@example.com"},{"type":"SALESFORCE","key":"005000000000001AAA"}]},"otpLoginPhoneNumber":null,"mfaPhoneNumber":"+15550198765","mfaVerified":true},"timestamp":1774639484493}
agent/logout
Fired when a team member logs out. Same shape as agent/login.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel | |
| long |
agent/added
Fired when a new team member is added.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel |
{"orgId":1287,"agent":{"id":15,"email":"newagent@example.com","user":{"id":15,"displayName":"New Agent","createdTimestamp":1774639484493,"createdDate":"2026-03-27T12:04:44.493Z","userType":"TEAM_MEMBER","identities":[{"type":"EMAIL","key":"newagent@example.com"}]},"otpLoginPhoneNumber":null,"mfaPhoneNumber":null,"mfaVerified":false}}
agent/deleted
Fired when a team member is deleted. Same shape as agent/added.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel |
agent/modified
Fired when a team member is modified. Same shape as agent/added.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel |
Agent tools events
agentTools/enter
Fired when an agent tools session starts.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel | |
| long |
{"orgId":1287,"agent":{"id":2,"email":"agent@example.com","user":{"id":2,"displayName":"Jane Agent","createdTimestamp":1654878821461,"createdDate":"2022-06-10T16:33:41.461Z","userType":"TEAM_MEMBER","identities":[]},"otpLoginPhoneNumber":null,"mfaPhoneNumber":null,"mfaVerified":false},"timestamp":1774639484493}
agentTools/leave
Fired when an agent tools session ends. Same shape as agentTools/enter.
agentTools/idle
Fired when agent tools becomes idle. Same shape as agentTools/enter.
agentTools/booted
Fired when agent tools boots up with a conversation context.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel | |
| ConversationModel | |
| long |
{"orgId":1287,"agent":{"id":2,"email":"agent@example.com","user":{"id":2,"displayName":"Jane Agent","createdTimestamp":1654878821461,"createdDate":"2022-06-10T16:33:41.461Z","userType":"TEAM_MEMBER","identities":[]},"otpLoginPhoneNumber":null,"mfaPhoneNumber":null,"mfaVerified":false},"conversation":{"id":37807,"orgChannelId":5,"customerId":3,"createdTimestamp":1711114892361,"lastUpdatedTimestamp":1774639484498,"conversationMembers":[{"teamMemberId":2,"active":true}],"conversationBots":[],"status":"ACTIVE","firstCustomerMessage":null,"topic":null},"timestamp":1774639484493}
Monitor events
monitor/enter
Fired when a monitor session starts.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel | |
| long |
Same shape as agentTools/enter.
monitor/leave
Fired when a monitor session ends. Same shape as monitor/enter.
monitor/inspect
Fired when a monitor inspects a conversation.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel | |
| ConversationModel |
{"orgId":1287,"agent":{"id":2,"email":"agent@example.com","user":{"id":2,"displayName":"Jane Agent","createdTimestamp":1654878821461,"createdDate":"2022-06-10T16:33:41.461Z","userType":"TEAM_MEMBER","identities":[]},"otpLoginPhoneNumber":null,"mfaPhoneNumber":null,"mfaVerified":false},"interaction":{"id":37807,"orgChannelId":5,"customerId":3,"createdTimestamp":1711114892361,"lastUpdatedTimestamp":1774639484498,"conversationMembers":[],"conversationBots":[],"status":"ACTIVE","firstCustomerMessage":null,"topic":null}}
Channel events
channels/added
Fired when a new communication channel is added.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| OrgChannelModel |
{"orgId":1287,"channel":{"id":12,"name":"Support Line","apiId":"support-line","channelType":"BANDWIDTH","registrationStatus":"REGISTERED","active":true,"channelKey":"+16105551234","firstMessage":"Welcome! How can we help?","firstMessageEnabled":true,"apiOptOutMessage":"Reply STOP to unsubscribe","apiOptOutMessageEnabled":true,"optOutFinalMessage":"You have been unsubscribed.","optOutFinalMessageEnabled":true,"incomingCallResponseType":"REJECT","incomingCallAudioUploadId":null,"incomingCallForwardNumber":null,"unsupportedMediaMessage":"Sorry, we cannot process media files.","prePurchased":false,"channelApps":[]}}
channels/deleted
Fired when a channel is deleted. Same shape as channels/added.
channels/modified
Fired when a channel is modified. Same shape as channels/added.
Instant app events
instantApp/added
Fired when a new instant app is created.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| InstantAppModel | |
| CustomerModel | Nullable — only present if |
{"orgId":1287,"instantApp":{"id":800,"createdTimestamp":1774639484493,"customerUrl":"https://app.prompt.io/ia/abc123","status":"ACTIVE","schemaApiId":"feedback-form","parameters":[{"key":"title","value":"How was your experience?"}]},"customer":{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[],"tags":[],"globalOptOut":false,"globalOptOutTimestamp":0,"globalOptOutDate":null,"identities":[],"contactLists":[]}}
instantApp/customerConnected
Fired when a customer connects to an instant app.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| InstantAppModel | |
| CustomerModel | |
| long |
{"orgId":1287,"instantApp":{"id":800,"createdTimestamp":1774639484493,"customerUrl":"https://app.prompt.io/ia/abc123","status":"ACTIVE","schemaApiId":"feedback-form","parameters":[]},"customer":{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[],"tags":[],"globalOptOut":false,"globalOptOutTimestamp":0,"globalOptOutDate":null,"identities":[],"contactLists":[]},"timestamp":1774639490000}
instantApp/customerDisconnected
Fired when a customer disconnects from an instant app. Same shape as instantApp/customerConnected.
instantApp/status
Fired when instant app status changes.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| InstantAppModel | |
| CustomerModel | Nullable — only present if |
| long |
instantApp/update
Fired when instant app parameters are updated.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| InstantAppModel | |
| CustomerModel | Nullable — only present if |
| object | Key-value pairs of updated parameters |
| object | Key-value pairs of previous parameter values |
| long |
{"orgId":1287,"instantApp":{"id":800,"createdTimestamp":1774639484493,"customerUrl":"https://app.prompt.io/ia/abc123","status":"ACTIVE","schemaApiId":"feedback-form","parameters":[{"key":"rating","value":"5"}]},"customer":{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[],"tags":[],"globalOptOut":false,"globalOptOutTimestamp":0,"globalOptOutDate":null,"identities":[],"contactLists":[]},"newValues":{"rating":"5"},"oldValues":{"rating":"3"},"timestamp":1774639490000}
instantApp/custom
Fired for custom instant app events. The value field is parsed as JSON if it looks like a JSON object, otherwise stored as a string.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| object or string | Custom event data |
| InstantAppModel | |
| CustomerModel | Nullable — only present if |
| long |
{"orgId":1287,"value":{"action":"button_clicked","buttonId":"submit-feedback"},"instantApp":{"id":800,"createdTimestamp":1774639484493,"customerUrl":"https://app.prompt.io/ia/abc123","status":"ACTIVE","schemaApiId":"feedback-form","parameters":[]},"customer":{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[],"tags":[],"globalOptOut":false,"globalOptOutTimestamp":0,"globalOptOutDate":null,"identities":[],"contactLists":[]},"timestamp":1774639490000}
instantApp/error
Fired when an instant app script encounters an error.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| string | |
| string | |
| InstantAppModel |
{"orgId":1287,"errorMessage":"TypeError: Cannot read property 'value' of undefined","errorCode":"SCRIPT_ERROR","instantApp":{"id":800,"createdTimestamp":1774639484493,"customerUrl":"https://app.prompt.io/ia/abc123","status":"ERROR","schemaApiId":"feedback-form","parameters":[]}}
Broadcast / bulk action events
contactAction
Fired for each contact processed during a bulk action (broadcast). The endpoint path may include a custom suffix: contactAction/{eventEndpointPath}.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| integer | Number of contacts processed so far |
| integer | Total contacts in the action |
| CustomerModel | The contact just processed |
{"orgId":1287,"progress":42,"total":500,"customer":{"id":3,"displayName":"Jane Doe","createdTimestamp":1711114892361,"createdDate":"2024-03-22T15:21:32.361Z","userType":"CUSTOMER","channels":[{"identityType":"SMS","key":"+15551234567"}],"tags":[],"globalOptOut":false,"globalOptOutTimestamp":0,"globalOptOutDate":null,"identities":[],"contactLists":[]}}
contactAction/carrierRejectionRate
Fired when carrier rejection rate exceeds the configured threshold during a broadcast.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| integer | |
| double | Configured threshold |
| integer | Number of rejections |
| integer | Total messages attempted |
| integer | Contacts processed so far |
| integer | Total contacts |
{"orgId":1287,"bulkActionId":150,"rateLimit":0.05,"rejectionCount":30,"messageCount":500,"progress":500,"total":1000}
broadcast/state
Fired when broadcast status changes.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| integer | |
| string | Broadcast status enum name |
| string | Human-readable status with pause reasons |
Status values: DRAFT | SCHEDULED | PROCESSING | COMPLETE | PAUSED | ABANDONED | PENDING_APPROVAL
Status message examples:
"Processing. ""Delivery Paused. ""Delivery Paused - Excessive Carrier Rejections. ""Confirmations Paused. ""Processing Paused. ""Broadcast is being edited. "Combinations of the above (e.g.
"Delivery Paused. Confirmations Paused. ")
{"orgId":1287,"bulkActionId":150,"status":"PROCESSING","statusMessage":"Processing. "}
Notification events
notification/sent
Fired when a notification is sent to a team member.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel | |
| NotificationPrefModel |
{"orgId":1287,"agent":{"id":2,"email":"agent@example.com","user":{"id":2,"displayName":"Jane Agent","createdTimestamp":1654878821461,"createdDate":"2022-06-10T16:33:41.461Z","userType":"TEAM_MEMBER","identities":[]},"otpLoginPhoneNumber":null,"mfaPhoneNumber":null,"mfaVerified":false},"notifications":{"trigger":"NEW_MESSAGE","type":"EMAIL","sentTo":"agent@example.com"}}
notification/modified
Fired when notification settings change.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| TeamMemberModel | |
| TeamMemberNotificationModel |
{"orgId":1287,"agent":{"id":2,"email":"agent@example.com","user":{"id":2,"displayName":"Jane Agent","createdTimestamp":1654878821461,"createdDate":"2022-06-10T16:33:41.461Z","userType":"TEAM_MEMBER","identities":[]},"otpLoginPhoneNumber":null,"mfaPhoneNumber":null,"mfaVerified":false},"notification":{"notificationGroups":[{"trigger":"NEW_MESSAGE","sendSound":true,"soundUrl":null,"soundVolume":50,"soundRepeatInterval":0,"sendSms":false,"sendEmail":true,"slackChannel":null,"sendToSlackUsername":false,"mentionSlackUserNameInChannel":false}],"vacation":false,"hideSystemMessages":false,"slackUsername":null,"phoneNumber":null}}
Integration events
integrations/sheets/read
Fired when data is read from Google Sheets.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| integer | |
| string | |
| string | |
| SheetRow[] | Array of row objects |
{"orgId":1287,"integrationId":10,"spreadsheetId":"1AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcde","tabName":"Sheet1","readValues":[{"rowNumber":1,"values":["Name","Phone","Status"]},{"rowNumber":2,"values":["Jane Doe","+15551234567","Active"]}]}
integrations/sheets/write
Fired when data is written to Google Sheets.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| integer | |
| string | |
| string | |
| integer | |
| string[] | |
| boolean | |
{"orgId":1287,"integrationId":10,"spreadsheetId":"1AbCdEfGhIjKlMnOpQrStUvWxYz0123456789abcde","tabName":"Sheet1","rowNumber":3,"writeValues":["John Smith","+15550198765","Pending"],"newRow":true}
Console events
console/log
Fired for info-level console log messages.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| long | |
| string | |
| string |
{"orgId":1287,"timestamp":1774639484493,"component":"INSTANT_APP","message":"Form submitted successfully"}
console/warn
Fired for warning-level console log messages. Same shape as console/log.
console/error
Fired for error-level console log messages. Same shape as console/log.
Misc events
smartlink/clicked
Fired when a smartlink is clicked.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
| integer | |
| string | Phone number or channel identifier |
| long | |
| integer | |
| integer | Nullable — present if click is from a broadcast |
{"orgId":1287,"customerId":3,"customerChannel":"+15551234567","timestamp":1774639490000,"smartlinkId":42,"bulkActionId":150}
error/alterra
Fired for Alterra-related errors. Payload structure depends on the specific error context.
Field | Type | Notes |
|---|---|---|
| integer | Always present |
Appendix: All event types
# | Endpoint path | Internal enum | Description |
|---|---|---|---|
1 | | CUSTOMER_ADDED | New customer created |
2 | | CUSTOMER_MODIFIED | Customer name changed |
3 | | CUSTOMER_OPT_OUT | Customer opt-in/out |
4 | | MESSAGE_ADDED | New message created (inbound or outbound) |
5 | | MESSAGE_STATUS | Delivery status changed |
6 | | SEND_MESSAGE_ERROR | Message send failure |
7 | | MESSAGE_SCHEDULED | Message scheduled |
8 | | SCHEDULED_MESSAGE_DELETED | Scheduled message cancelled |
9 | | SCHEDULED_MESSAGE_MODIFIED | Scheduled message modified |
10 | | INTERACTION_ADDED | New conversation created |
11 | | INTERACTION_JOINED | Members joined conversation |
12 | | INTERACTION_LEFT | Members left conversation |
13 | | INTERACTION_CONFIG_MODIFIED | Conversation config changed |
14 | | LOGIN | Team member logged in |
15 | | LOGOUT | Team member logged out |
16 | | AGENT_ADDED | Team member created |
17 | | AGENT_DELETED | Team member deleted |
18 | | AGENT_MODIFIED | Team member modified |
19 | | AGENT_TOOLS_ENTER | Agent tools session started |
20 | | AGENT_TOOLS_LEAVE | Agent tools session ended |
21 | | AGENT_TOOLS_IDLE | Agent tools went idle |
22 | | AGENT_TOOLS_BOOTED | Agent tools booted |
23 | | MONITOR_ENTER | Monitor session started |
24 | | MONITOR_LEAVE | Monitor session ended |
25 | | MONITOR_INSPECT | Monitor inspecting conversation |
26 | | CHANNEL_ADDED | Channel created |
27 | | CHANNEL_DELETED | Channel deleted |
28 | | CHANNEL_MODIFIED | Channel modified |
29 | | INSTANT_APP_ADDED | Instant app created |
30 | | INSTANT_APP_CUSTOMER_CONNECTED | Customer connected to instant app |
31 | | INSTANT_APP_CUSTOMER_DISCONNECTED | Customer disconnected |
32 | | INSTANT_APP_STATUS | Instant app status changed |
33 | | INSTANT_APP_UPDATE | Instant app parameters updated |
34 | | INSTANT_APP_CUSTOM | Custom instant app event |
35 | | INSTANT_APP_SCRIPT_ERROR | Instant app script error |
36 | | BULK_ACTION | Bulk action progress |
37 | | CARRIER_REJECTION_RATE_EXCEEDED | Carrier rejection threshold exceeded |
38 | | BROADCAST_STATE | Broadcast status changed |
39 | | NOTIFICATION_SENT | Notification sent |
40 | | NOTIFICATION_MODIFIED | Notification settings changed |
41 | | GOOGLE_SHEETS_READ | Google Sheets read |
42 | | GOOGLE_SHEETS_WRITE | Google Sheets write |
43 | | CONSOLE_LOG_INFO | Console info log |
44 | | CONSOLE_LOG_WARN | Console warning log |
45 | | CONSOLE_LOG_ERROR | Console error log |
46 | | SMARTLINK_CLICKED | Smartlink clicked |
47 | | ALTERRA_ERROR | Alterra error |
48 | | INTERACTION_STATUS | Deprecated |
