Telephony β Genesys, Twilio
Telephony integrations bring real phone calls into Omniflow. Inbound calls can be answered by an AI agent, transferred to a human, or routed by skill. Outbound calls can be initiated programmatically or from the inbox.
Supported providers
| Provider | Inbound | Outbound | Real-time AI agent | Recording sync |
|---|---|---|---|---|
| Genesys Cloud (CX as a Service) | β | β | β | β |
| Genesys Engage | β | β | β | β |
| Twilio Voice | β | β | β | β |
| RingCentral | β | β | β | β |
| Zoom Phone | β | β | β | β |
For βreal-time AI agentβ support, the provider has to expose a Media Streams or equivalent SIP-WebSocket bridge.
Connect Genesys Cloud
Create an OAuth client in Genesys
In Genesys Cloud Admin, create a new OAuth client with the Authorization Code grant and the scopes:
conversationsusers:readonlyrouting:readonlyrecording:readonlynotifications:readonly
Authorize Omniflow
In Omniflow, go to Settings β Integrations β Genesys Cloud β Connect. Paste the client ID and secret; click Authorize.
Pick a region
Genesys is region-locked. Pick the region that matches your org (US-East, EU-Central, AP-Southeast, etc.).
Map queues to Omniflow teams
Each Genesys queue maps to an Omniflow team for routing. You can change this later.
Decide what flows where
| Event | Default behavior |
|---|---|
| Inbound call | Lands in inbox; voice trace synced. |
| Recording finalized | Audio + transcript synced; QA grader runs automatically. |
| Wrap-up code | Maps to an Omniflow tag. |
Save and test
Place a test call to a Genesys queue mapped to Omniflow. The conversation should appear in the inbox within ~10 seconds of hangup; recording syncs once Genesys finalizes it (1-3 minutes).
Connect Twilio Voice
Twilioβs the path of least resistance for greenfield setups:
- Get a Twilio number.
- In Omniflow, Settings β Integrations β Twilio Voice β Connect β paste account SID, auth token, and the number.
- Twilioβs voice URL is auto-configured to point at Omniflowβs runtime endpoint.
- Place a test call.
For real-time AI agents, Omniflow uses Twilio Media Streams to bridge audio to the voice runtime.
Pointing a number at an AI agent
Once a provider is connected, you can route specific numbers to specific agents:
| Setting | What it does |
|---|---|
| Number | The DID. |
| Agent | The Omniflow AI agent that answers. |
| Fallback | A team or human queue if the agent fails. |
| Hours | Business hours; outside hours route to voicemail or fallback. |
A common pattern: AI agent answers, qualifies, then transfers to a human team if needed. The transfer is seamless to the customer and the conversation context follows.
Real-time voice agents use the same WebSocket runtime as practice calls in Training. Latency, voice quality, and tool calling are identical.
Recording and consent
Many regions require explicit consent for call recording. Omniflow ships region-aware consent prompts you can prepend to the agentβs first turn:
βThis call may be recorded for quality and training. Press 1 or say βyesβ to continue.β
Configure under Settings β Compliance β Consent prompts.
Donβt record without consent in jurisdictions that require it. Two-party-consent states (CA, FL, etc.) and many EU regions impose criminal penalties for recording without explicit, audible consent.
Common pitfalls
| Pitfall | Fix |
|---|---|
| Genesys queue mapping wrong | Settings β Integrations β Genesys β Queues. Re-pull queues if missing. |
| One-way audio | Check provider Media Streams config; firewall can drop UDP. |
| Recordings not syncing | Verify the integration user has recording:readonly. |
| Outbound caller ID wrong | Set the per-team caller ID under Settings β Channels β Voice. |
Open in Omniflow
Related
| If you want to⦠| Go to |
|---|---|
| Read the runtime architecture | Voice Runtime |
| Tune voice models | Voice Models |
| Set business hours | SLA & Business Hours |