timeout-close
Section: inactivity-control
Default Value: 45
Valid Values: Any integer from 1-86400
Changes Take Effect: Immediately
Modified: 8.5.301.06
Specifies, in seconds, a timeout that starts after "timeout-alert" or "timeout-alert2" (if specified) expires. If any qualifying activity occurs, (see "timeout-alert" or "timeout-alert2" for a description of what qualifies as activity), the timeout stops and both "timeout-alert" and "timeout-alert2" timers are reset. If qualifying activity does not occur, Chat Server:
- Sends the IDLE_CONTROL_CLOSE notice with a message specified by the value of the "message-close" option.
- Closes the chat session.
timeout-alert2
Section: inactivity-control
Default Value: 0
Valid Values: Any integer from 0-86400
Changes Take Effect: Immediately
Modified: 8.5.301.06
Specifies the second inactivity alert timeout, in seconds. The inactivity timeout is set (or reset) for a session after any of the following activities: chat participant joined or left, chat participant sent a message or a notice (as defined by "include-notices"). If no qualifying activity is detected during this timeout, Chat Server
- Sends the IDLE_CONTROL_ALERT notice with a message specified by the value of the "message-alert2" option.
- Starts the timeout specified by the value of the "timeout-close" option.
Attention: Timeout will not be used if the specified value is zero.
timeout-alert
Section: inactivity-control
Default Value: 255
Valid Values: Any integer from 1-86400
Changes Take Effect: Immediately
Modified: 8.5.301.06
Specifies an inactivity alert timeout, in seconds. The inactivity timeout is set (or reset) for a session after any of the following activities: chat participant joined or left, chat participant sent a message or a notice (as defined by "include-notices"). If no qualifying activity is detected during this timeout, Chat Server:
- Sends the IDLE_CONTROL_ALERT notice with a message specified by the value of the "message-alert" option.
- Starts the timeout specified by the value of the "timeout-alert2" (if specified) or "timeout-close" option.
message-close
Section: inactivity-control
Default Value: Chat session closed due to inactivity of chat participants.
Valid Values: Any string
Changes Take Effect: Immediately
Specifies the message sent to chat participants upon expiration of the timeout specified by the option "timeout-close".
If an empty string is specified, no message is sent.
message-alert2
Section: inactivity-control
Default Value: Chat session will be closed very soon due to inactivity of chat participants.
Valid Values: Any string
Changes Take Effect: Immediately
Specifies the message sent to chat participants upon expiration of the timeout configured as the value of the "timeout-alert2" option.
If an empty string is specified, no message is sent.
message-alert
Section: inactivity-control
Default Value: Chat session will be closed soon due to inactivity of chat participants.
Valid Values: Any string
Changes Take Effect: Immediately
Specifies the message sent to chat participants upon expiration of the timeout which is specified by the option "timeout-alert".
If an empty string is specified, no message is sent.
include-notices
Section: inactivity-control
Default Value: major
Valid Values: none, major, major2, typing, all
Changes Take Effect: Immediately
Modified: 8.5.310.09
Specifies which notifications count as chat session activity for the purpose of inactivity control.
- all: All user notifications are included (custom, push URL, typing on/off, update nickname).
- major: Only major notifications are included (push URL, file uploaded, file deleted).
- major2: Extends the major value with custom notifications.
- none: All notifications are excluded.
- typing: Only major and "typing on" notifications are included.
enabled
Section: inactivity-control
Default Value: false
Valid Values: true, false
Changes Take Effect: Immediately
Enables (true) or disables (false, the default) chat session inactivity control by Chat Server.
For active sessions, enabling or disabling of inactivity control takes effect only after some activity of chat participants occurs,
or after the current inactivity timeout (specified by the "timeout-alert", "timeout-alert2" and "timeout-close" options) expires.
How to send ESP requests to Chat Session from Workflow
Introduction
Genesys can send messages, notices (types are limited), and other requests to a chat session from a workflow (an URS [Universal Routing Server]/ORS [Orchestration Server] strategy).
For example, when a customer starts a chat session from the web page, the chat session is created in Chat Server and corresponding interaction is submitted in Interaction Server. At some point, the interaction is processed by the workflow, which can send a message like "agent will be with you shortly... " and then the routing starts (to find an agent to serve this chat communication).
Prerequisites
Interaction Server application (in configuration) must be connected to Chat Server application's "ESP" port.
How to Implement
The following steps are necessary in order to send a message or notice from the URS strategy:
- Verify that the interaction is still online by checking that UData['IsOnline'] != '0'. If the interaction is offline, which means that the chat session is closed, there is no sense to send messages into it.
- Extract from the interaction properties the name of the Chat Server application which is processing/handling the ongoing chat session. This can be achieved by assigning UData['ChatServerAppName'] to a local variable.
- Use the External Service block in the Data and Services palette in IR Designer (or the External Service block in the Server Side palette in Composer) to send a request. The following general parameters must be specified:
- The Application type must be set to ChatServer.
- The Application name must be set to a value obtained from the user data in step 2.
- The Service name is set to Chat.
- The Don't send user data must be unchecked.
- Set the corresponding Method name to send one of the ESP requests, described below.
- Provide mandatory parameters.
Example: In order for the workflow to process internal communication interactions used to invite another agent for a conference or a consult through the queue, the skills, or the agent group, the InteractionId parameter must be initialized with the value of the parent chat interaction UData['ParentId'].
Method Message
Message – Submits a text message to a chat session. Provide the following parameters:
Parameter | Mandatory | Value Description |
---|---|---|
MessageText | yes | Message text to submit to a chat session |
MessageType | optional | Specifies any arbitrary text as message type (transparent for Chat Server). |
Nickname | optional | Specifies the nick name of a participant on behalf of whom the message will be shown in a chat session. |
Visibility | optional | Possible values:
Use visibility wisely as not all components (including Genesys Workspace) may show it correctly. |
EventAttributes | optional | Specifies a nested list of attributes which are associated with the message provided. For more information, see Key-value collection format specification below with its Example. Available in Chat Server since 8.5.201.05. |
Event3rdServerResponse
Parameter | Value type | Mandatory | Value Description |
---|---|---|---|
OccuredAt | String | Yes | Timestamp for when the method was processed. |
ScriptPos | Integer | Yes | Position of the message submitted in the chat transcript. Positioning starts from 0. |
Method Notice
Notice – Sends a notification of the specified type to a chat session. Provide the following parameters:
Parameter | Mandatory | Value Description |
---|---|---|
NoticeType | yes | Possible values:
|
NoticeText | optional | Any arbitrary text. |
Nickname | optional | Specifies the nick name of a participant on behalf of whom the message will be shown in a chat session. |
Visibility | optional | Possible values:
Use visibility wisely as not all components (including Genesys Workspace) may show it correctly. |
EventAttributes | optional | Specifies a nested list of attributes which are associated with the notice provided. For more information, see Key-value collection format specification below. Available in Chat Server since 8.5.201.05. |
Event3rdServerResponse
Parameter | Value type | Mandatory | Value Description |
---|---|---|---|
OccuredAt | String | Yes | Timestamp for when the method was processed. |
ScriptPos | Integer | Yes | Position of the message submitted in the chat transcript. Positioning starts from 0. |
Method PlaceOnHold
PlaceOnHold – Places the chat session on hold which sets GCTI_Chat_AsyncStatus to -2.
After calling this ESP method, the workflow must place the interaction into the waiting queue (in Chat Business Process Sample this is done through async-chat-return-queue). GCTI_Chat_AsyncStatus must not be set by the workflow itself since the Chat Server does not send a GCTI_Chat_AsyncStatus update upon the arrival of a new message from a customer, if Chat Server was not explicitly notified through this ESP method.
Request3rdServer
No parameters required.
Event3rdServerResponse
Parameter | Value type | Mandatory | Value Description |
---|---|---|---|
OccuredAt | String | Yes | Timestamp for when the method was processed. |
Method CloseSession
CloseSession – Closes an alive session; Chat Server:
- Notifies active participants
- Updates the UCS record with the final transcript and chat closed date
- Updates IsOnline=0 and stat metrics (if configured) in Interaction Server
- Marks the chat session as Closed internally (but does not immediately remove it from memory, allowing a customer time to request the last transcript fetch).
Request3rdServer
Parameter | Value type | Mandatory | Value Description |
---|---|---|---|
CloseIfNoAgents | String | Optional | Possible values:
|
Purge | String | Optional | When this value is true, Chat Server removes the chat session from its memory without executing any closing actions (such as notifying participants, or updating the UCS and Interaction Server). This request is used internally when session-restore-do-purge=true. Available in Chat Server since 8.5.312.10. |
Event3rdServerResponse
Parameter | Value type | Mandatory | Value Description |
---|---|---|---|
OccuredAt | String | Yes | Timestamp for when the method was processed. |
IsClosed | Integer | Yes | Possible Values:
|
Method GetSessionInfo
GetSessionInfo – Returns information regarding the session.
Request3rdServer
No parameters required.
Event3rdServerResponse
Parameter | Value type | Mandatory | Value Description |
---|---|---|---|
OccuredAt | String | Yes | Timestamp for when the method was processed. |
SessionInfo | Key-value list | Yes | Lists the following info
|
Method IdleControlConfigure
IdleControlConfigure – allows to change the configuration for inactivity control monitoring for a given chat session. Provide the following parameters (while all parameters are optional, at least one parameter must be provided):
Parameter | Mandatory | Notes |
---|---|---|
reset-parameters | optional | Resets all inactivity control parameters to values provided in the Chat Server application configuration. Valid values: true / false (default). |
enabled | optional | |
include-notices | optional | |
message-alert | optional | |
message-alert2 | optional | Available starting with Chat Server release 8.5.107.11 |
message-close | optional | |
timeout-alert | optional | |
timeout-alert2 | optional | Available starting with Chat Server release 8.5.107.11 |
timeout-close | optional |
Event3rdServerResponse
Parameter | Value type | Mandatory | Value Description |
---|---|---|---|
OccuredAt | String | Yes | Timestamp for when the method was processed. |
Method ConfigureSession
ConfigureSession - allows you to change the language for the current chat session. At least one of the following parameters must be included:
Parameter | Mandatory | Value Description |
---|---|---|
async-idle-reset | optional | If the value 1 is provided, Chat Server resets async idle timeouts (in other words, starts counting from zero). |
GCTI_LanguageCode | optional | If this parameter is present, other parameters are ignored . The parameter must contain the name of the language business attribute. |
GCTI_LanguageName | optional | This parameter is used only if the GCTI_LanguageCode parameter is not present. Parameters are processed as described in the How Chat Server Associates Sessions with Languages section. |
Event3rdServerResponse
Parameter | Value type | Mandatory | Value Description |
---|---|---|---|
OccuredAt | String | Yes | Timestamp for when the method was processed. |
Key-value collection format specification
In order to provide data of type key-value collection in requests from URS workflow, the following parameters must be included in Interaction Routing Designer:
- The parameter Name should be prefixed with {l} (lowercase L in curly brackets). This triggers URS to process the parameter value as a nesting list of key-value pairs.
- The parameter value can be specified in either of the following formats (Note: no line breaks allowed and whitespaces are ignored):
- JSON-like style (can only be provided through the variable)
{"key1":"value1","key2":"value2","key3":{"subkey1":"subvalue1"}}
- List-like style (can be provided directly in the parameter)
key1:value1|key2:value2|key3.subkey1:subvalue1
- JSON-like style (can only be provided through the variable)
Example
In order to send a Rich Text message with Quick Replies, the following string must be provided as a value for the EventAttributes parameter in the Method Message:
{"structured-content":{"genesys-chat":{"content":"{\"type\":\"Message\",\"contentType\":\"quick-replies\",\"content\":[{\"id\":1,\"type\":\"quick-reply\",\"action\":\"message\",\"text\":\"Black\"},{\"id\":2,\"type\":\"quick-reply\",\"action\":\"message\",\"text\":\"Green\"},{\"id\":3,\"type\":\"quick-reply\",\"action\":\"message\",\"text\":\"Mint\"}]}", "type":"Generic"}}}
It is important that the actual Rich Text element body JSON (specified in content) is escaped so it will be treated as a value instead of being converted into a nested Key/Value list structure.