Webhooks
The Event Categories
Sessions
The diagram below describes all the events in the life cycle of a session from inception to termination. Session redirection to another operator may not occur and is shown for completeness only.
Event | Time |
---|---|
SessionCreated | "2024-05-02T08:58:58:888364+02:00" |
SessionStarted | "2024-05-02T08:58:58:888364+02:00" |
SessionOperatorJoined | "2024-05-02T08:59:18:467643+02:00" |
SessionForwarded (optional) | "2024-05-02T09:02:26:568252+02:00" |
SessionEnded | "2024-05-02T09:13:07:965191+02:00" |
SessionOperatorLeft | "2024-05-02T09:13:07:965191+02:00" |
SessionOperatorConcluded | "2024-05-02T09:15:50:838056+02:00" |
SessionCreated
A new session has been created in the tenant and the event is logged before the operator or chatbot joins the session.
Parameter | Value | Example |
---|---|---|
id | number | 7293902 |
tenantId | number | 62 |
channel | string | |
source | string |
SessionStarted
The session has started (e.g. a client has entered the queue and an operator is being searched for). This applies to all channels in mluvii. A chatbot can also communicate with the client in a session.
Parameter | Value | Example |
---|---|---|
id | number | 7293902 |
tenantId | number | 62 |
channel | string | |
source | string | |
started | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
SessionOperatorJoined
It happens at the moment the operator joins the session. For example, right at the beginning (after SessionCreated). It is valid that for each operator in the session, a custom event is logged.
Parameter | Value | Example |
---|---|---|
id | number | 7293902 |
tenantId | number | 62 |
userId | number | 2710 |
channel | string | |
source | string | |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
SessionForwarded
The session was redirected. In this case, there are no details available as in the case of SessionActivitySessionForwarded.
Parameter | Value | Example |
---|---|---|
id | number | 7293902 |
tenantId | number | 62 |
channel | string | |
source | string | |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
userId | number | 2710 |
operatorGroupId | number | 7299 |
chatbotId | number | 7352 |
The response may include "userId", "operatorGroupId", or "chatbotId", depending on the target the operator is forwarding to.
SessionEnded
Triggered when a session has ended (the operator or the client has finished the session).
Parameter | Value | Example |
---|---|---|
id | number | 7293902 |
tenantId | number | 62 |
channel | string | |
source | string | |
started | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
ended | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
SessionOperatorLeft
Once the operator ends the session (clicks the "End" button). It then enters the ACW state.
Parameter | Value | Example |
---|---|---|
id | number | 7293902 |
tenantId | number | 62 |
userId | number | 2710 |
channel | string | |
source | string | |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
If multiple operators are active in the session, only one of them is logged into SessionOperatorLeft. For the others, the SessionOperatorConcluded event is logged.
SessionOperatorConcluded
It happens when ACW is automatically/manually terminated. Then also when the session is redirected from the operator to the next destination (operator/group/chatbot/external phone number).
Parameter | Value | Example |
---|---|---|
id | number | 7293902 |
tenantId | number | 62 |
userId | number | 2710 |
channel | string | |
source | string | |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
Session Activities
SessionActivityAutoActivity
The event is logged with each automatic message in the session. For example, it could be an automated message sent due to client inactivity or an operator being busy handling multiple interactions at once.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50878507 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | AutoActivity |
text | string | "Jsme stále ve spojení?" |
SessionActivityAvRequest
The event captures the moment when the operator upgrades the webchat to an Audio/Video call. The operator clicks on the "Call" tab in the interface, enters the A/V room, and invites the client.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
userId | number | 4555 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
SessionActivityAvTerminated
This happens when the operator terminates the A/V call and continues text-only communication. The operator clicks the "Disconnect Client" button or the cross button in the corner of the A/V blade.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
userId | number | 4555 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
SessionActivityCallScript
It happens every time each contact is called within the campaign where CallScript is set up. The CallScript does not need to be acknowledged by the operator.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | CallScript |
callscript | array | Form Structure (bellow) |
SessionActivityCallScriptSubmission
In the session, the CallScript is confirmed by the operator. CallScript is used only for telephone campaigns.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | CallScriptSubmission |
client | string | Guest |
The webhook is delivered as soon as the ACW session is over.
SessionActivityCobrowsingStarted
In the session, cobrowsing was initiated and the client agreed to the request from the operator.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 49717950 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | SessionActivityCobrowsingStarted |
client | string | Guest |
SessionActivityExternalMessage
This can be an introductory message set at the Facebook page level (outside the app), or messages sent to the client outside the mluvii app (via Facebook Messenger).
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 49717950 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | ExteernalMessage |
text | string | Message sent from the Facebook |
SessionActivityHeroCard
A HeroCard was sent during the session.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 49717950 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | HeroCard |
heroCard | array | HeroCard structure |
client | string | User |
The "client" parameter can take values (User, Chatbot). Depending on this, the value of the "userId" or "chatbotId" parameter is also filled in.
SessionActivityHeroCardSubmission
It is logged when the HeroCard is confirmed/canceled (submitted/canceled).
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
originalFormID | number | 3371 |
result | submitted | |
submittedByClient | bool | true |
params | string | see the example below |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
The OriginalFormID parameter is the existing HeroCard ID in mluvii.
The parameters used in the given HeroCard are stored in params together with the entered values (e.g. "oo1_guest_email", "oo1_guest_ident", "oo1_guest_phone").
There are also cases where the HeroCard is confirmed by the operator instead of the client. In this case, the value false is stored in the "submittedByClient" parameter.
SessionActivityChatToMail
It occurs when the client enters an e-mail in the Feedback Form and sends a transcript, or the operator sends it.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | ChatToMail |
client | string | Guest |
The value Guest is stored in the "client" parameter if the client sends the session transcript itself. Or the value User and the parameter "userID" is used, which is filled only if the initiator of the action is an operator.
SessionActivityLastFarewellMessage
It is logged if the session is automatically terminated after 24 hours of queuing. This is particularly relevant for WhatsApp. You can also track this event for Facebook Messenger sessions.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | LastFarewellMessage |
text | string | We apologize, but your request... |
SessionActivityPreviewUrl
A message containing a URL link appears in the session.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | PreviewUrl |
client | string | User |
previewUrl | - | - |
.../title | string | |
.../imageUrl | string | https://www.seznam.cz/media/... |
.../contantType | number | 1 |
.../originalUrl | string | |
.../originalActivityId | number | 114253 |
userId | number | 2070 |
Depending on which party sent the link, the value "guest", "user" or "chatbot" is stored in the "Client" parameter, which is rendered (in both cases only the "Client" (guest, user) parameters change). If the URL is sent by an operator, the userId is also filled in.
SessionActivityOnHold
During a call, the operator puts the call on hold (the "Hold call" button).
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | OnHold |
client | string | User |
userId | number | 2710 |
SessionActivityOperatorInviteCanceled
The operator invited another operator to the session and canceled the invitation before the operator joined.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | OperatorInviteCanceled |
client | string | User |
userId | number | 2710 |
UserId indicates the operator who canceled the invitation.
SessionActivityOperatorInvited
The operator invited another operator into the session. UserId indicates the operator who sent the invitation.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | OperatorInvited |
client | string | User |
toOperatorUserId | number | 4301 |
toOperatorFullName | string | Jan Novák |
note | string | Please join us. |
userId | number | 2710 |
SessionActivityOperatorInviteRejected
The operator invited another operator to the session and he declined the invitation. UserId indicates the operator who declined the invitation.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | OperatorInviteRejected |
client | string | User |
userId | number | 2710 |
SessionActivityResumeGuest
The event is closely related to another event (SessionActivityOnHold) that precedes this one. This time the operator clicks on the "Continue call" button.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | ResumeGuest |
client | string | User |
userId | number | 2710 |
SessionActivitySessionEnded
It's sent whenever a session ends no matter how it happened or who did it.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | SessionEnded |
client | string | Guest |
userId | number | 2710 |
terminationReason | string |
SessionActivitySessionForwarded
It happens when forwarding sessions from the operator (userId) or chatbot (chatbotId) side. If the operator (chatbot) is switching to an operator, the "toOperatorUserId" or "toOperatorFullName" parameter is used.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | SessionForwarded |
client | string | User |
toGroupId | number | 7229 |
toOperatorId | number | 2710 |
If the session is switched to an operator group, the "toGroupId" or "toGroupName" parameter is used. Interestingly, the same parameters are also used when forwarding to a chatbot.
SessionActivitySharedFile
Within a session, a file is shared (by the operator or client).
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | SharedFile |
client | string | User |
userId | number | 2710 |
file | - | - |
.../id | number | 2635914 |
.../operatorOwner | number | 2710 |
.../departmentOwner | number | 62 |
.../name | string | image |
An operator can share its own or shared files. You can tell by the "operatorOwner" and "departmentOwner" parameters. If the operator shares a file from a file from his drive, both of these parameters will be empty.
A client can also share a file if prompted to do so by the operator. In this case, the value "Guest" will appear in the "client" parameter.
SessionActivitySharedScreen
This is screen sharing either by the client or by the operator.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | SharedScreen |
client | string | User |
userId | number | 2710 |
The "client" parameter takes the values Guest or User. If an operator shares the screen, its id is also stored in the userId parameter.
SessionActivityWelcomeMessage
The Welcome message appeared during the session.
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
activityId | number | 50108494 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
type | string | WelcomeMessage |
text | string | Good Morning, welcome to our chat... |
userId | number | 2710 |
SessionCallParamsUpdated
It is logged every time a session parameter is changed and it does not matter who makes the change (operator, chatbot, or supervisor after the session is over).
Parameter | Value | Example |
---|---|---|
sessionId | number | 7293902 |
tenantId | number | 62 |
E-mails
EmailThreadCreated
It happens when a new email thread is created. Either the client or the operator can start it.
Parameter | Value | Example |
---|---|---|
id | number | 742633 |
created | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
tenantId | number | 62 |
Tato událost se zaloguje i v případě forwardu e-mailu (přeposlání na jinou e-mailovou adresu) ze strany operátora.
EmailThreadOperatorJoined
The webhook is delivered when the operator accepts an email message from the group queue.
Parameter | Value | Example |
---|---|---|
id | number | 742633 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
userId | number | 2710 |
tenantId | number | 62 |
EmailThreadOperatorLeft
The webhook is delivered when the operator disconnects from the e-mail thread (the operator replies to the e-mail, returns it to the queue for processing, or ignores it).
Parameter | Value | Example |
---|---|---|
id | number | 742633 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
userId | number | 2710 |
tenantId | number | 62 |
EmailThreadForwarded
The webhook is delivered when the email thread is forwarded.
Parameter | Value | Example |
---|---|---|
id | number | 742633 |
time | datetime | yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ |
userId | number | 2710 |
operatorGroupId | number | 388 |
tenantId | number | 62 |
Along with this event, EmailThreadOperatorLeft is also logged (the operator has disconnected at the same time).
EmailThreadParamsUpdated
The webhook is delivered when a parameter is added to the email thread by the operator or by the Public API.
Parameter | Value | Example |
---|---|---|
id | number | 742633 |
tenantId | number | 62 |
Others
ApplicationSettingChanged
The webhook is delivered when any change is made to the tenant settings.
Parameter | Value | Example |
---|---|---|
name | string | |
companyId | number | 1 |
tenantId | number | 62 |
For each change made to the tenant settings, the Public API returns 18 responses.
GuestIdentityUpdated
The webhook is delivered as soon as the client information changes.
Parameter | Value | Example |
---|---|---|
id | number | 345229 |
tenantId | number | 62 |
The id above indicates the id of the Contact Directory entry.
SessionRecordingPostProcessingCompleted
The processing of the Audio/Video recording after the session was completed.
Parameter | Value | Example |
---|---|---|
id | number | 345229 |
tenantId | number | 62 |
UserStatusChanged
The webhook is delivered when the operator state changes.
Parameter | Value | Example |
---|---|---|
userId | number | 2710 |
status | ONLINE | |
availabilityStatus | DEFAULT | |
availabilityStatusReason | string | null |
Enums
GetMediaResult
Value | Description |
---|---|
Success | Successful transfer |
NoCameraOnlyMic | Only microfon |
NoDevices | No audio/video devices |
UserDenied | User denied audio/video devices |
SessionAVRequestState
Value | Description |
---|---|
Requested | Requested |
Accepted | Accepted |
RejectedUser | Rejected by user |
RejectedNoMic | Guest does not have microfon |
Session source
Value | Description |
---|---|
Default | WebChat |
Callback | Callback |
Invitation | Invitation |
IncomingCall | Incoming call |
OutgoingCall | Outgoing call |
Campaign | Campaign |
API | Public API |
VK | VKontakte |
Apple | Apple Messages for Business |
Session channel
Value | Description |
---|---|
AV | Audio video transfer |
Chat | Text channel |
Phone | Phone call |
Operator status
Value | Description |
---|---|
OFFLINE | Offline |
ONLINE | Online |
AWAY | Away |
Operator availability status
Value | Description |
---|---|
DEFAULT | Online |
AWAY | Away |
ON_CALL | AV or phone call |
Termination reason
Value | Description |
---|---|
GuestLeft | Client has disconnected |
OperatorLeft | Operator has disconnected |
ChatbotLeft | Chatbot has disconnected |
General settings
Value | Description |
---|---|
guestPreview | Waiting client preview |
phoneNumberBlockMinutes | Same number block length for CMB widget |
widgetStateWhenAway | Widget state when Away |
emailTranscriptFrom | Recipient of reply to session transcript |
allowOfflinePhoneCalls | Allow offline Callback |
deleteSessionFiles | Delete files after session ends |
guestInfinityChat | Client chat history |
operatorCanBan | Banning clients by operator |
recordSession | A/V session recording |
autoAnonymizeSessions | Automatically anonymize old sessions |
guestUploadFiles | Client upload files |
guestDisconnectedTime | Client disconnected duration |
operatorCanChooseCallerId | Selecting an outbound phone number by an operator |
showRoutedOperators | Show routed operators |
emailRoutingRequestsThrottlingPrecedence | Sorting and routing of e-mails |
Last updated