Agent¶
das-Peak Streaming Genesys Cloud agent based solution is built as a Genesys Cloud Interaction Widget.
Veridas provides resources to set up an integration. However, customers are required to build their own cloud server to serve these resources. This integration gives flexibility to customers and also allow them to implement their own credential management.
Integration steps¶
Next steps will show you how to create and configure a complete integration. As a previous requirement, customers need to have a Genesys Cloud account and some administration knowledge.
Step1: Get Javascript files from Veridas¶
Veridas provides some Javascript files with all required logic to integrate with das-Peak Streaming. Following files are provided:
- daspeak-streaming-web-agent-genesys.bundle.js: Containts all integration logic and UI implementation.
- config.js: Includes integration configuration.
- utils.js: Includes some utilities such as database storage and authentication.
Contact with Veridas to get das-Peak Streaming Genesys Cloud integration files.
Step2: Create your web server index page¶
Cloud server index home page should be an index.html
file with following content:
<!doctype html>
<html lang="en-GB">
<head>
<meta charset="utf-8">
<style>
body {
background: #fafafa;
}
</style>
<script type="module" src="./js/daspeak-streaming-web-agent-genesys.bundle.js"></script>
</head>
<body>
<daspeak-streaming-web-agent-genesys
redirectUrl="{{ HOST_URL }}"
clientId="{{ GENESYS_CLOUD_CLIENT_ID }}"
/>
<script type="module">
import config from './js/config.js';
import utils from './js/utils.js';
const daspeakStreamingWebAgentGenesys = document.querySelector("daspeak-streaming-web-agent-genesys")
function loadConfigAndUtils() {
daspeakStreamingWebAgentGenesys.config = config;
daspeakStreamingWebAgentGenesys.utils = utils;
}
daspeakStreamingWebAgentGenesys.onload = loadConfigAndUtils();
</script>
</body>
</html>
Replace {{ HOST_URL }}
with your server URL.
Step3: Create authentication backend¶
Integrators must create an authentication backend in order to get access to das-Peak Streaming. This backend can be implemented in the same service as web server or in a different one. Check how das-Peak Streaming authentication works to set up your authentication backend.
Step4: Set configuration and utilities files¶
config.js
and utils.js
file should be filled with suitable values for integration. Make sure to set these values and to store these files before running the integration.
Next, an example of a configuration file is shown:
export default {
daspeakStreamingSignallingUrl: '{{ DASPEAK_STREAMING_URL }}',
authenticationServerUrl: '{{ HOST_URL }}' + '/oauth',
register: {
audioTotalDuration: '5',
authenticityThreshold: '0.8',
modelHash: '{{ MODEL_HASH }}'
},
verify: {
audioTotalDuration: '3',
authenticityThreshold: '0.8',
scoreThreshold: '0.8'
}
};
Configuration file must be filled with suitable values:
Parameter | Description | Allowed values |
---|---|---|
daspeakStreamingSignallingUrl | das-Peak Streaming Socket.IO Signalling Channel URL (Provided by Veridas) | URL format |
authenticationServerUrl | URL of authentication backend to obtain OAuth access token. | URL format |
register.audioTotalDuration | Minimum amount of seconds of speech required to process the audio for a registration process. | ['0.0', '30.0'] |
register.authenticityThreshold | Authenticity threshold required for a registration process to succeed. | ['0.0', '1.0'] |
register.modelHash | Hash of biometric model to be used. | (Provided by Veridas) |
verify.audioTotalDuration | Minimum amount of seconds of speech required to process the audio for a verification process. | ['0.0', '30.0'] |
verify.authenticityThreshold | Authenticity threshold required for a verification process to succeed. | ['0.0', '1.0'] |
verify.scoreThreshold | Minimum threshold required for a verification process to succeed. | ['0.0', '1.0'] |
Check how to configure utilities file.
Step5: Create a Genesys Cloud OAuth Client¶
In order to give permissions to the Interaction Widget, an OAuth client must be created into your Genesys Cloud account. Make sure Grant Type is set as "Token Implicit Grant (Browser)" and "Authorized Redirect URIs" list contains your cloud server URI.
Replace {{ GENESYS_CLOUD_CLIENT_ID }}
with your created OAuth Client ID in previous index.html
file.
Step6: Create a Genesys Cloud Interaction Widget¶
Into your Genesys Cloud account, go to Integrations > Integrations
and create a new "Interaction Widget" integration. Give it your preferred name (e.g: das-Peak Streaming Integration
) and set following configuration:
- Application URL:
https://{{ HOST_URL }}///?langTag={{ gcLangTag }}&gcTargetEnv={{ gcTargetEnv }}&gcHostOrigin={{ gcHostOrigin }}&conversationId={{ gcConversationId }}&usePopupAuth={{ gcUsePopupAuth }}&pcEnvironment={{ pcEnvironment }}&gcConversationId={{ gcConversationId }}
- Iframe Sandbox Options:
allow-forms,allow-modals,allow-popups,allow-presentation,allow-same-origin,allow-scripts,allow-downloads
- Iframe Feature/Permissions Policy:
camera,microphone,geolocation,clipboard-write,display-capture,fullscreen
- Group Filtering: (Optional)
- Queue Filtering: (Optional)
- Communication Type Filtering:
call
Also, set following advanced settings:
{
"lifecycle": {
"ephemeral": false,
"hooks": {
"blur": true,
"focus": true,
"bootstrap": true,
"stop": true
}
}
}
Make sure to activate the integration.
Step7: Create Audiohook Integration¶
Audiohook integration is needed in order to send call streaming audio to das-Peak Streaming through Genesys Audiohook Audio Channel.
Into your Genesys Cloud account, go to Integrations > Integrations
and create a new "AudioHook Integration". Give it your preferred name (e.g: das-Peak Streaming Audiohook
) and set following configuration:
- Channel:
external
- Connection URI:
{{ DASPEAK_STREAMING_AUDIOHOOK_URI }}
(provided by Veridas)
Finally, configure credentials with Veridas provided API Key value and activate the integration.