Flow Events and Zoom App Marketplace Events
Last updated
Was this helpful?
Last updated
Was this helpful?
More sophisticated agent desktop integrations can leverage Zoom CX Flow events or Zoom App Marketplace API events (webhooks/WebSockets). With these options, the Zoom CX platform will send HTTPS requests to external API endpoints based on Zoom Contact Center events.
Depending on your integration requirements, you may elect to use Flow events, API events, or both.
You can design an integration to screen pop or log calls upon receiving these events. Both the Flow Events and Zoom App Marketplace events are available to all of the above Agent Deployment Options.
Inbound only
Custom JSON
Inbound and outbound
Fixed JSON
Flow Event scripts are triggered when specific actions happen within Zoom Contact Center. When that event is triggered, the associated event script code is executed within the context of the engagement, which means that the script has access to the engagement's variables.
Let's take a look at two common Flow Event scripts.
When an agent accepts the call.
The agent saved a disposition and closed out the engagement.
Let's see an example of how you could use the events above to send HTTP requests to an external system. When the external system receives these events, the data can be used to provide logging, screen pops, or other use cases. The exact capabilities provided will be determined by the capabilities of the external system.
In the Flow, we start by configuring the event scripts on the Start widget. In the image below, you can see that the Start widget has the two event Scripts configured.
To create the event script code, add a new event script to the Start widget and then write the code directly into the flow editor, as shown below.
Both the Engagement Accepted and the Disposition Saved events use similar code. They're both JavaScript code blocks that use the built-in HTTP function to generate an outbound HTTPS POST request.
In this code example, we're including the engagement ID, the caller's telephone number, the agent's email, and the queue name. The code is executed when the agent answers the engagement and begins talking to the consumer.
This is an example of what is likely the minimum amount of information required to generate a screen pop or to start the logging of the new call. It's worth mentioning that if your ZCC Flow configuration is collecting data about the caller in the Flow/IVR, it's as easy as adding additional variables to the request_body
variable to include additional data in this HTTP request.
For the Disposition Saved event, we'll reuse the code from the previous example, with the addition of the disposition
variable. This code is executed when the agent selects the disposition for the call, which happens as the last action performed by the agent in the engagement. By sending this request, the external system can track that the agent has completed the disposition of the engagement.
Like the Engagement Accepted event, additional variables can be included, depending on your use case.
Depending on your solution, you may find that the Flow event scripts are sufficient, or you may need some of the Zoom App Marketplace API events to help cover all required use cases of your integration.
For example, you can supplement the two flow events above by subscribing to Zoom App Marketplace API events for hold, resume, mute, and unmute events. These additional events would provide your application with insight into the frequency that agents are placing calls on hold or mute.
Both of the above flow event scripts, as well as the Zoom App Marketplace webhook/WebSocket events are available for your solution.
Like other Zoom products, Zoom CX has API webhook/WebSocket events available within the Zoom App Marketplace.
Events are available to track agent activity such as log in/log out, queue opt in/out, and status change events. Engagement events can track engagements through the system, including events such as engagement started, engagement answered, engagement muted/unmuted, DTMF sent, transfer initiated, ended, note added, disposition added. By tracking engagement events, you have insight into detailed engagement-level data.
See the for more information on the Contact Center APIs.