If you plan to allow your customers to quickly initiate a videocall from your Zendesk Messaging widget but ensuring this option will only be available during your defined working hours, here is an article that describe how to achieve the outcome.
Before proceeding with the configuration below, please take into account that Omnichannel routing needs to be enabled with the parameter 'Auto-accept for an agent'. If you can't set the routing as so it would be best to proceed with other type of configurations.
Use case in details
At the end of this guide, this is the end result you'll have available in Zendesk.
A customer land into your website, and from there they will open your Zendesk Messaging widget
Once there, customers will be given a series of options in accordance to your set up. One of this option can be named 'Start a videocall', which is the one we're going to set up together today
When customers select this option, the conversation will be routed to an available agent via Zendesk Omnichannel. Meanwhile, a call is created and the customer can join it while they await for an agent
When the chat get assigned, the agent will be automatically added to the videocall, so that you can make sure the waiting time will be as short as possible
Minimum requirements for the set up
To achieve the following configuration, here is what you need to make sure to have:
Zendesk Omnichannel available and configured on your Zendesk workspace
A SnapCall workspace configured and linked to your Zendesk workspace, head here if you're not sure of to link both workspaces
You need to set up a videocall flow that you will be using to generate videocalls
You need to have a Zendesk Messaging widget
Ensure all the conversation from the Messaging widget transferred to an agent will have a custom tag applied to it, for example 'snapcall_incoming_call'. This will be necessary to ensure the automation we will configure later on will fire only for specific conversations and not all of them.
You need to have access to Zendesk Action builder
You need to configure a group in Zendesk, this will be composed by agents which will be in charge of taking incoming calls when online.
On the routing configuration settings, the option 'Auto-accept for an agent' needs to be activated as shown on the screenshot below.
Step 1: set up a custom action
Let's start by setting up a custom action, which is necessary to generate a videocall via API as soon as the conversation get routed to an agent.
To do so, head to your Zendesk Admin Panel and look for Custom Action using the search bar on the left side of the screen. You should find the option under the category Actions.
Once there, ensure to configure the action as following:
Name and description can be defined as you prefer
Add an input and call it ticket_id, its type will be text
Once done, set up the API call: Request method will be POST, endpoint 'https://zendesk-chat.snapcall.io/backend/agent/call', and the body will be as the one below:
{
"subdomain": "YOUR_ZENDESK_SUBDOMAIN",
"ticket_id": "ticket_id",
"company_id": YOUR_SNAPCALL_WORKSPACE_ID
}
You can find your SnapCall workspace ID here, and your Zendesk subdomain is in your Zendesk URL.
You will be asked to set up an Authentication method as well, proceed by creating one using the dedicated link on the page (the connection page).
Once there, create a new connection, call it SnapCall and where you're asked for the token, add the API key you can find on this SnapCall page. On the endpoint URL, add *.snapcall.io, then save changes and head back to the Action page you were just before.Now that you are back to the Custom Action page, all you need to do is to add the Authentication method you just created, then save changes.
Step 2: set up an Action Flow
Now that the Custom Action has been created, we will use it within a dedicated Action Flow, which we will set up next. To continue, please follow the instructions below:
In the Zendesk Admin Panel, use the search bar on the left-hand side to look for “Action flow”. Click on the option that appears in the left-side menu, then click the “New” button on the following screen.
The name and description of the Flow do not affect how the Action Flow works, so you may define them as you see fit.
On the next screen, please configure the Flow as follows:
a) The trigger (first action) must be set to ‘Ticket’ IS ‘Created’
b) The next step should be a branch, with the condition ‘Channel’ is ‘native_messaging’
c) If the condition is met, define the next step so that it adds a new comment to the ticket with the value ‘Channel’ : Channel. If the condition is not met, you may configure any alternative action you prefer.
d) Next, call the custom action that was created earlier. When prompted, add the required parameter ‘ticket_id’, which is necessary for the automation to function correctly.
The final configuration should look very similar to the example shown below.
Step 3: set up a queue
Back in the Zendesk Admin Panel, use the search bar on the left-hand side to look for “Queue”, then click on the option that appears. From there, create a new queue.
The name and description can be defined according to your preference.
Set the queue priority to 1.
The condition for the queue to trigger is based on the ticket tag, which in this case must match the tag defined earlier (in this guide, ‘incoming_call’ was used as an example).
As a final step, select the group that should receive the incoming calls.


