Genesys Cloud AudioHook integration

This Genesys Cloud audio connector efficiently captures, processes, and analyzes real-time audio streams from your contact center interactions. It seamlessly integrates with the Genesys Cloud Audiohook API using a persistent WebSocket connection to the Audiohook service. This connection enables real time audio streaming with gRPC to the Agent Assist integration backend. The connector provides a framework for handling incoming audio chunks, allowing for custom audio processing, transcription, or other AI-driven features like Summarization, Proactive Generative Knowledge Assist.

Prerequisites

Follow these steps before you begin your Genesys Cloud voice integration:

  1. Install the Genesys Cloud Application Server.
  2. Configure both the Genesys Cloud OAuth client and the interaction widget.
  3. Install the Agent Assist integration backend.
  4. Note the following variables:
    • VPC_CONNECTOR_NAME
    • SERVICE_REGION
    • REDIS_INSTANCE_ID
  5. Install the AudioHook monitor at Genesys Cloud.

Deploy the Genesys Cloud audio connector server using the Google Cloud CLI

Follow these steps to use the Google Cloud CLI to deploy the audio connector server.

  1. Clone the GitHub repository onto your local machine or development environment with the following code:
    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd  aa-integration-backend/audiohook 
  2. Navigate to the audio connector root directory.
  3. Create a ENV file in the root directory and update it with the following variables.

    Uses the same value from the environment variable of the Agent Assist integration backend:

    • REDIS_INSTANCE_ID
    • VPC_CONNECTOR_NAME
    • SERVICE_REGION

    Uses a value from a different source:

    • UI_CONNECTOR: The domain name of the deployed Agent Assist integration backend service.
    • GCP_PROJECT_ID: Your project's globally unique identifier. Find it by following these steps.
    • SERVICE_ACCOUNT: The service account for the AudioHook connector service. If it doesn't exist, the deploy.sh script will create a new one.
    • API_KEY: Generate an API key in the AudioHook monitor integration. Refer to the Add AudioHook Monitor credentials section. Leave blank for now, and update the value after configuring AudioHook.
    • VOICE_INTERCEPTOR_SERVICE: Choose a name for your voice connector Cloud Run service.

    Example ENV file:

    CONVERSATION_PROFILE_NAME=projects/{your-project-id}/locations/{your-service-region}/conversationProfiles/{your-conversation-profile-id}
    SERVICE_REGION={your-service-region}
    GCP_PROJECT_ID={your-project-id}
    API_KEY={api-key-from-genesys}
    VPC_CONNECTOR_NAME={vpc-connector-name-from-aa-integration-backend}
    SERVICE_ACCOUNT={your-service-account-name}
    UI_CONNECTOR={your-agent-assist-backend-domain-name}
    REDIS_INSTANCE_ID={redis-instance-id-from-aa-integration-backend}
    VOICE_INTERCEPTOR_SERVICE={your-voice-interceptor-service-name}
  4. Run the deploy.sh script located in the ./aa-integration-backend/audiohook directory:

    sh deploy.sh

Configure the Genesys Cloud AudioHook monitor integration

Follow these steps to configure your integration.

  1. After deploying the voice connector to Cloud Run, configure and activate the AudioHook monitor in Genesys Cloud.
  2. In the Audiohook Monitor Configuration tab, update the following variables:
    • Select both for the channel.
    • For the Audiohook Connection URI, use:
      wss://your-cloud-run-domain.run.app/connect
  3. After setting the API key in the Credentials tab, update the API_KEY environment variable in the ENV file.
  4. Redeploy the voice connector service.
  5. Enable the AudioHook monitor inside the queue. Refer to the "Set behavior and thresholds for all interaction types" section of the Genesys Cloud article on creating and configuring queues for more details.