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.

SessionCreated

A new session has been created in the tenant and the event is logged before the operator or chatbot joins the session.

JSON Example
{
  "eventType": "SessionCreated",
  "data": {
    "id": 7371450,
    "tenantId": 62,
    "channel": "Phone",
    "source": "OutgoingCall"
  }
}

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.

JSON Example
{
  "eventType": "SessionStarted",
  "data": {
    "id": 7371450,
    "tenantId": 62,
    "channel": "Phone",
    "source": "OutgoingCall",
    "started": "2024-05-02T16:05:24.454661+02:00"
  }
}

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.

JSON Example
{
  "eventType": "SessionOperatorJoined",
  "data": {
    "id": 7371450,
    "tenantId": 62,
    "userId": 4,
    "channel": "Phone",
    "source": "OutgoingCall",
    "time": "2024-05-02T16:05:24.454661+02:00"
  }
}

SessionForwarded

The session was redirected. In this case, there are no details available as in the case of SessionActivitySessionForwarded.

The response may include "userId", "operatorGroupId", or "chatbotId", depending on the target the operator is forwarding to.

JSON Example
{
  "eventType": "SessionForwarded",
  "data": {
    "id": 7373420,
    "tenantId": 62,
    "channel": "Chat",
    "source": "Default",
    "time": "2024-05-03T09:41:31.257306+02:00",
    "userId": null,
    "operatorGroupId": 7299,
    "chatbotId": null
  }
}

SessionEnded

Triggered when a session has ended (the operator or the client has finished the session).

JSON Example
{
  "eventType": "SessionEnded",
  "data": {
    "id": 7363963,
    "tenantId": 62,
    "channel": "Chat",
    "source": "Default",
    "started": "2024-04-30T13:32:31.105138+02:00",
    "ended": "2024-05-02T15:34:12.871976+02:00"
  }
}

SessionOperatorLeft

Once the operator ends the session (clicks the "End" button). It then enters the ACW state.

If multiple operators are active in the session, only one of them is logged into SessionOperatorLeft. For the others, the SessionOperatorConcluded event is logged.

JSON Example
{
  "eventType": "SessionOperatorLeft",
  "data": {
    "id": 7371193,
    "tenantId": 62,
    "userId": 4301,
    "channel": "AV",
    "source": "Invitation",
    "time": "2024-05-02T15:32:52.539588+02:00"
  }
}

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).

JSON Example
{
  "eventType": "SessionOperatorConcluded",
  "data": {
    "id": 7429963,
    "tenantId": 62,
    "userId": 2710,
    "channel": "Chat",
    "source": "Default",
    "time": "2024-05-20T14:46:29.969234+02:00"
  }
}

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.

JSON Example
{
  "eventType": "SessionActivityAutoActivity",
  "data": {
    "sessionId": 7380342,
    "activityId": 50878507,
    "time": "2024-05-06T08:31:13.722852+02:00",
    "type": "AutoActivity",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": null,
    "text": "<p>zpráva</p>",
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

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.

JSON Example
{
  "eventType": "SessionActivityAvRequest",
  "data": {
    "sessionId": 7375793,
    "operatorId": 2710,
    "time": "2024-05-03T13:54:49.450758+02:00"
  }
}

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.

JSON Example
{
  "eventType": "SessionActivityAvTerminated",
  "data": {
    "sessionId": 7375793,
    "operatorId": 2710,
    "time": "2024-05-03T13:57:03.140972+02:00"
  }
}

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.

Form Structure

[

{"inputType": "RichText",

"label": "<p>byt</p>", "ordinal": 1

},

{"inputType": "Text",

"label": "dispozice",

"key": "Dispozice",

"required": true,

"ordinal": 2

},

{"InputType": "Radio",

"label": "centrum", "key": "somethingelse",

"required": true, "ordinal": 3,

"choiceOptions":[

{"value": "ano",

"label": "ano"},

{"value": "ne",

"label": "ne"}]

}

JSON Example
{
  "eventType": "SessionActivityCallScript",
  "data": {
    "sessionId": 7383104,
    "activityId": 50894607,
    "time": "2024-05-06T13:46:07.605708+02:00",
    "type": "CallScript",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": [
      {
        "inputType": "RichText",
        "label": "<p>Dobrý den, pane XXX</p>",
        "ordinal": 1
      },
      {
        "inputType": "Text",
        "label": "Dispozice",
        "key": "dispozice",
        "required": true,
        "ordinal": 2
      },
      {
        "inputType": "Radio",
        "label": "zvíře",
        "key": "somethingelse",
        "required": true,
        "ordinal": 3,
        "choiceOptions": [
          {
            "value": "kočka",
            "label": "kočka"
          }
        ]
      },
      {
        "inputType": "Radio",
        "label": "dfdfdfdfsdf",
        "key": "ujasnění",
        "required": true,
        "ordinal": 4,
        "choiceOptions": [
          {
            "value": "ano",
            "label": "ano"
          }
        ]
      }
    ],
    "client": null,
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": "afebe607-a007-489d-ba03-dd9deaa17f8d",
    "terminationReason": null
  }
}

SessionActivityCallScriptSubmission

In the session, the CallScript is confirmed by the operator. CallScript is used only for telephone campaigns.

The webhook is delivered as soon as the ACW session is over.

JSON Example
{
  "eventType": "SessionActivityCallScriptSubmission",
  "data": {
    "sessionId": 7383014,
    "activityId": 50894089,
    "time": "2024-05-06T13:37:57.649363+02:00",
    "type": "CallScriptSubmission",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "Guest",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityCobrowsingStarted

In the session, cobrowsing was initiated and the client agreed to the request from the operator.

JSON Example
{
  "eventType": "SessionActivityCobrowsingStarted",
  "data": {
    "sessionId": 7383263,
    "activityId": 50895810,
    "time": "2024-05-06T14:10:19.928721+02:00",
    "type": "CobrowsingStarted",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "Guest",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

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).

JSON Example
{
  "eventType": "SessionActivityExternalMessage",
  "data": {
    "sessionId": 7369378,
    "activityId": 50896981,
    "time": "2024-05-06T14:33:06.262+02:00",
    "type": "ExternalMessage",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": null,
    "text": "Dobrý den",
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityHeroCard

A HeroCard was sent during the session.

HeroCard Structure

[

{"inputType": "RichText",

"label": "<p>byt</p>", "ordinal": 1

},

{"inputType": "Text",

"label": "dispozice",

"key": "Dispozice",

"required": true,

"ordinal": 2

},

{"InputType": "Radio",

"label": "centrum", "key": "somethingelse",

"required": true, "ordinal": 3,

"choiceOptions":[

{"value": "ano",

"label": "ano"},

{"value": "ne",

"label": "ne"}]

}

The "client" parameter can take values (User, Chatbot). Depending on this, the value of the "userId" or "chatbotId" parameter is also filled in.

JSON Example
{
  "eventType": "SessionActivityHeroCard",
  "data": {
    "sessionId": 7383497,
    "activityId": 50897242,
    "time": "2024-05-06T14:37:20.236594+02:00",
    "type": "HeroCard",
    "heroCard": [
      {
        "inputType": "RichText",
        "label": "<p>Prosím, zadejte své kontaktní údaje.</p>",
        "ordinal": 1
      },
      {
        "inputType": "Text",
        "label": "Jméno",
        "key": "oo1_guest_ident",
        "required": true,
        "ordinal": 2
      },
      {
        "inputType": "Text",
        "label": "E-mail",
        "key": "oo1_guest_email",
        "required": true,
        "ordinal": 3
      },
      {
        "inputType": "Text",
        "label": "Telefon",
        "key": "oo1_guest_phone",
        "required": false,
        "ordinal": 4
      },
      {
        "inputType": "Confirmation",
        "label": "Confirm label",
        "ordinal": 5
      }
    ],
    "heroCardParams": null,
    "callScript": null,
    "client": "Chatbot",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": 329,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": "e5e7d280-9d29-4668-ae92-2dd27a8902cf",
    "terminationReason": null
  }
}

SessionActivityHeroCardSubmission

It is logged when the HeroCard is confirmed/canceled (submitted/canceled).

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.

JSON Example
{
  "eventType": "SessionActivityHeroCardSubmission",
  "data": {
    "sessionId": 7383497,
    "result": "Submitted",
    "originalFormID": 2273,
    "submittedByClient": false,
    "params": {
      "barva": "Červená",
      "model": "Focus",
      "palivo": "Benzín",
      "oo1_guest_ident": "Zbyněk Hostaš",
      "značka": "Volkswagen",
      "číslo ŘP": "147852369"
    },
    "time": "2024-05-06T14:44:07.799984+02:00"
  }
}

SessionActivityChatToMail

It occurs when the client enters an e-mail in the Feedback Form and sends a transcript, or the operator sends it.

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.

JSON Example
{
  "eventType": "SessionActivityChatToMail",
  "data": {
    "sessionId": 7383497,
    "activityId": 50897938,
    "time": "2024-05-06T14:49:23.808642+02:00",
    "type": "ChatToMail",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

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.

JSON Example
{
  "eventType": "SessionActivityLastFarewellMessage",
  "data": {
    "sessionId": 7404414,
    "activityId": 51135367,
    "time": "2024-05-15T15:32:58.045333+02:00",
    "type": "LastFarewellMessage",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": null,
    "text": "We’re sorry, but your request was automatically closed due to exceeding the 24-hour response time set by WhatsApp and Facebook. If your question is still up to date, please contact us again. Thank you.",
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityPreviewUrl

A message containing a URL link appears in the session.

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.

JSON Example
{
  "eventType": "SessionActivityPreviewUrl",
  "data": {
    "sessionId": 7383741,
    "activityId": 50899088,
    "time": "2024-05-06T15:10:16.12969+02:00",
    "type": "PreviewUrl",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "Guest",
    "text": null,
    "previewUrl": {
      "title": "Seznam – najdu tam, co neznám",
      "imageUrl": "http://www.seznam.cz/media/img/logo-share-square_v2.png",
      "contentType": 1,
      "originalUrl": "http://www.seznam.cz/",
      "originalActivityId": 50899086
    },
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityOnHold

During a call, the operator puts the call on hold (the "Hold call" button).

JSON Example
{
  "eventType": "SessionActivityOnHold",
  "data": {
    "sessionId": 7383730,
    "activityId": 50898864,
    "time": "2024-05-06T15:05:29.719899+02:00",
    "type": "OnHold",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityOperatorInviteCanceled

The operator invited another operator to the session and canceled the invitation before the operator joined.

UserId indicates the operator who canceled the invitation.

JSON Example
{
  "eventType": "SessionActivityOperatorInviteCanceled",
  "data": {
    "sessionId": 7383741,
    "activityId": 50899127,
    "time": "2024-05-06T15:11:36.541724+02:00",
    "type": "OperatorInviteCanceled",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityOperatorInvited

The operator invited another operator into the session. UserId indicates the operator who sent the invitation.

JSON Example
{
  "eventType": "SessionActivityOperatorInvited",
  "data": {
    "sessionId": 7383741,
    "activityId": 50899168,
    "time": "2024-05-06T15:12:44.604+02:00",
    "type": "OperatorInvited",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": 4254,
    "toOperatorFullName": "Štěpán Bazala",
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": "",
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityOperatorInviteRejected

The operator invited another operator to the session and he declined the invitation. UserId indicates the operator who declined the invitation.

JSON Example
{
  "eventType": "SessionActivityOperatorInviteRejected",
  "data": {
    "sessionId": 7383936,
    "activityId": 50900431,
    "time": "2024-05-06T15:45:46.295607+02:00",
    "type": "OperatorInviteRejected",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 4254,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityResumeGuest

The event is closely related to another event (SessionActivityOnHold) that precedes this one. This time the operator clicks on the "Continue call" button.

JSON Example
{
  "eventType": "SessionActivityResumeGuest",
  "data": {
    "sessionId": 7383786,
    "activityId": 50899230,
    "time": "2024-05-06T15:14:50.080729+02:00",
    "type": "ResumeGuest",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivitySessionEnded

It's sent whenever a session ends no matter how it happened or who did it.

JSON Example
{
  "eventType": "SessionActivitySessionEnded",
  "data": {
    "sessionId": 7383798,
    "activityId": 50899289,
    "time": "2024-05-06T15:16:43.605072+02:00",
    "type": "SessionEnded",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "Guest",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": "GuestLeft"
  }
}

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.

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.

JSON Example
{
  "eventType": "SessionActivitySessionForwarded",
  "data": {
    "sessionId": 7383798,
    "activityId": 50899288,
    "time": "2024-05-06T15:16:41.556226+02:00",
    "type": "SessionForwarded",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": 4,
    "toOperatorFullName": "Ondřej Fogatoš",
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivitySharedFile

Within a session, a file is shared (by the operator or client).

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.

JSON Example
{
  "eventType": "SessionActivitySharedFile",
  "data": {
    "sessionId": 7418778,
    "activityId": 51164839,
    "time": "2024-05-16T14:21:41.771847+02:00",
    "type": "SharedFile",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": {
      "id": 2572911,
      "operatorOwner": 2710,
      "departmentOwner": null,
      "name": "png-clipart-alarm-clock-nightstand-graphy-clock-digital-clock-time.png",
      "downloadUrl": null,
      "isUploading": false,
      "isDeleted": false
    },
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivitySharedScreen

This is screen sharing either by the client or by the operator.

The "client" parameter takes the values Guest or User. If an operator shares the screen, its id is also stored in the userId parameter.

JSON Example
{
  "eventType": "SessionActivitySharedScreen",
  "data": {
    "sessionId": 7383872,
    "activityId": 50900005,
    "time": "2024-05-06T15:35:02.284622+02:00",
    "type": "SharedScreen",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityWelcomeMessage

The Welcome message appeared during the session.

JSON Example
{
  "eventType": "SessionActivityWelcomeMessage",
  "data": {
    "sessionId": 7383872,
    "activityId": 50899893,
    "time": "2024-05-06T15:31:14.63027+02:00",
    "type": "WelcomeMessage",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": null,
    "text": "Dobrý den, jsme rádi, že využíváte chat firmy mluvii. 
             Co vás k nám přivádí? ",
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

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).

JSON Example
{
  "eventType": "SessionCallParamsUpdated",
  "data": {
    "id": 7383872,
    "tenantId": 62
  }
}

E-mails

EmailThreadCreated

It happens when a new email thread is created. Either the client or the operator can start it.

Tato událost se zaloguje i v případě forwardu e-mailu (přeposlání na jinou e-mailovou adresu) ze strany operátora.

JSON Example
{
  "eventType": "EmailThreadCreated",
  "data": {
    "id": 749422,
    "tenantId": 62,
    "created": "2024-05-09T14:40:38+02:00"
  }
}

EmailThreadOperatorJoined

The webhook is delivered when the operator accepts an email message from the group queue.

JSON Example
{
  "eventType": "EmailThreadOperatorJoined",
  "data": {
    "id": 749425,
    "tenantId": 62,
    "userId": 2710,
    "time": "2024-05-13T12:03:15.57364+02:00"
  }
}

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).

JSON Example
{
  "eventType": "EmailThreadOperatorLeft",
  "data": {
    "id": 749425,
    "tenantId": 62,
    "userId": 2710,
    "time": "2024-05-13T12:04:36.435817+02:00"
  }
}

EmailThreadForwarded

The webhook is delivered when the email thread is forwarded.

Along with this event, EmailThreadOperatorLeft is also logged (the operator has disconnected at the same time).

JSON Example
{
  "eventType": "EmailThreadForwarded",
  "data": {
    "id": 749422,
    "tenantId": 62,
    "time": "2024-05-13T12:23:20.866743+02:00",
    "userId": 4254,
    "operatorGroupId": null
  }
}

EmailThreadParamsUpdated

The webhook is delivered when a parameter is added to the email thread by the operator or by the Public API.

JSON Example
{
  "eventType": "EmailThreadParamsUpdated",
  "data": {
    "id": 749422,
    "tenantId": 62
  }
}

Others

ApplicationSettingChanged

The webhook is delivered when any change is made to the tenant settings.

For each change made to the tenant settings, the Public API returns 18 responses.

JSON Example
{
  "eventType": "ApplicationSettingChanged",
  "data": {
    "name": "phoneCallNumberBlockMinutes",
    "companyId": 1,
    "departmentId": 62,
    "operatorGroupId": null,
    "userId": null,
    "routingRuleSetId": null
  }
}

GuestIdentityUpdated

The webhook is delivered as soon as the client information changes.

The id above indicates the id of the Contact Directory entry.

JSON Example
{
  "eventType": "GuestIdentityUpdated",
  "data": {
    "id": 3539865,
    "tenantId": 62
  }
}

SessionRecordingPostProcessingCompleted

The processing of the Audio/Video recording after the session was completed.

JSON Example
{
  "eventType": "SessionRecordingPostProcessingCompleted",
  "data": {
    "id": 7404608,
    "tenantId": 62
  }
}

UserStatusChanged

The webhook is delivered when the operator state changes.

JSON Example
{
  "eventType": "UserStatusChanged",
  "data": {
    "userId": 2710,
    "status": "AWAY",
    "availabilityStatus": "AWAY",
    "availabilityStatusReason": null
  }
}

Enums

GetMediaResult

SessionAVRequestState

Session source

Session channel

Operator status

Operator availability status

Termination reason

General settings

Last updated