The integration of Genesys within the Eccentex Dynamic Case Management (DCM) platform enables seamless communication and interaction with Genesys customer engagement solutions. This integration empowers your organization to provide efficient and personalized customer service by leveraging Genesys's robust capabilities within the DCM environment.
Prerequisites
Before you begin the installation process, ensure that you have the following prerequisites in place:
Access Credentials: You must have access credentials and permissions for your Eccentex DCM environment and your Genesys account. This includes administrative access to configure and set up the integration.
Genesys API Key: Obtain the necessary API key or authentication credentials from Genesys. This key is essential for establishing a secure connection between DCM and Genesys.
DCM Configuration: Ensure that your Eccentex DCM environment is correctly configured and accessible.
Step 1: Ensure you have access to your DCM application
It's convenient to keep the values of the keys in a text editor so you can refer to them throughout the installation process.
Log into your AppBase environment
On the top right, navigate to your solution: → your solution.
Locate the URL at the top of the browser. It should be something like this: https://trydcm.eccentex.com/Ecx.Web?appid=ROOT_CASEMANAGEMENT&d=DCM_SOLUTION.TENANT99.
Identify the address and the domain (the &d parameter) from the URL and save them for future use. In our example, the APPBASE_SERVER_ADDRESS is https://trydcm.eccentex.com, and the DOMAIN_CODE is DCM_SOLUTION.TENANT99.
Request the CHANNEL_AZURE_CONNECTIONSTRING and CHANNEL_AZURE_QUEUENAME to Eccentex Support. Save them for future use.
Step 2: Ensure you have admin access to your Genesys Cloud environment
It's convenient to keep the values of the keys in a text editor so you can refer to them throughout the installation process.
Log into your Genesys Cloud CX environment
Click onAdmin
Locate theURLat the top of the browser. This could be like https://apps.usw2.pure.cloud.
Save the GENESYS_CLOUD_ADDRESS for future use.
Step 3: Install the Interaction Widget in Genesys Cloud
The "Genesys Interaction Widget" will show you DCM pages during a conversation.
Log in to yourGenesys Cloud CXorg as Administrator
In the configuration screen, set the Interaction Widget's Name. In our example, we use Eccentex Interaction Widget.
Navigate to the Configuration tab and set these settings:
Application URL: Replace the @APPBASE_SERVER_ADDRESS@ with your APPBASE_SERVER_ADDRESS and the @DOMAIN_CODE@ with the DOMAIN_CODE you saved in previous steps. In our example, the URL will look like https://trydcm.eccentex.com/StaticResources/DCM_SOLUTION.TENANT99/genesys_app/index.html?conversationId={{gcConversationId}}
Iframe Sandbox Options: Add the following iframe options separated by a comma: allow-scripts,allow-same-origin,allow-forms,allow-modals,allow-popups,allow-presentation,allow-downloads
Select Group: All agents should be in the current group.
Navigate to the Advanced tab and set the content using the following code, replacing the @APPBASE_SERVER_ADDRESS@ with your APPBASE_SERVER_ADDRESS and the @DOMAIN_CODE@ with the DOMAIN_CODE you saved in previous steps:
Click Save, then go back to the Details tab and activate the widget.
Step 4: Set the default Interaction Widget for each Conversation Type
This step will indicate to Genesys that the Eccentex Interaction Widget should automatically screen-pop to agents when they accept different types of Conversations.
Note: Out-of-the-box integration works for Voice, Chat, Email, and Callback. Other media types, such as SMS, WhatsApp, and Web Messaging, require additional configuration.
In Genesys Cloud, navigate to Admin → Contact Center → Panel Manager
Select your recently created Interaction Widget for the interaction types (Voice, Chat, Email, etc.).
Click Save
Check the Roles / Permission and validate that the Agents have theAgentUI → DefaultPanels → Viewpermissions to view the selected panels as the defaults. Below is an example that gives this permission to an agent role.
Step 5: Install the Standalone App in Genesys Cloud
This step will allow agents to access the Eccentex DCM solution even outside of an active Conversation.
In Genesys Cloud, navigate to Admin → Integrations
Click on theIntegrationsbutton on the top right
Find theEccentex DCMintegration and clickInstall
Set the Name of the app. In our example, we use Eccentex Standalone App
Navigate to the Configuration tab and set these settings:
Application URL: Replace the @APPBASE_SERVER_ADDRESS@ with your APPBASE_SERVER_ADDRESS and the @DOMAIN_CODE@ with the DOMAIN_CODE you saved in previous steps. In our example, the URL will look like https://trydcm.eccentex.com/StaticResources/DCM_SOLUTION.TENANT99/genesys_app/index.html?conversationId={{gcConversationId}}
Application Type: standalone
Save the configuration.
Go back to the Details tab and activate the widget
Step 6: Create a new "Token Implicit Grant (Browser)" OAuth client in Genesys Cloud
We need to configure the OAuth client to enable DCM to receive a user-specific token and use this token to make authorized requests to the Genesys Cloud Platform API.
In Genesys Cloud, navigate to Admin → Integrations → OAuth
Click on theAdd Client button
Set the App Name. In our example, we use Eccentex Implicit Grant.
Set the Grant Types to Token Implicit Grant (Browser).
In the Authorized redirect URIs (one per line) field, add the following URLs, one URL per line. @APPBASE_SERVER_ADDRESS@/StaticResources/@DOMAIN_CODE@/genesys_app/index.html?environment=@GENESYS_ENVIRONMENT@ @APPBASE_SERVER_ADDRESS@/StaticResources/@DOMAIN_CODE@/genesys_app/supervisor.html @APPBASE_SERVER_ADDRESS@/StaticResources/@DOMAIN_CODE@/genesys_app/wizard/index.html
If redirectURI contains a port, add the following URL with the explicit port (443): @APPBASE_SERVER_ADDRESS@:443/StaticResources/@DOMAIN_CODE@/genesys_app/index.html?environment=@GENESYS_ENVIRONMENT@
Replace the @APPBASE_SERVER_ADDRESS@ placeholder with your APPBASE_SERVER_ADDRESS. In our example, https://trydcm.eccentex.com.
Replace the @DOMAIN_CODE@ placeholder with your DOMAIN_CODE. In our example, DCM_SOLUTION.TENANT99.
Replace the @GENESYS_ENVIRONMENT@ placeholder with your GENESYS_ENVIRONMENT. In our example, apps.usw2.pure.cloud.
Add the following items to the Scope box.
alerting
analytics
authorization
authorization:readonly
conversations
conversations:readonly
dialog
dialog:readonly
web-chat
notifications
integrations
routing
routing:readonly
users
users:readonly
Save the configuration.
After saving, the page will refresh. Scroll down to the Client Details section and copy the CLIENT ID (Implicit Grant) and CLIENT SECRET (Implicit Grant) values to be used later.
Step 7: Create OAuth "Client Credentials" in Genesys Cloud
The OAuth client will enable DCM to receive a user-agnostic token, allowing it to make requests to the Genesys Cloud Platform API. DCM uses this to make requests in background.
In Genesys Cloud, navigate toAdmin → Integration → OAuth
Click on the Add Client button
Set theApp Namefield to something recognizable, like DCM Client Credentials
Set theGrant Typeoption to Client Credentials
Create a new role
Add the following permissions:
Architect All Permissions
Analytics All Permissions
Authorization All Permissions
Conversation All Permissions
External Contacts All Permissions
OAuth All Permissions
Reporting All Permissions
Routing All Permissions
Responses All Permissions
Add your user and all agents to the membership of the role.
Assign the created role to OAuth. (If you don't see the role, try to re-login.)
For each of the assigned roles, add Home to the Divisions.
Save the OAuth configuration
The page will refresh. Scroll down to theClient Detailssection that is now visible and copy the CLIENT ID (Client Credentials Grant) and the CLIENT SECRET (Client Credentials Grant) to be used for later.
Step 8: Configure your AppBase environment's security settings
By default, AppBase pages cannot be embedded into 3rd-party iFrames. This step will enable screen-popping DCM pages in Genesys Cloud.
Log into your AppBase environment
On the top right, navigate to → System Setup Home
Navigate toCompany → Security Settings (1).
Click the Edit button (2).
Allow cross-domain communication with AJAX requests for selected domains (3). Set the value to * (star/asterisk).
the Allow to render pages in a frame, iframe, or object for selected domains (CSP) (4).Replace the placemarks @APPBASE_SERVER_ADDRESS@ and @GENESYS_CLOUD_ADDRESS@ with the APPBASE_SERVER_ADDRESS and GENESYS_CLOUD_ADDRESS obtained in the previous step.
Save the configuration and validate the security settings looks like the image below
AppBase does not allow rendering its login/logout pages in an IFrame by default. The feature AppBase Embedded Mode allows AppBase to log in/log out using a popup window, which will then redirect the iframe to a requested page. By default, the AppBaseIframeEmbeddedModeEnabled is disabled, and EmbeddedWhitelistSiteDomains is empty. To enable this feature, set the AppBaseIframeEmbeddedModeEnabled to true and provide whitespace-separated site domains where you planning to render AppBase pages into the EmbeddedWhitelistSiteDomains.
Step 9: Configure your DCM solution's Genesys settings
This step will tell DCM how to communicate with your specific Genesys Cloud org.
Note: The AppBase user must have a Solution Access role
On the top right, navigate to → solution
Navigate to → Setup (1)
In the Genesys → Genesys Settings (2), click the Enabled option for Genesys Integration.
In the Integration Settings section (3), fill out the following fields:
Set the Premium App Name to your Genesys Standalone App name as configured in Step 5.
Select the Genesys Region from the dropdown list.
Set the Service Client ID to your CLIENT ID (Client Credentials Grant)
Set the Service Client Secret to your CLIENT SECRET (Client Credentials Grant)
Set the Premium App Client ID to your CLIENT ID (Implicit Grant)
Save the configuration.
Deploy the solution
Step 10: Create the AWS EventBridge integration in Genesys
AppBase will use AWS EventBridge to receive event updates from Genesys Cloud. To enable this integration, we must configure the AWS EventBridge app in Genesys Cloud.
Click the Partner event sources menu under Integration (2).
Search for Gensys (3).
Verify you are in the same region as the Genesys Region configured in the previous step (4). In our example, US-West.
Click the Set up button (5) and save the AWS ACCOUNT ID for later.
Note: The customer should have their own AWS account ID.
Go to the Genesys website and follow the instructions to create an event bus for the Genesys event source. You should see Genesys listed in the partner event source table when complete.
In Genesys, navigate to Admin → Integrations
Click on the+Integrationsbutton on the top right.
Find the Amazon EventBridge Source integration and click the Install button
Set the Name. Use a descriptive name for the solution. In our example, Eccentex AWS EventBridge
Navigate to the Configuration tab
Set the following fields:
Set the AWS Account ID to the AWS account ID was obtained in the previous step (12-digit account number).
Set the AWS Account Region to your company's information. In our example, US-West (N. California).
Set the Event Source Suffix to something descriptive. In our example, genesys_eccentex_org.
Set the Topic Filtering to:
v2.detail.events.conversation.{id}.acd.end
v2.detail.events.conversation.{id}.acd.start
v2.detail.events.conversation.{id}.customer.end
v2.detail.events.conversation.{id}.customer.start
v2.detail.events.conversation.{id}.user.end
v2.detail.events.conversation.{id}.user.start
v2.detail.events.conversation.{id}.acw
Save the configuration
Go back to the Details tab and activate the widget.
When complete, you should see Genesys listed in the Partner event source section in the AWS Console.
Step 12: Associate AWS EventBridge with Genesys Cloud
We must return to the AWS Console and indicate that we've installed the Genesys AWS EventBridge integration.
Click on the Partner event sources menu item on the left
Select the hyperlink to the newly created EventBridge, the one in status Pending and No Event bus associated. In our example, the one ended in genesys_eccentex_org_qa.
Click the Associate with event bus button. If successful, the status will change from Pending to Active.
Step 13: Create an AWS Lambda function
AWS Lambda captures Genesys events from AWS EventBridge and sends them to your DCM solution.
Before creating a new function, validate you are in the same region. In our example is US-West (N. California).
Click on the Create function button
Set the following and keep other parameters by default:
Select the Author from scratch option
Set Function name to something descriptive like Genesys_Event_Bus
Select .NET 6 (C#/PowerShell) from the dropdown for Runtime
Set Architecture to x86_64
Click Create function
After successfully creating the function Genesys_Event_Bus. Change the code and configuration. On the Code source section select the .zip file from the Upload from dropdown. Use this file for code to upload build.zip
On the Runtime settings section, click Edit, and set the Handler to AWSLambdaFunctionForEventBridge::AWSLambdaFunctionForEventBridge.Function::FunctionHandler
Save the configuration.
On the Configuration tab (1), select Environment variables (2) and click Edit (3) to add two new variables.
Add the Keys: AMQPConnectionString and AMQPQueueName. For Values, use the CHANNEL_AZURE_CONNECTIONSTRING and the CHANNEL_AZURE_QUEUENAME strings obtained from the Administrator on Step #1.
Save the configuration.
Copy the Function ARN for future use when configuring the EventBridge Rule. In our example, arn:aws:lambda:{region}:{accountID}:function:Genesys_Event_Bus.
Step 14: Create the AWS EventBridge Rules in the AWS Console
The AWS EventBridge must be configured to receive events from Genesys Cloud and send them to your AppBase environment.
Before creating the rule, validate you are in the same region. In our example, US-West (N. California).
In the left panel, select Rules under the Buses menu.
Select the Event bus that you created in Step 12 from the dropdown list.
Click on the Create rule button.
In the Define rule detail page, set the following values:
Enter Name to something descriptive. In our example, Genesys_Event_Watcher.
Enter a Description for the rule (optional).
Validate this rule is for the Event bus that you created in Step 12
Select the Rule with an event pattern for Rule Type
Click Next
In the Build event pattern page, select the following options:
Set Event source to Other
Scroll down tothe Creation method section and set the Method to Custom pattern (JSON editor)
On the Event pattern section, paste the following JSON: {"source": [{"prefix": "aws.partner/genesys.com"}]}
Verify the message JSON is valid at the bottom.
Click Next.
In the Select target(s) page, set the following fields in the Target 1 section:
Set Target types to AWS Service
Select Lambda function from the Select a target dropdown list.
Select Enter the Lambda function ARN from the Function dropdown list.
Paste the function ARN. In our example, arn:aws:lambda:{region}:{accountID}:function:Genesys_Event_Bus.
Click Next
Enter the Tag for allocation cost if configured.
Click Next.
Review the configuration and click Create rule button when ready.
If there is no error creating the rule, you will see a page like the following.
If you get an error like Function not found: arn:aws:lambda:{region}:{accountID}:function:{functionName}, validate that the Lambda function and the EventBridge configuration are in the same region.
Step 15: Create a Capture Channel in AppBase
Now, create an AppBase Capture Channel that will accept events from AWS and execute AppBase Business Rules in response.
The item config: <CaptureMessagingServiceEnabled>true</CaptureMessagingServiceEnabled> should be set to true in AppBase configs to use the Azure channels.
Log into your AppBase environment
On the top right, navigate to → Application Studio → {your solution}
Navigate to Channel Setup → Capture Channel Schemas
Locate the Genesys Synchronization channel and click on it, or create a new one with the following parameters.
Validate the settings for the Genesys Synchronization channel