Skip to content

CCaaS Integration

Agent Assist connects to your contact center platform to receive real-time conversation events and deliver suggestions to agents. The following platforms are supported:

PlatformVoice (STT)Digital (Chat/Messaging)Event DeliveryWidget Auth
Genesys CloudAudioHookNotification APIPub/SubOAuth PKCE
Five9Agent Desktop ToolkitADT SDKWebhook / Socket.IOADT session or URL params
8x8Event StreamingEvent Streaming (Pulsar)Pulsar WSSEmbed token + URL params
Salesforce--Lightning Message ServiceLWC postMessageToken exchange
Google CCAINative CCAI STTNative CCAIPub/SubOAuth

Salesforce

For Salesforce Service Cloud, see the dedicated Salesforce Integration guide, which covers Visualforce page setup, Lightning Web Component deployment, and real-time chat message forwarding.

imageCCaaS integration setup page with provider selection, credentials form, and test connection button
Setting up a CCaaS integration in the admin portal

Genesys Cloud

Genesys Cloud integration uses queue-based routing, Notification API for digital messages, and AudioHook for voice transcription.

Setup Steps

  1. Create a Genesys Cloud OAuth client with the following scopes:
    • conversations:read
    • notifications:subscribe
    • routing:read
    • users:readonly (for agent identification)
  2. Configure AudioHook in your Genesys Cloud organization to point to your Agent Assist audiohook endpoint (for voice calls).
  3. Create a tenant integration in the OmniBots admin portal with your Genesys Cloud credentials (client ID, client secret, environment).
  4. Map queues to knowledge bases. Navigate to Middleware > Queue Mapping to associate each queue with a specific KB and system prompt so agents on different queues receive relevant suggestions.
  5. Deploy the widget as a Genesys Interaction Widget. See Widget Deployment for iframe configuration details.
  6. Test the connection using the integration test button in the admin portal.

How It Works

  • Voice: Genesys streams audio via the AudioHook WebSocket protocol. The audiohook service transcribes speech in real time and publishes transcripts to Pub/Sub for processing.
  • Digital: The widget's Genesys provider connects to the Genesys Notification API via WebSocket, subscribing to conversation message topics. New customer messages are forwarded to the connector service which triggers the RAG pipeline.
  • Agent auth: Agents authenticate via OAuth 2.0 Authorization Code with PKCE. The widget handles the redirect flow automatically.

TIP

AudioHook provides real-time transcription for voice calls. For chat-only deployments, AudioHook configuration is not required.


Five9

Five9 integration uses the Agent Desktop Toolkit (ADT) SDK for conversation events and agent context.

Setup Steps

  1. Configure Five9 Agent Desktop Toolkit in your Five9 domain to allow the widget iframe.
  2. Create a tenant integration in the OmniBots admin portal with your Five9 credentials.
  3. Map queues to knowledge bases under Middleware > Queue Mapping.
  4. Deploy the widget as an iframe in the Five9 Agent Desktop. The widget URL accepts callId, agentId, agentName, and skill as query parameters.
  5. Test the connection by initiating a test call.

How It Works

  • Voice: Five9 streams audio to the audiohook service, or the widget receives call events via the ADT SDK.
  • Digital: Chat events arrive via the ADT SDK onChatEvent() listener. The widget forwards customer messages for RAG processing.
  • Agent auth: The widget extracts agent context from the ADT SDK getSessionContext() call, or falls back to URL parameters (agentId, agentName).

8x8

8x8 integration uses the Pulsar-based Event Streaming API for real-time interaction lifecycle events and the Partner Communication SDK for widget embedding.

Setup Steps

  1. Enable Event Streaming in your 8x8 Admin Console for the tenant.
  2. Create a tenant integration in the OmniBots admin portal with your 8x8 credentials (API key, tenant ID).
  3. Configure the Event Streaming subscriber -- the connector service subscribes to 8x8's Pulsar WSS endpoint and listens for interaction lifecycle events (InteractionAccepted, InteractionCompleted, etc.).
  4. Map queues to knowledge bases under Middleware > Queue Mapping.
  5. Deploy the widget as a Partner Integration iframe in 8x8 Agent Workspace. The widget URL accepts iid (interaction ID) or aid (agent ID) as query parameters.
  6. Test the connection by accepting a test interaction.

How It Works

  • Voice & Digital: 8x8 Event Streaming publishes interaction events to a Pulsar topic. The connector service's EventStreamSubscriber consumes these events and correlates them to connected widget sockets via agent ID mapping.
  • Agent auth: The widget authenticates via the embed token. Agent identity is resolved from URL parameters or Event Streaming context stored in Redis.
  • SDK: The @8x8/pui-partner-comm SDK provides theme, locale, and heartbeat integration to keep the widget iframe alive.

Google CCAI

Google Contact Center AI integration uses native Dialogflow CX agents and Pub/Sub event delivery. This is the integration used in google_native mode.

Setup Steps

  1. Create a Dialogflow CX agent in your Google Cloud project (or use an existing one).
  2. Enable the CCAI Insights API in your Google Cloud project.
  3. Create a Pub/Sub topic for conversation events (e.g., agent-assist-events).
  4. Create a tenant integration in the OmniBots admin portal with your Google Cloud credentials (project ID, service account key, Dialogflow agent ID).
  5. Configure the Pub/Sub subscription to deliver events to Agent Assist.
  6. Test the connection using the integration test button.

Pub/Sub Subscription Flow

The Pub/Sub subscription connects your CCaaS event stream to Agent Assist:

  1. Your contact center publishes conversation lifecycle events (start, message, end) to the configured Pub/Sub topic.
  2. Agent Assist creates a push subscription on that topic pointing to its ingest endpoint.
  3. Inbound events are validated, deduplicated, and routed to the correct tenant session.
  4. The assist pipeline processes each event and pushes suggestions back to the agent via Socket.IO.

WARNING

Ensure the Pub/Sub subscription has appropriate IAM permissions. The Agent Assist service account needs roles/pubsub.subscriber on the topic.


Queue-to-KB Mapping

Regardless of which CCaaS platform you use, you can map individual queues to specific knowledge bases and system prompts. This ensures agents on different queues receive suggestions relevant to their domain.

Navigate to Middleware > Queue Mapping to configure:

SettingDescription
QueueThe CCaaS queue or skill group name
Knowledge BaseWhich KB to search for this queue
System PromptCustom prompt to guide answer generation
LLM IntegrationWhich LLM to use (overrides tenant default)

If no queue mapping is configured, the tenant's default KB and system prompt are used.


Platform Comparison

FeatureGenesys CloudFive98x8SalesforceGoogle CCAI
Voice transcriptionAudioHookAudioHook / ADTEvent Streaming--Native CCAI
Chat supportYesYesYesYes (LWC)Yes
Event deliveryPub/Sub + Notification APIADT SDKPulsar WSSLWC postMessagePub/Sub
Suggestion sourceOmniBots RAGOmniBots RAGOmniBots RAGOmniBots RAGDialogflow CX or RAG
Queue/skill routingQueue-basedSkill-basedQueue-basedOmni-ChannelProfile-based
Send messageYes (web messaging)----Yes (via LWC)--
Save summaryYes (wrap-up notes)----Yes (via LWC)--

Verifying the Integration

After setup, verify the integration is working:

  1. Start a test conversation in your contact center.
  2. Open the Service Health dashboard to confirm events are arriving.
  3. Check the event inspector for any delivery errors.
  4. Confirm suggestions appear in the agent widget.

OmniBots Agent Assist