In order to provide the integration between Knovvu Virtual Agent and Genesys Cloud CX, the necessary configuration settings described below must be completed.
1. Creating Open Messaging
- Go to Admin > Platforms under Message.
- Create a New Integration in Open Messaging type.
{{vaBaseUrl}}/livechathub/EventListener/genesys/message
- Outbound Notification Webhook Signature Secret Token is not being used by SESTEK, and a random value can be written.
After saving the open messaging platform, an ID will be generated by Genesys. This ID can be seen in the URL. Please send this information to SESTEK, since they will be used in configurations in SESTEK side.
2. Adding the Integration
- Go to Admin > Integrations.
- Create a new Web Services Data Actions integration.
- Give a name to your integration, Knovvu Virtual Agent as an example. In the Configuration tab, Mutual TLS Client Certificate Authority should be Genesys, as below:
3. Adding Disconnect Action
- Go to Admin > Actions under Integrations.
- Add a new Action. Select the Integration you created in the previous step. This action will be used to send the disconnect event to SESTEK when a conversation ends, to stop the connection. Action name can be "DisconnectEvent", as an example
- The inputs in the Action should be as follow:
Input json:
{
"title": "Inputs",
"type": "object",
"additionalProperties": true,
"properties": {
"status": {
"type": "string"
},
"direction": {
"type": "string"
},
"conversationId": {
"type": "string"
}
}
}
Output json:,
{
"type": "object",
"additionalProperties": true,
"properties": {}
}
- In the Configuration tab, the configuration should be as below:
Request:
{
"requestType": "POST",
"requestTemplate": "${input.rawRequest}",
"requestUrlTemplate": "https://{{vaBaseURL}}/livechathub/EventListener/genesys/message",
"headers": {}
}
Response:
{
"translationMap": {},
"translationMapDefaults": {},
"successTemplate": "${rawResult}"
}
requestUrlTemplate parameter in the request should be set by SESTEK, and is the same Knovvu Live Chat Hub URL identified while creating Open Messaging.
- Publish the action.
Architect Settings
4. Flow to receive Disconnect event
- Go to Admin > Architect.
- Create a new flow in Workflow type. This flow will be used to send Disconnect event to SESTEK.
- Prepare the flow as below:
- In Call Data Action node configurations, select the Integration you created as Category and the Action you created as the Data Action.
- Go to Data from the left menu and create a new variable called "addressTo" in string type. The settings should be as below:
5. Flow to transfer bot conversation to Genesys live agent
- Go to Admin > Architect.
- Create a flow in Inbound Message type or use an existing one. This flow will be used when a bot conversation handled by Knovvu VA is being transferred to a Genesy live agent. You can customize the flow as your requirements.
- Go to Admin > Message Routing unedr Routing.
- Create a new routing. Select the Flow and Open Messaging you created.
This makes it possible for the bot conversation to be sent to related flow, to assign a queue/live agent.
6. Trigger to send Disconnect event to SESTEK
- Go to Admin > Triggers under Architect.
- Add a new trigger.
- Topic name should be: v2.detail.events.conversation.{id}.user.end
- Workflow target should be the workflow-type flow in the 4th step.
- Data Format should be TopLevelPrimitives.
- As Condition, add a new condition as below:
- JSON Path should be messageType.
- Operator should be Equals(==).
- Value should be OPEN.
- The Timing Configuration should be TTL. TTL seconds should be 10.
7. Giving required permissions
- Go to Admin > Roles / Permissions.
- The users, who will use the integration should have these permissions, addition to the employee role permissions:
- conversation:message:receive
- conversation:message:view
- conversation:webmessaging:view
- conversation:communication:disconnect
- processautomation:trigger:add
Assign these permissions to the employee role, or create a new role by combining these permissions and employee permissions.
8. Creating Client
- Go to Admin > OAuth under Integrations.
- Create a client.
- Grant Type should be Client Credentials.
- Assign the Role you will use for the integration.
After saving the client, Client ID and Client Secret will be generated by Genesys. Please send this information to SESTEK, since they will be used in configurations in SESTEK side.