Integrating with Zendesk

With an integration of OneAgentWeb with Zendesk, Zendesk manages your tickets and associates them with the client phone number (ANI). It can improve productivity by providing fast and easy access to tickets, contacts and cases directly related to incoming calls.

The dialed number/caller number is used to query Zendesk, so that the user can have immediate access to the details of a particular contact.





To install the OneAgentWeb integrator:

  1. Go to Zendesk, on support mode.
  2. Click on Admin.
  3. Click on Manage, under APPS.
  4. Click on Upload private app.
  5. Click on Choose File and click on the zip file on the explorer.
    Note: To download Zendesk integration binaries, click on Server installation.
  6. Insert the App Name. This is the name that will be displayed on the private apps list.
  7. Click on Upload. The Upload button will only be visible when you insert the App Name and select the app zip file, for upload.
  8. A pop-up appears asking for upload confirmation. Click Upload.




Configure the app (fields with * are mandatory):
On the form:

  • Insert Title. By default, the name inserted on App Name will be displayed.
  • Insert the OneAgentWeb path.
  • Insert the OneAgentWeb Instance Name.
  • Insert the AccessToken.
  • Insert the TicketCreationRule:
    • always: Every call generates automatically a new ticket. If the client is unknown (from ANI), a new user will be created.
    • never: Calls don't generate new tickets automatically. To create a ticket, click on Phone Create Ticket on the user side bar.
    • userNotExists: Call generates automatically a new ticket if the client is unknown, creating also a new user. If the client is known, the ticket is not created automatically.
    • noOpenTickets: Call generates a new ticket if the client is known and has no open tickets. If there's a ticket open for this client, it's displayed. If the client is unknown, a new ticket is generated and a new user as well.
      Warning: Is mandatory the insertion of the TicketCreationRule parameter. If an incorrect parameter is inserted, a warning will be displayed during the app running.
  • Check the checkbox if you want to enable role restrictions.
    • If checked, select the roles from the drop-down menu.
  • Check the checkbox if you want to enable group restrictions.
    • If checked, select the groups from the drop-down menu.
  • Click Install to proceed.


Configure ZendeskConnectorWebServices:

  • Copy layout _Layout.zendesk_v2.cshtml (included in the project) to C:\inetpub\wwwroot\OneAgentWebb\Views\Shared.
  • Convert v2 as an application on IIS and associate a new App Pool.
  • Replace domain variable at _Layout.zendesk_v2.cshtml with the OneAgentWeb DNS.
  • Configure the parameter <useAPI> at the ZendeskConnectorWebServices project:
    • true: The search will use the API information.
    • false: The search will use Zendesk information.
  • Configure the parameter <appKey> at the ZendeskConnectorWebServices project web.config to properly use the api.



Use cases

Upon installation, Zendesk opens automatically the OneAgentWeb, as a pop-up window, on the top right side of the screen.



When a call is received, OneAgentWeb displays a button requesting the agent to pick up the call:



When the call is answered, Zendesk checks the client (by ANI):

  • Unknown client: Zendesk opens a new user.
  • Known client: Zendesk applies the TicketCreationRule defined upon installation.


Caller tab

Create Phone Ticket: Allows the agent to open a new ticket. The Create Phone Ticket button is only available during a call.



Ticket tab

Call Requester: Allows the agent to call the client. The Call Requester button is available only when there's no call.

Assign Ticket to Currrent Call: Allows the agent to assign a ticket to the caller (ANI). The Assign Ticket to Currrent Call buton is available only in a call.Zendesk_04.png




The integration with Zendesk is made through a simplified version of the OneAgent client application, which provides basic operations like Login, Logout, Set Ready, etc., and telephony operations like Dial, Hold, Hang up contacts.


An agent’s state is a combination of the following 3 states:

  1. Login state - it indicates the agent’s login state in the system. Available states are:
    1. Logged in
    2. Logged out
      Tip: See also Signing In and Out of a Service
  2. Ready state - agents are said to be ready when they are available to handle interactions on a service. The ready state is thus configured per service. An agent is ready when he's ready on at least one service. An agent is not ready when he's not ready on all services.

    Available states are:

    oaw_b06.png Ready - on at least one service
    oaw_b05.png Not ready - on all services, with a reason for each

    After logging in, the agent's ready state is automatically set to Not Ready.

    To become Ready on all services simultaneously, the agent must click in Not Ready oaw_b05.png on the Phone tab (the button will change to oaw_b06.png).


    To become Ready only on a subset of services, the agent must click the individual Not Ready Nrbutton.png button, on the Services tab. From then on, the system will automatically deliver them interactions from those services:



    When agents change their state to not ready on a service they must provide a not ready reason for doing so. Before being Ready an agent needs to be logged in to the system and signed in to a service. Once the agent is signed in to a service, they can set themselves to Ready.

  3. Interaction state - it refers to an agent’s contact handling state. Available states are:

    Idle - the agent is not working on any interaction
    Busy - the agent is handling an interaction
    Wrap-up - after-call work, e.g. agent script filling, etc.


  • An agent can be simultaneously in a Ready state and be Busy or in Wrap-up. This means that after the current interaction, they are eligible to receive a new interaction from the system. If the agent is not supposed to receive a new interaction after the current one (e.g. going for a break), then they must set themselves Not Ready during the current call.
  • When agents log in, normally they become automatically signed in on all started services they are assigned to. If this is the case, then the agent must first set himself ready on the respective services in order to start receiving interactions from them. However, this depends on a service configuration and the system may behave otherwise in different cases. For instance, the agent may not be assigned to any particular service, or they will be set automatically to Ready on services and the system will immediately start to auto-answer interactions.
  • When agents are only signed in, they can still perform a Supervisor Help oaw_b01.png operation, as long as they are assigned to a team that is associated with a supervisor who is Ready for help.


Signing In and Out of a Service

After being logged in, agents can sign in Rbutton.png and sign out Nrbutton.png from a service. This operation is a sort of “login” operation for agents in a service. This allows agents to explicitly indicate their status in relation to a certain service. This might happen when they are in environments where they are assigned to a lot of services, but only work on a reduced subset, on a staffed period. Before agents can set themselves ready or not ready, they must be signed in to the service.

To sign in or sign out on all services, the agent must click on the corresponding links in the Services tab:


To sign in or sign out on individual services, the agent must click on the check box Rbutton.png bellow the service's name in the Services tab:



Not-ready reasons

When agents sets themselves Not Ready on all or on any individual service, they must indicate why they're unavailable to handle calls (for instance break, lunch, etc.). The reason must be indicated in the Not Ready reasons drop-down menu that will appear once they click Ready Rbutton.png (to change to Not Ready):




Telephony operations

In an active session, you can:

  • Hang up the call.
  • Place the call on hold.



If the agent presses the oaw_p3a2.png hold button the call goes to the held state and the interaction control changes accordingly with the icon indication onHold.pngon hold


After the interaction ends you can:

  • Change the session's assigned service.
  • Set its business outcome.
  • End Wrapup.
  • Terminate Session



Note: To download Zendesk integration binaries, click on Server installation and Zendesk installation.
Have more questions? Submit a request