CRM Integration for Avaya Infinity
Embed Avaya Infinity Agent in your CRM. This documentation explains how to connect a host CRM application with Avaya Infinity Agent using a bridge application embedded in the CRM, a Host CRM integration for your CRM platform, and — in the documented sample model — a Generic CRM interface that talks to Agent UI through the Generic CRM protocol.
About this guide
What this guide covers
Avaya Infinity CRM integration connects agents working in a host CRM (tickets, contacts, agent status) with Avaya Infinity Agent (voice, screen pop, directory, availability). This documentation describes:
- The documented integration model — bridge application, Host CRM integration, Generic CRM interface, and Element API
- How to deploy and configure the bundled Zendesk sample — Zendesk Setup
- How to build a custom Host CRM integration for Zendesk or any other CRM
- Optional notes on a custom bridge layout — advisory guidance for teams who adapt the sample differently from the documented Host CRM + Generic CRM split
- How developers can test locally with the Mock CRM when building a new Host CRM integration from scratch
For terminology, architecture diagrams, and message flow, see Overview & Architecture.
Sample application
The Zendesk bridge application in this repository is a sample application — reference implementation and example code that illustrates how CRM integration can work with Avaya Infinity.
How to read this documentation
| Order | What to read | When |
|---|---|---|
| 1 | This introduction | Choose the path that matches your role and goal |
| 2 | Overview & Architecture | Understand components, channels, and message flow (recommended before building) |
| 3 | Path chapters below | Follow the steps for Zendesk sample, custom Host CRM, or custom bridge |
| 4 | CRM Features | Cross-reference per feature — walkthrough, protocol, configuration, implementation |
| 5 | Resources | Sample ZIP, Element API links, related Avaya documentation |
Path summary:
- Zendesk sample integration — deploy the bundled sample in Zendesk Support and configure Avaya Infinity for it — Zendesk Setup
- Custom Host CRM integration — implement the Host CRM integration for your CRM (Zendesk or otherwise) using the documented Generic CRM model — start with Overview & Architecture
- Custom bridge (advanced) — optional alternative layout; see advisory notes on reusing sample logic and Element API references
Choose where to begin
Pick the section that matches what you are doing. Each path lists steps and links to the relevant documentation.
Zendesk sample integration
Deploy the sample bridge application in Zendesk Support and configure Avaya Infinity for agents who work in Zendesk. This path uses the bundled Zendesk implementation as shipped — see the sample disclaimer above.
| Step | What to do | Documentation |
|---|---|---|
| 1 | Install the private Zendesk app, enable API access, align agent statuses, and prepare CRM Directory contacts | Zendesk Setup |
| 2 | Assign CRM Configuration, enable features, and configure screen pop, omnichannel, and CRM Directory in Avaya Infinity Configuration | Feature Walkthroughs |
| 3 | Reference CRM Configuration options and feature flags | Configuration |
After Zendesk host setup, agents open Avaya Infinity from the app locations defined in the Zendesk app manifest (ticket sidebar, nav bar, and so on). See Zendesk Setup — After Zendesk setup.
Custom Host CRM integration
Build a custom Host CRM integration for your CRM platform — Zendesk or any other CRM — using the documented model in Overview & Architecture: Host CRM integration ↔ Generic CRM interface (Generic CRM Protocol) ↔ Element API.
| Step | What to do | Documentation |
|---|---|---|
| 1 | Understand components, channels, and runtime message flow | Overview & Architecture |
| 2 | Request CSP whitelist, embed the bridge application, and manage session lifecycle | Host CRM Integration |
| 3 | Implement postMessage handlers and RPC replies for the features you support | Host CRM Implementation |
| 4 | Look up message formats and Element API mapping per feature | Generic CRM Protocol |
| 5 | In Avaya Infinity Configuration, enable and configure only the features your integration implements (CRM Configuration, feature flags, workflows, Infinity Elements) | Configuration, Feature Walkthroughs, CRM Features |
The sample repository includes src/app/crm/_template/ as an optional starting point and src/app/crm/zendesk/ as a reference implementation. To build and run the sample locally, unzip zendesk_sample-app.zip and follow the root README (npm install, npm start). See Resources — Sample app ZIP.
Mock CRM (local development)
If you are integrating a new CRM or implementing from scratch, the Mock CRM helps you develop and test without embedding in a real CRM yet. It implements the same Host CRM postMessage contract as a production Host CRM integration and runs locally — it is not part of the Zendesk sample path and is not required for Zendesk deployment.
Use it to exercise dial-out, screen pop, directory RPC, agent state, and pop-out Agent UI against your Infinity lab while you build your integration. See Mock CRM Setup.
Custom bridge (optional, advanced)
Some teams prefer a custom bridge — a different layout from the documented Host CRM integration + Generic CRM interface split. This section is optional guidance, not a requirement. The Custom Host CRM integration path above is the primary model described in this documentation.
You may, for example, combine your CRM, the bridge, and Avaya Infinity Agent in one codebase, adapt selected modules from src/app/crm/core/, or integrate your CRM APIs without implementing the infinity-crm-bridge postMessage contract described in Generic CRM Protocol. How you structure the application is your choice.
| Documented integration (recommended) | Custom bridge (optional) | |
|---|---|---|
| Typical layout | Host CRM Implementation + Generic CRM interface (core/) | Flexible — merge layers or reuse parts of the sample as needed |
| Host CRM ↔ bridge | Generic CRM Protocol (postMessage) | Your own integration approach |
| Element API | Used inside core/ in the sample | You may use Element API where it fits your design — see references below |
| Useful docs | Host CRM Implementation, Generic CRM Protocol | Same chapters, plus Overview & Architecture and Host CRM Integration |
Avaya Infinity Configuration — not a full checklist. A custom bridge does not inherit the same Infinity admin setup as the Zendesk sample or the documented Host CRM path. You do not need to enable every CRM Configuration option, feature flag, workflow, or Infinity Element described in Feature Walkthroughs and Configuration.
Configure in Avaya Infinity admin only what your bridge implements and actually uses — for example:
- If your bridge does not read agent-state sync options from CRM Configuration, you do not need to configure omnichannel sync in admin for that behavior — see Feature Walkthroughs — Omnichannel only if you implement sync.
- If your bridge does not honor click-to-dial / click-to-consult enable/disable flags from admin, you do not need those Configuration settings for your integration.
Use Feature Walkthroughs and Configuration per capability when you add a feature — as reference for that feature's admin settings, not as a mandatory full setup to copy from the sample.
Reuse logic from the sample: Host CRM Implementation and Generic CRM Protocol explain what each feature does on the Host CRM side and which Element API calls the sample uses for each capability. Even if you skip the postMessage contract, read these chapters to understand how features are wired and which logic in src/app/crm/core/ you can reuse or adapt. CRM Features links walkthrough, protocol, and configuration per feature.
| Step | Suggested reading | Documentation |
|---|---|---|
| 1 | Embedding Agent UI, CSP, and session expectations | Overview & Architecture, Host CRM Integration |
| 2 | Feature behavior, postMessage expectations, and Element API mapping in the sample | Host CRM Implementation, Generic CRM Protocol, CRM Features |
| 3 | Infinity settings for each capability you support | Feature Walkthroughs, Configuration |
| 4 | Official Element API reference | Element API |
| 5 | Source patterns to reuse or adapt | Browse src/app/crm/core/, src/app/crm/zendesk/, or src/app/crm/_template/ in Resources — Sample app ZIP |
The sample repository is reference code — useful for omnichannel sync, directory handling, screen pop, and similar behavior, whether you follow the documented split or not.
Documentation chapters
| # | Chapter | Description |
|---|---|---|
| 1 | Overview & Architecture | Terminology, components, architecture diagrams, message flow |
| 2 | CRM Features | Feature index — links to walkthroughs, protocol, and configuration |
| 3 | Feature Walkthroughs | Enable and use click-to-dial, consult, screen pop, omnichannel, and CRM Directory |
| 4 | Host CRM Integration | Embed Agent, session lifecycle, CSP whitelist, detach |
| 5 | Zendesk Setup | Install the sample bridge app in Zendesk Support, API access, statuses, CRM Directory contacts |
| 6 | Mock CRM Setup | Run the local mock host CRM for development and feature testing |
| 7 | Host CRM Implementation | postMessage examples, RPC handlers, optional _template/ reference |
| 8 | Configuration | CRM Configuration, feature flags, omnichannel modes |
| 9 | Generic CRM Protocol | postMessage flows and Element API mapping per feature |
| 10 | Resources | Related Avaya documentation and sample repository |
Quick reference
| Component | Protocol |
|---|---|
| Host CRM integration ↔ Generic CRM interface (Channel A) | Generic CRM protocol — window.postMessage on infinity-crm-bridge |
| Generic CRM interface ↔ Avaya Infinity Agent (Channel B) | Element API |
Custom bridge: if you do not use the Generic CRM Protocol, Channel A may not apply; the Element API contract with Avaya Infinity Agent still applies.
Updated 13 days ago
