Genesys with Deepgram Integration
Genesys is a cloud-based platform used by many organizations to manage their call centers. With our plug-and-play Genesys integration, you can have all of your Genesys calls transcribed in real-time by Deepgram.
Solution
In this guide, we'll explain how to:
- configure Genesys to share call audio will Deepgram
- have transcriptions sent to a callback URL of your choice
Before you Begin
Create a Deepgram Account
Before you can use Deepgram products, you'll need to create a Deepgram account. Signup is free and includes:
$200 in credit, which gives you access to:
- all base models
- pre-recorded and streaming functionality
- all features
Create a Deepgram API Key
To access Deepgram’s API, you'll need to create a Deepgram API Key. Make note of your API Key; you will need it later.
Set Up a Genesys Cloud Org
You'll also need a Genesys Cloud org where you have completed the initial setup tasks so that your call center can receive calls.
Install AudioHook Monitor
In your Genesys org, install AudioHook Monitor. Note that you will also need to configure voice transcription in order for AudioHook Monitor to work.
Configure AudioHook Monitor
Once you've installed AudioHook Monitor, it will appear in your Integrations in the Genesys UI, as in the image below. Now click the three dots on the AudioHook row and choose Edit Integration.

You should now see an interface like below. Under the Details tab, you can give your AudioHook instance a more useful name. Let's name it Deepgram.

Under Configuration > Properties, set Channel to both
and Connection URI to wss://integrations.deepgram.com/genesys
.

Under Configuration > Credentials, click Configure and paste your Deepgram API key into the API Key field. Leave the Client Secret field blank. Then click OK.

If you specify an API key and then change it, it can take a long time for the new API key to propagate through the Genesys system. Give it 30 minutes before you assume that Deepgram is receiving the new API key. If you don't want to wait, you can delete AudioHook from the Integrations page, reinstall it, and provide the new API key to the reinstalled AudioHook.
Under Configuration > Advanced, provide a JSON object to customize the Deepgram request. For example:
{
"model": "general",
"tier": "nova",
"punctuate": true,
"smart_format": true,
"tag": [
"sometag1",
"sometag2"
],
"callback": "https://example.com/webhook/{conversation-id}"
}
Within this JSON object, you have access to the full suite of features in Deepgram's streaming API.
Callback
Let's take a moment to look at the most important feature: the callback
. The callback
is the URL where your transcriptions will be posted in real-time. It works exactly like it does for a normal streaming request, except when you are using Deepgram with Genesys, there are three special placeholders you can include in the callback
URL:
{conversation-id}
{participant-id}
{session-id}
In the example above, we provide a callback
of https://example.com/webhook/{conversation-id}
. This means that if there is a Genesys call with conversation id fb486691-fbe1-4b8d-a28e-72ca891e8f0b
, the transcriptions for that call will be posted to https://example.com/webhook/fb486691-fbe1-4b8d-a28e-72ca891e8f0b
. This is very important because it allows us to match up transcripts with calls.
In your Advanced Configuration JSON object, make sure NOT to include any of these features:
sample_rate
encoding
channels
multichannel
Deepgram already knows the
sample_rate
,encoding
, andchannels
based on the information sent from Genesys, andmultichannel
is locked totrue
so that you can tell who is speaking in your transcripts.If you include any of these four features, activating the integration will fail!
Activate Integration
Now we are done with configuration and can click Save. That will take us back to the Integrations page, where we can flip the switch to activate the integration. Make sure it goes into the Active state and no errors are displayed, like the image below.

At this point, if everything was done correctly, you should be able to put a call through the system and see your transcripts arriving at your specified callback URL. To quickly validate that it's working, it can be helpful to point your callback URL to a free tool that displays incoming requests, like beeceptor.com, webhook.site, or--with slightly more effort--ngrok.
Updated 3 months ago