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

POST

Content-Type

application/json

URL pattern

{baseUrl}/{eventTypePath}

Headers (always present):

Header

Description

Content-Type

application/json

Prompt-EventType

The event endpoint path (e.g. message/added)

Headers (conditional on auth config):

Header

Condition

Authorization: Basic {base64}

Basic Auth enabled on endpoint

X-Hub-Signature: {hmac-sha1}

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

id

integer

read-only

displayName

string

createdTimestamp

long

read-only, millis since epoch

createdDate

string

read-only, ISO 8601

userType

string

TEAM_MEMBER | CUSTOMER | BOT | SYSTEM | TROUBLESHOOTING

CustomerModel

Extends UserModel with customer-specific fields.

Field

Type

Notes

id

integer

read-only

displayName

string

createdTimestamp

long

read-only

createdDate

string

read-only, ISO 8601

userType

string

Always CUSTOMER

channels

CustomerChannelModel[]

tags

CustomerTagModel[]

globalOptOut

boolean

globalOptOutTimestamp

long

read-only

globalOptOutDate

string

read-only, ISO 8601

identities

CustomerIdentityModel[]

contactLists

MemberContactListModel[]

CustomerChannelModel

Field

Type

Notes

identityType

string

SMS | FB | CUSTOMER_EXTERNAL | LIVE_CHAT | LINE

key

string

Phone number or channel identifier

CustomerIdentityModel

Field

Type

Notes

type

string

SMS | FB | CUSTOMER_EXTERNAL | LIVE_CHAT | LINE

key

string

CustomerTagModel

Extends TagModel.

Field

Type

Notes

id

integer

name

string

colorCode

string

note

string

addedTimestamp

long

addedDate

string

ISO 8601

MemberContactListModel

Extends ContactListModel.

Field

Type

Notes

id

integer

name

string

apiId

string

icon

string

description

string

externalUrl

string

type

string

PROMPT | NATION_BUILDER | BLACKBAUD | L2 | NGP_VAN | PROMPT_PRIMARY | PROMPT_REPLICA | SALESFORCE_CAMPAIGN | SALESFORCE_LISTVIEW | SALESFORCE_REPORT

addedTimestamp

long

addedDate

string

ISO 8601

MessageModel

Field

Type

Notes

id

integer

read-only

createdTimestamp

long

read-only

externalMessageId

string

read-only, nullable

userType

string

TEAM_MEMBER | CUSTOMER | BOT | SYSTEM | TROUBLESHOOTING

userId

integer

content

string

instantApp

InstantAppModel

nullable

uploads

UploadModel[]

nullable

status

string

NA | SENT | DELIVERED | READ | FAILED | UNDELIVERED | RECEIVED | QUEUED | OPTED_OUT | ABORTED

hasInstantApp

boolean

ConversationModel

Field

Type

Notes

id

integer

read-only

orgChannelId

integer

customerId

integer

createdTimestamp

long

read-only

lastUpdatedTimestamp

long

read-only

conversationMembers

ConversationMemberModel[]

read-only

conversationBots

ConversationBotModel[]

read-only

status

string

PENDING | UNASSIGNED | QUEUED | ACTIVE | COMPLETE

firstCustomerMessage

MessageModel

read-only, nullable

topic

string

read-only

ConversationMemberModel

Field

Type

Notes

teamMemberId

integer

read-only

active

boolean

read-only

ConversationBotModel

Field

Type

Notes

botId

integer

InteractionConfigModel

Field

Type

Notes

id

integer

orgChannelId

integer

customerId

integer

phoneProviderOptOut

boolean

TeamMemberModel

Field

Type

Notes

id

integer

read-only

email

string

user

TeamMemberUserModel

nested user identity

otpLoginPhoneNumber

string

nullable

mfaPhoneNumber

string

read-only, nullable

mfaVerified

boolean

read-only

TeamMemberUserModel

Extends UserModel.

Field

Type

Notes

id

integer

read-only

displayName

string

createdTimestamp

long

read-only

createdDate

string

read-only, ISO 8601

userType

string

TEAM_MEMBER

identities

TeamMemberIdentityModel[]

TeamMemberIdentityModel

Field

Type

Notes

type

string

EMAIL | SALESFORCE | BLACKBAUD | NATION_BUILDER

key

string

InstantAppModel

Field

Type

Notes

id

integer

read-only

createdTimestamp

long

read-only

customerUrl

string

read-only

status

string

read-only

schemaApiId

string

parameters

Parameter[]

Parameter:

Field

Type

key

string

value

string

OrgChannelModel

Field

Type

Notes

id

integer

read-only

name

string

apiId

string

channelType

string

See channel type enum below

registrationStatus

string

NA | PENDING | REGISTERED | FAILED | UNREGISTERED | UNREGISTERED_DISABLED | PENDING_DISABLED | EXPIRED | DISABLED

active

boolean

read-only

channelKey

string

read-only

firstMessage

string

nullable

firstMessageEnabled

boolean

apiOptOutMessage

string

nullable

apiOptOutMessageEnabled

boolean

optOutFinalMessage

string

nullable

optOutFinalMessageEnabled

boolean

incomingCallResponseType

string

FORWARD | PLAY_AUDIO | REJECT, nullable

incomingCallAudioUploadId

integer

nullable

incomingCallForwardNumber

string

nullable

unsupportedMediaMessage

string

nullable

prePurchased

boolean

channelApps

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

uploadId

integer

read-only

url

string

read-only

name

string

read-only

size

long

read-only

ScheduledActionModel

Field

Type

Notes

id

integer

read-only

userId

integer

read-only

orgChannel

OrgChannelModel

customerChannel

CustomerChannelModel

createdTimestamp

long

read-only

fulfillment

ScheduledActionFulfillmentModel

status

string

SCHEDULED | ABORTED | COMPLETED

deliverOn

long

read-only, UTC millis

ScheduledActionFulfillmentModel

Field

Type

Notes

message

string

whisper

string

instantAppSchema

InstantAppSchemaModel

instantAppMessage

string

instantAppParameters

string

uploadId

integer

nullable

NotificationPrefModel

Field

Type

Notes

trigger

string

type

string

sentTo

string

TeamMemberNotificationModel

Field

Type

Notes

notificationGroups

NotificationGroupModel[]

vacation

boolean

hideSystemMessages

boolean

slackUsername

string

phoneNumber

string


Customer events

customer/added

Fired when a new customer is created.

Field

Type

Notes

orgId

integer

Always present

customer

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

orgId

integer

Always present

customers

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

orgId

integer

Always present

customers

CustomerModel[]

optOutType

string

"GLOBAL"

optOut

boolean

true = opted out, false = opted back in

timestamp

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

orgId

integer

Always present

customer

CustomerModel

Single customer (not array)

optOutType

string

"PHONE_PROVIDER"

optOut

boolean

timestamp

long

orgChannel

OrgChannelModel

The org channel involved

customerChannel

CustomerChannelModel

The customer channel involved

phoneProviderOptOut

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

orgId

integer

Always present

message

MessageModel

interaction

ConversationModel

postingUser

UserModel

The user who sent the message

customerChannel

string

Nullable — phone number or channel identifier

orgChannel

string

Org phone number the message was sent from

bulkActionId

integer

0 if not part of a broadcast

botResponse

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

orgId

integer

Always present

timestamp

long

message

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

orgId

integer

Always present

timestamp

long

messages

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

orgId

integer

Always present

message

MessageModel

errorMessage

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

orgId

integer

Always present

scheduledAction

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

orgId

integer

Always present

scheduledAction

ScheduledActionModel

Status will be ABORTED


message/scheduled/modified

Fired when a scheduled message is modified. Same shape as message/scheduled.

Field

Type

Notes

orgId

integer

Always present

scheduledAction

ScheduledActionModel


Conversation events

conversation/added

Fired when a new conversation is created.

Field

Type

Notes

orgId

integer

Always present

interaction

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

orgId

integer

Always present

interaction

ConversationModel

users

UserModel[]

The users who joined

timestamp

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

orgId

integer

Always present

interaction

ConversationModel

users

UserModel[]

The users who left

timestamp

long


conversation-config/modified

Fired when conversation configuration changes.

Field

Type

Notes

orgId

integer

Always present

interactionConfig

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

orgId

integer

Always present

agent

TeamMemberModel

timestamp

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

orgId

integer

Always present

agent

TeamMemberModel

timestamp

long


agent/added

Fired when a new team member is added.

Field

Type

Notes

orgId

integer

Always present

agent

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

orgId

integer

Always present

agent

TeamMemberModel


agent/modified

Fired when a team member is modified. Same shape as agent/added.

Field

Type

Notes

orgId

integer

Always present

agent

TeamMemberModel


Agent tools events

agentTools/enter

Fired when an agent tools session starts.

Field

Type

Notes

orgId

integer

Always present

agent

TeamMemberModel

timestamp

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

orgId

integer

Always present

agent

TeamMemberModel

conversation

ConversationModel

timestamp

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

orgId

integer

Always present

agent

TeamMemberModel

timestamp

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

orgId

integer

Always present

agent

TeamMemberModel

interaction

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

orgId

integer

Always present

channel

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

orgId

integer

Always present

instantApp

InstantAppModel

customer

CustomerModel

Nullable — only present if customerId != 0

{"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

orgId

integer

Always present

instantApp

InstantAppModel

customer

CustomerModel

timestamp

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

orgId

integer

Always present

instantApp

InstantAppModel

customer

CustomerModel

Nullable — only present if customerId != 0

timestamp

long


instantApp/update

Fired when instant app parameters are updated.

Field

Type

Notes

orgId

integer

Always present

instantApp

InstantAppModel

customer

CustomerModel

Nullable — only present if customerId != 0

newValues

object

Key-value pairs of updated parameters

oldValues

object

Key-value pairs of previous parameter values

timestamp

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

orgId

integer

Always present

value

object or string

Custom event data

instantApp

InstantAppModel

customer

CustomerModel

Nullable — only present if customerId != 0

timestamp

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

orgId

integer

Always present

errorMessage

string

errorCode

string

instantApp

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

orgId

integer

Always present

progress

integer

Number of contacts processed so far

total

integer

Total contacts in the action

customer

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

orgId

integer

Always present

bulkActionId

integer

rateLimit

double

Configured threshold

rejectionCount

integer

Number of rejections

messageCount

integer

Total messages attempted

progress

integer

Contacts processed so far

total

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

orgId

integer

Always present

bulkActionId

integer

status

string

Broadcast status enum name

statusMessage

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

orgId

integer

Always present

agent

TeamMemberModel

notifications

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

orgId

integer

Always present

agent

TeamMemberModel

notification

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

orgId

integer

Always present

integrationId

integer

spreadsheetId

string

tabName

string

readValues

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

orgId

integer

Always present

integrationId

integer

spreadsheetId

string

tabName

string

rowNumber

integer

writeValues

string[]

newRow

boolean

true if a new row was appended

{"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

orgId

integer

Always present

timestamp

long

component

string

INSTANT_APP | AUTOMATION | BOT | etc.

message

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

orgId

integer

Always present

customerId

integer

customerChannel

string

Phone number or channel identifier

timestamp

long

smartlinkId

integer

bulkActionId

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

orgId

integer

Always present


Appendix: All event types

#

Endpoint path

Internal enum

Description

1

customer/added

CUSTOMER_ADDED

New customer created

2

customer/modified

CUSTOMER_MODIFIED

Customer name changed

3

customer/optOut

CUSTOMER_OPT_OUT

Customer opt-in/out

4

message/added

MESSAGE_ADDED

New message created (inbound or outbound)

5

message/status

MESSAGE_STATUS

Delivery status changed

6

message/error

SEND_MESSAGE_ERROR

Message send failure

7

message/scheduled

MESSAGE_SCHEDULED

Message scheduled

8

message/scheduled/deleted

SCHEDULED_MESSAGE_DELETED

Scheduled message cancelled

9

message/scheduled/modified

SCHEDULED_MESSAGE_MODIFIED

Scheduled message modified

10

conversation/added

INTERACTION_ADDED

New conversation created

11

conversation/joined

INTERACTION_JOINED

Members joined conversation

12

conversation/left

INTERACTION_LEFT

Members left conversation

13

conversation-config/modified

INTERACTION_CONFIG_MODIFIED

Conversation config changed

14

agent/login

LOGIN

Team member logged in

15

agent/logout

LOGOUT

Team member logged out

16

agent/added

AGENT_ADDED

Team member created

17

agent/deleted

AGENT_DELETED

Team member deleted

18

agent/modified

AGENT_MODIFIED

Team member modified

19

agentTools/enter

AGENT_TOOLS_ENTER

Agent tools session started

20

agentTools/leave

AGENT_TOOLS_LEAVE

Agent tools session ended

21

agentTools/idle

AGENT_TOOLS_IDLE

Agent tools went idle

22

agentTools/booted

AGENT_TOOLS_BOOTED

Agent tools booted

23

monitor/enter

MONITOR_ENTER

Monitor session started

24

monitor/leave

MONITOR_LEAVE

Monitor session ended

25

monitor/inspect

MONITOR_INSPECT

Monitor inspecting conversation

26

channels/added

CHANNEL_ADDED

Channel created

27

channels/deleted

CHANNEL_DELETED

Channel deleted

28

channels/modified

CHANNEL_MODIFIED

Channel modified

29

instantApp/added

INSTANT_APP_ADDED

Instant app created

30

instantApp/customerConnected

INSTANT_APP_CUSTOMER_CONNECTED

Customer connected to instant app

31

instantApp/customerDisconnected

INSTANT_APP_CUSTOMER_DISCONNECTED

Customer disconnected

32

instantApp/status

INSTANT_APP_STATUS

Instant app status changed

33

instantApp/update

INSTANT_APP_UPDATE

Instant app parameters updated

34

instantApp/custom

INSTANT_APP_CUSTOM

Custom instant app event

35

instantApp/error

INSTANT_APP_SCRIPT_ERROR

Instant app script error

36

contactAction

BULK_ACTION

Bulk action progress

37

contactAction/carrierRejectionRate

CARRIER_REJECTION_RATE_EXCEEDED

Carrier rejection threshold exceeded

38

broadcast/state

BROADCAST_STATE

Broadcast status changed

39

notification/sent

NOTIFICATION_SENT

Notification sent

40

notification/modified

NOTIFICATION_MODIFIED

Notification settings changed

41

integrations/sheets/read

GOOGLE_SHEETS_READ

Google Sheets read

42

integrations/sheets/write

GOOGLE_SHEETS_WRITE

Google Sheets write

43

console/log

CONSOLE_LOG_INFO

Console info log

44

console/warn

CONSOLE_LOG_WARN

Console warning log

45

console/error

CONSOLE_LOG_ERROR

Console error log

46

smartlink/clicked

SMARTLINK_CLICKED

Smartlink clicked

47

error/alterra

ALTERRA_ERROR

Alterra error

48

conversation/status

INTERACTION_STATUS

Deprecated