Skip to main content
Skip table of contents

Installation Guide

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.

  1. Log in to your AppBase environment
  2. On the top right, navigate to your solution:
    → your solution.
  3. 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.
  4. 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.
  5. 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.

  1. Log in to your Genesys Cloud CX environment
  2. Click on Admin
  3. Locate the URL at the top of the browser. This could be like https://apps.usw2.pure.cloud.
  4. 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.

  1. Log in to your Genesys Cloud CX org as Administrator
  2. Click on the Integrations button on the top right
  3. Find the Interaction Widget and click the Install button.
  4. In the configuration screen, set the Interaction Widget's Name. In our example, we use Eccentex Interaction Widget.
  5. Navigate to the Configuration tab and set these settings:
    1. 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}}

    2. 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
    3. Select Group: All agents should be in the current group.
  6. 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:

    JS
    {
      "icon": {
        "48x48": "@APPBASE_SERVER_ADDRESS@/StaticResources/@DOMAIN_CODE@/genesys_app/icons/icon_blue.svg",
        "24x24": "@APPBASE_SERVER_ADDRESS@/StaticResources/@DOMAIN_CODE@/genesys_app/icons/icon_blue.svg"
      },
      "monochromicIcon": {
        "vector": "@APPBASE_SERVER_ADDRESS@/StaticResources/@DOMAIN_CODE@/genesys_app/icons/icon_glasses.svg"
      }
    }


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

  1. In Genesys Cloud, navigate to Admin → Contact Center → Panel Manager
  2. Select your recently created Interaction Widget for the interaction types (Voice, Chat, Email, etc.).
  3. Click Save

  4. Check the Roles / Permission and validate that the Agents have the AgentUI → DefaultPanels → View permissions 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.

  1. In Genesys Cloud, navigate to Admin → Integrations
  2. Click on the Integrations button on the top right
  3. Find the Eccentex DCM integration and click Install
  4. Set the Name of the app. In our example, we use Eccentex Standalone App
  5. Navigate to the Configuration tab and set these settings:
    1. 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}}
    2. Application Type: standalone
  6. Save the configuration.

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

  1. In Genesys Cloud, navigate to Admin → Integrations → OAuth
  2. Click on the Add Client button
  3. Set the App Name. In our example, we use Eccentex Implicit Grant.
  4. Set the Grant Types to Token Implicit Grant (Browser).
  5. 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

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


  7. 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
  8. Save the configuration.

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

  1. In Genesys Cloud, navigate to Admin → Integration → OAuth
  2. Click on the Add Client button
  3. Set the App Name field to something recognizable, like DCM Client Credentials
  4. Set the Grant Type option to Client Credentials
  5. Create a new role
    1. 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
    2. Add your user and all agents to the membership of the role.
    3. Assign the created role to OAuth. (If you don't see the role, try to re-login.)    
  6. For each of the assigned roles, add Home to the Divisions.
  7. Save the OAuth configuration

  8. The page will refresh. Scroll down to the Client Details section 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. 

  1. Log in to your AppBase environment
  2. On the top right, navigate to 
    → System Setup Home
  3. Navigate to Company → Security Settings (1).
  4. Click the Edit button (2).
  5. Allow cross-domain communication with AJAX requests for selected domains (3). Set the value to * (star/asterisk).
  6. 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.
  7. Save the configuration and validate the security settings looks like the image below

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

  1. On the top right, navigate to
    → solution
  2. Navigate to
    → Setup
    (1)
  3. In the Genesys → Genesys Settings (2), click the Enabled option for Genesys Integration.
  4. 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)
  5. Save the configuration.
  6. 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.

  1. Log in to the AWS Console (https://aws.amazon.com/console/)
  2. Go to the Amazon EventBridge configuration (1).
  3. Click the Partner event sources menu under Integration (2).
  4. Search for Gensys (3).
  5. Verify you are in the same region as the Genesys Region configured in the previous step (4). In our example, US-West.
  6. 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.
  7. In Genesys, navigate to Admin → Integrations
  8. Click on the + Integrations button on the top right.
  9. Find the Amazon EventBridge Source integration and click the Install button

  10. Set the Name. Use a descriptive name for the solution. In our example, Eccentex AWS EventBridge
  11. Navigate to the Configuration tab
  12. Set the following fields:
    1. Set the AWS Account ID to the AWS account ID was obtained in the previous step (12-digit account number).
    2. Set the AWS Account Region to your company's information. In our example, US-West (N. California).
    3. Set the Event Source Suffix to something descriptive. In our example, genesys_eccentex_org.
    4. Set the Topic Filtering to:

      1. v2.detail.events.conversation.{id}.acd.end

      2. v2.detail.events.conversation.{id}.acd.start
      3. v2.detail.events.conversation.{id}.customer.end
      4. v2.detail.events.conversation.{id}.customer.start
      5. v2.detail.events.conversation.{id}.user.end
      6. v2.detail.events.conversation.{id}.user.start
      7. v2.detail.events.conversation.{id}.acw
  13. Save the configuration
  14. Go back to the Details tab and activate the widget.
  15. 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.

  1. Go to your AWS Management Console (https://aws.amazon.com/console/)
  2. Navigate to the Amazon EventBridge section 
  3. Click on the Partner event sources menu item on the left
  4. 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.
  5. 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.

  1. Go to your AWS Management Console (https://aws.amazon.com/console/)
  2. Navigate to the Lambda section (https://console.aws.amazon.com/lambda)
  3. Before creating a new function, validate you are in the same region. In our example is US-West (N. California).
  4. Click on the Create function button
  5. Set the following and keep other parameters by default:
    1. Select the Author from scratch option
    2. Set Function name to something descriptive like Genesys_Event_Bus
    3. Select .NET 6 (C#/PowerShell) from the dropdown for Runtime
    4. Set Architecture to x86_64
  6. Click Create function

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

  8. On the Runtime settings section, click Edit, and set the Handler to AWSLambdaFunctionForEventBridge::AWSLambdaFunctionForEventBridge.Function::FunctionHandler
  9. Save the configuration.

  10. On the Configuration tab (1), select Environment variables (2) and click Edit (3) to add two new variables.
  11. 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.
  12. Save the configuration.
  13. 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.

  1. Go to your AWS Management Console (https://aws.amazon.com/console/)
  2. Navigate to the Amazon EventBridge section (https://console.aws.amazon.com/events)
  3. Before creating the rule, validate you are in the same region. In our example, US-West (N. California).
  4. In the left panel, select Rules under the Buses menu.
  5. Select the Event bus that you created in Step 12 from the dropdown list.
  6. Click on the Create rule button.
  7. In the Define rule detail page, set the following values:
    1. Enter Name to something descriptive. In our example,  Genesys_Event_Watcher.
    2. Enter a Description for the rule (optional).
    3. Validate this rule is for the Event bus that you created in Step 12
    4. Select the Rule with an event pattern for Rule Type
  8. Click Next

  9. In the Build event pattern page, select the following options:
    1. Set Event source to Other
    2. Scroll down to the Creation method section and set the Method to Custom pattern (JSON editor)
    3. On the Event pattern section, paste the following JSON: {"source": [{"prefix": "aws.partner/genesys.com"}]}

    4. Verify the message JSON is valid at the bottom.

  10. Click Next.

  11. 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.
  12. Click Next
  13. Enter the Tag for allocation cost if configured.
  14. Click Next.
  15. Review the configuration and click Create rule button when ready.
  16. 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. 

  1. Log in to your AppBase environment
  2. On the top right, navigate to
    → Application Studio → {your solution}
  3. Navigate to Channel Setup → Capture Channel Schemas
  4. Locate the Genesys Synchronization channel and click on it, or create a new one with the following parameters.
  5. Validate the settings for the Genesys Synchronization channel
    1. General properties
      1. Name: Genesys Synchronization
      2. Rule: GEN_BatchSyncConverstions
    2. Batch properties

      1. Number of items to process at once: 3
      2. Check for items every (seconds): 10 (seconds)
      3. Batch Delay Period (seconds): 5 (seconds)
    3. Channel Type:
      1. Messaging Service
    4. Messaging Service
      1. Message Provider: Azure Service Bus
      2. Authentication Type: Connection String
      3. Connection String: @@CHANNEL_AZURE_CONNECTIONSTRING@@

  6. Save the validated configuration.
  7. Navigate to Environment Preferences → Environment Variables
  8. Create or modify the following variables:
    • Set CHANNEL_AZURE_CONNECTIONSTRING to the AMQP CONNECTION STRING
    • Set CHANNEL_AZURE_QUEUENAME to the AMQP QUEUE NAME
  9. Click the Update Context button in the toolbar
  10. Deploy the solution
  11. Navigate to Channel Setup → Manage Capture Channels
  12. Enable the Genesys Synchronization channel by clicking the play green button.

Step 15: Create Queue

  1. Create New Queue
    1. In Genesys Cloud, navigate to PureCloud -> Admin → Contact Center → Queues
    2. Click on the Create Queue button
    3. Set a Name field
    4. Navigate to the Members tab and add members that will work through this queue:


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.