Cisco Finesse + Webex Presence Sync Integration (Contact Center)

Cisco Finesse + Webex Presence Sync Integration

Playbook by Webex for Developers

Cisco Finesse + Webex Presence Sync Integration

Automatically sync Webex presence to Cisco Finesse agent status — no manual toggling required

Automatically sync Webex presence to Cisco Finesse agent status — no manual toggling required
View Playbook
Playbook by Webex for Developers

This Playbook shows how to build an integration that automatically mirrors a Webex user's real-time presence state into their Cisco Finesse (UCCX/UCCE) agent status, eliminating the manual step of toggling Finesse between READY and NOT_READY when agents join Webex calls or meetings.

The integration is a Node.js server that uses a Webex Bot token to subscribe to presence events via the Webex Mercury WebSocket. When a monitored agent's Webex presence changes, the server maps the Webex presence state to a Finesse agent state and applies it automatically. Five Webex presence states trigger a Finesse NOT_READY transition:

  • Do Not Disturb (reason code: "Webex DND")
  • Active Webex Call (reason code: "Webex Call")
  • Active Webex Meeting (reason code: "Webex Meeting")
  • Presenting in a Webex Meeting (reason code: "Webex Meeting")
  • Unknown/Unavailable (reason code: "Webex Unavailable")

When the Webex presence clears, the agent is automatically returned to READY.

Two operating modes are provided:

Gadget mode (recommended): The server pushes presence updates to a Finesse XML gadget running in the agent's desktop browser via Socket.io. The gadget calls the Finesse client-side JavaScript API (user.setState) to set the agent's own status, including the specific NOT_READY reason code. This mode requires adding a gadget entry to the Finesse desktop layout and is the only mode that supports granular reason codes.

Server mode: The Node.js server calls the Finesse REST API directly using a supervisor Basic Auth token (PUT /finesse/api/User/:id). This mode requires no gadget configuration but is limited to setting READY or a generic "Supervisor Initiated" NOT_READY — it cannot assign specific reason codes like "Webex DND" or "Webex Meeting".

To get started, a developer needs:

  • A Webex Bot token (created at developer.webex.com)
  • A Cisco Finesse server (UCCX or UCCE) with admin and supervisor Basic Auth credentials
  • Four NOT_READY reason codes pre-created in Unified CCE Management: "Webex DND", "Webex Meeting", "Webex Call", "Webex Unavailable"
  • Node.js v21.5+ (or Docker) and a publicly accessible HTTPS endpoint for the server
  • The Finesse agent email addresses must follow the pattern: finesseLoginName@your-domain

Preview listing

This App Hub entry was published from an open pull request. Review the change.

Support

Third-Party Tool

Cisco Finesse

Estimated Implementation Time

4-8 hours

Categories

This Playbook shows how to build an integration that automatically mirrors a Webex user's real-time presence state into their Cisco Finesse (UCCX/UCCE) agent status, eliminating the manual step of toggling Finesse between READY and NOT_READY when agents join Webex calls or meetings.

The integration is a Node.js server that uses a Webex Bot token to subscribe to presence events via the Webex Mercury WebSocket. When a monitored agent's Webex presence changes, the server maps the Webex presence state to a Finesse agent state and applies it automatically. Five Webex presence states trigger a Finesse NOT_READY transition:

  • Do Not Disturb (reason code: "Webex DND")
  • Active Webex Call (reason code: "Webex Call")
  • Active Webex Meeting (reason code: "Webex Meeting")
  • Presenting in a Webex Meeting (reason code: "Webex Meeting")
  • Unknown/Unavailable (reason code: "Webex Unavailable")

When the Webex presence clears, the agent is automatically returned to READY.

Two operating modes are provided:

Gadget mode (recommended): The server pushes presence updates to a Finesse XML gadget running in the agent's desktop browser via Socket.io. The gadget calls the Finesse client-side JavaScript API (user.setState) to set the agent's own status, including the specific NOT_READY reason code. This mode requires adding a gadget entry to the Finesse desktop layout and is the only mode that supports granular reason codes.

Server mode: The Node.js server calls the Finesse REST API directly using a supervisor Basic Auth token (PUT /finesse/api/User/:id). This mode requires no gadget configuration but is limited to setting READY or a generic "Supervisor Initiated" NOT_READY — it cannot assign specific reason codes like "Webex DND" or "Webex Meeting".

To get started, a developer needs:

  • A Webex Bot token (created at developer.webex.com)
  • A Cisco Finesse server (UCCX or UCCE) with admin and supervisor Basic Auth credentials
  • Four NOT_READY reason codes pre-created in Unified CCE Management: "Webex DND", "Webex Meeting", "Webex Call", "Webex Unavailable"
  • Node.js v21.5+ (or Docker) and a publicly accessible HTTPS endpoint for the server
  • The Finesse agent email addresses must follow the pattern: finesseLoginName@your-domain

Preview listing

This App Hub entry was published from an open pull request. Review the change.