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.

EventTime

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.

ParameterValueExample

id

number

7293902

tenantId

number

62

channel

string

source

string

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.

ParameterValueExample

id

number

7293902

tenantId

number

62

channel

string

source

string

started

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

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.

ParameterValueExample

id

number

7293902

tenantId

number

62

userId

number

2710

channel

string

source

string

time

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

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.

ParameterValueExample

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.

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

ParameterValueExample

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

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.

ParameterValueExample

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.

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

ParameterValueExample

id

number

7293902

tenantId

number

62

userId

number

2710

channel

string

source

string

time

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

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.

ParameterValueExample

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í?"

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.

ParameterValueExample

sessionId

number

7293902

userId

number

4555

time

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

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.

ParameterValueExample

sessionId

number

7293902

userId

number

4555

time

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

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.

ParameterValueExample

sessionId

number

7293902

time

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

type

string

CallScript

callscript

array

Form Structure (bellow)

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.

ParameterValueExample

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.

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.

ParameterValueExample

sessionId

number

7293902

activityId

number

49717950

time

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

type

string

SessionActivityCobrowsingStarted

client

string

Guest

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

ParameterValueExample

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

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.

ParameterValueExample

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

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

ParameterValueExample

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.

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.

ParameterValueExample

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.

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.

ParameterValueExample

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

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.

ParameterValueExample

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

Google

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

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

ParameterValueExample

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

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.

ParameterValueExample

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.

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.

ParameterValueExample

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

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.

ParameterValueExample

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

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.

ParameterValueExample

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

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.

ParameterValueExample

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

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.

ParameterValueExample

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.

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

ParameterValueExample

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.

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.

ParameterValueExample

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.

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.

ParameterValueExample

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

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

ParameterValueExample

sessionId

number

7293902

tenantId

number

62

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.

ParameterValueExample

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.

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.

ParameterValueExample

id

number

742633

time

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

userId

number

2710

tenantId

number

62

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

ParameterValueExample

id

number

742633

time

datetime

yyyy-MM-dd'T'HH:mm:ss,SSSZZZZ

userId

number

2710

tenantId

number

62

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.

ParameterValueExample

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

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.

ParameterValueExample

id

number

742633

tenantId

number

62

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

Others

ApplicationSettingChanged

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

ParameterValueExample

name

string

companyId

number

1

tenantId

number

62

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.

ParameterValueExample

id

number

345229

tenantId

number

62

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.

ParameterValueExample

id

number

345229

tenantId

number

62

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

UserStatusChanged

The webhook is delivered when the operator state changes.

ParameterValueExample

userId

number

2710

status

ONLINE

availabilityStatus

DEFAULT

availabilityStatusReason

string

null

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

Enums

GetMediaResult

ValueDescription

Success

Successful transfer

NoCameraOnlyMic

Only microfon

NoDevices

No audio/video devices

UserDenied

User denied audio/video devices

SessionAVRequestState

ValueDescription

Requested

Requested

Accepted

Accepted

RejectedUser

Rejected by user

RejectedNoMic

Guest does not have microfon

Session source

ValueDescription

Default

WebChat

Callback

Callback

Invitation

Invitation

IncomingCall

Incoming call

OutgoingCall

Outgoing call

Campaign

Campaign

API

Public API

Facebook

Facebook

WhatsApp

WhatsApp

VK

VKontakte

Apple

Apple Messages for Business

Session channel

ValueDescription

AV

Audio video transfer

Chat

Text channel

Phone

Phone call

Operator status

ValueDescription

OFFLINE

Offline

ONLINE

Online

AWAY

Away

Operator availability status

ValueDescription

DEFAULT

Online

AWAY

Away

ON_CALL

AV or phone call

Termination reason

ValueDescription

GuestLeft

Client has disconnected

OperatorLeft

Operator has disconnected

ChatbotLeft

Chatbot has disconnected

General settings

ValueDescription

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