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 sampleZendesk 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

OrderWhat to readWhen
1This introductionChoose the path that matches your role and goal
2Overview & ArchitectureUnderstand components, channels, and message flow (recommended before building)
3Path chapters belowFollow the steps for Zendesk sample, custom Host CRM, or custom bridge
4CRM FeaturesCross-reference per feature — walkthrough, protocol, configuration, implementation
5ResourcesSample ZIP, Element API links, related Avaya documentation

Path summary:

  1. Zendesk sample integration — deploy the bundled sample in Zendesk Support and configure Avaya Infinity for it — Zendesk Setup
  2. 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
  3. 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.

StepWhat to doDocumentation
1Install the private Zendesk app, enable API access, align agent statuses, and prepare CRM Directory contactsZendesk Setup
2Assign CRM Configuration, enable features, and configure screen pop, omnichannel, and CRM Directory in Avaya Infinity ConfigurationFeature Walkthroughs
3Reference CRM Configuration options and feature flagsConfiguration

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.

StepWhat to doDocumentation
1Understand components, channels, and runtime message flowOverview & Architecture
2Request CSP whitelist, embed the bridge application, and manage session lifecycleHost CRM Integration
3Implement postMessage handlers and RPC replies for the features you supportHost CRM Implementation
4Look up message formats and Element API mapping per featureGeneric CRM Protocol
5In 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 layoutHost CRM Implementation + Generic CRM interface (core/)Flexible — merge layers or reuse parts of the sample as needed
Host CRM ↔ bridgeGeneric CRM Protocol (postMessage)Your own integration approach
Element APIUsed inside core/ in the sampleYou may use Element API where it fits your design — see references below
Useful docsHost CRM Implementation, Generic CRM ProtocolSame 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.

StepSuggested readingDocumentation
1Embedding Agent UI, CSP, and session expectationsOverview & Architecture, Host CRM Integration
2Feature behavior, postMessage expectations, and Element API mapping in the sampleHost CRM Implementation, Generic CRM Protocol, CRM Features
3Infinity settings for each capability you supportFeature Walkthroughs, Configuration
4Official Element API referenceElement API
5Source patterns to reuse or adaptBrowse 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

#ChapterDescription
1Overview & ArchitectureTerminology, components, architecture diagrams, message flow
2CRM FeaturesFeature index — links to walkthroughs, protocol, and configuration
3Feature WalkthroughsEnable and use click-to-dial, consult, screen pop, omnichannel, and CRM Directory
4Host CRM IntegrationEmbed Agent, session lifecycle, CSP whitelist, detach
5Zendesk SetupInstall the sample bridge app in Zendesk Support, API access, statuses, CRM Directory contacts
6Mock CRM SetupRun the local mock host CRM for development and feature testing
7Host CRM ImplementationpostMessage examples, RPC handlers, optional _template/ reference
8ConfigurationCRM Configuration, feature flags, omnichannel modes
9Generic CRM ProtocolpostMessage flows and Element API mapping per feature
10ResourcesRelated Avaya documentation and sample repository

Quick reference

ComponentProtocol
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.


Did this page help you?