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.
Telephony providers can provide a softphone with options such as:
- Call controls, such as answer, end, transfer, conference, hold, and mute
- View current call details, such as the caller’s name, phone number, and call duration
- Place outbound calls with the softphone dialpad
- Set agent availability
- View the call queue and recent call history
- Save call logs
You can implement a web-based softphone by building a top bar app in the Support agent interface. A top bar app is an app that the agent can open from the right side of the top bar. Example:
The top bar location has the following properties:
- Persistent session that is loaded when Zendesk Support loads
- Access to user-level context but not ticket-level context
For more information, see Top bar in the Apps framework documentation.
Build the UI of your app. Because Zendesk apps run in iframes in the Support interface, you can build the app with any technology you like, including server-side technologies. See the Developer Guide in the Apps framework documentation.
Re-size 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 in the Apps style guide.
Send notifications to the top bar app from the telephony system or platform.
Programmatically open the app with the Send Notification to App endpoint in the Support REST API.
Use the notification endpoint with the Apps framework's popover action.
Make sure the softphone can be manually toggled on and off by the agent.
If you want, let the agent make outbound calls. Use the framework's User object API to get the phone number from the user’s profile in Support and send it to the telephony system to make the call. You'll need to specify the Zendesk user ID of the user the agent wants to call, because the top bar location doesn't have access to the ticket data, which has the id of the user who requested help.
Note: Enabling an agent to click the phone number on the user profile page to make a call is not yet available through the API.
Provide a login mechanism to your call controls. Zendesk suggests using OAuth if you support this. Basic auth will work as well.
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. See the endpoint doc for user permissions. For an example, see the User App Data sample app on Github.
If required, localize the app. See App internationalization in the developer docs.
In addition to a web-based softphone, you can integrate a third party telephony system using the following methods (assuming a telephony provider has the supporting integration layer):
- A desktop phone
- A softphone that sits alongside Zendesk through a web-based or desktop application