Embedding a softphone in Support

You can embed a web-based softphone directly in the agent interface in Zendesk Support. Embedding a softphone eliminates toggling between screens and enhances the agent's efficiency.

Telephony providers can equip a softphone with features such as:

  • Call controls: Options to accept, decline, end, transfer, conference, hold, and mute calls.
  • Recording controls: Capabilities to record, pause, and stop recordings.
  • Current call details: Display details like the caller's name, phone number, and call duration.
  • Outbound calls: Ability to make outbound calls.
  • Agent availability: View and alter agent availability status.
  • Call queue and history: View the call queue and recent call history.
  • Caller's previous tickets: Display past tickets associated with the caller.

You can implement a web-based softphone by building a top bar app in the Support agent interface.

The top bar app has the following properties:

  • A persistent session that is loaded when Zendesk Support loads
  • Access to user-level context but not ticket-level context

See Top bar app support API for more information.

Development tasks

  • Build the UI of your app. Since Zendesk apps use iframes within the Support interface, you can develop the app using any technology of your choice, including server-side technologies. See the app developer Getting started guide.
  • Adjust the app's height and width using the Apps framework's resize action.
  • Design the icon the agent clicks to open the app. See Top bar and nav bar icon.
  • Send notifications to the top bar app from the telephony system or platform.
  • Open the app programmatically with the Send Notification to App endpoint in the Support REST API.
  • Use the notification endpoint with the Apps framework's popover action.
  • Ensure the softphone can be manually toggled on and off by the agent.
  • Allow the agent make outbound calls. Use the framework's User object API to retrieve the phone number from the user’s profile in Support and send it to the telephony system to initiate the call. You'll need to specify the Zendesk user id of the user the agent wants to call, as the top bar location doesn't have access to the ticket data, which contains the id of the user who requested help.
  • Incorporate a login mechanism into your call controls. Zendesk recommends using OAuth if you support this. Basic auth will also work.
  • If making requests from the app to the Zendesk REST API, the requests are already authenticated because the agents are signed in. The agents must be allowed to use the endpoint. For more information, see Endpoint access.
  • If required, localize the app. See App internationalization.

Other options

In addition to a web-based softphone, you can integrate a third-party telephony system using the following approaches (provided the telephony provider has the necessary integration layer):

  • A desktop phone
  • A softphone that sits alongside Zendesk through a web-based or desktop application