A starter Freshdesk ticket setup for inbound calls

With the babelforce platform you can create almost any integrated process you like for Freshdesk (or any other system). Here we are going to go through step-by-step how to create the basis for any ticketing automations for inbound calls.

When we are done, you will have the following:

  1. Each new inbound call will lookup the phone number in your Freshdesk account and if a contact is found, then the ID and details will be available for next automations
  2. Create a ticket in Freshdesk for the inbound call with the contact found in step 1 above as the requester, with some tags to different the ticket type for your downstream processes in Freshdesk.
  3. Assign the ticket for the call to the agent who takes the call. 

And we will create a trigger so that the above automations only happen for calls with particular attributes. This is not necessary for this basic setup to work. But to do anything else later, you will want to restrict when automated actions happen to just the cases that apply. So best to apply this principle from the beginning.

When we are done you will have three event-trigger-action definitions like this under Events in your babelforce account:



Step 0 - Create a trigger to restrict when we apply automations

I am keeping it simple here and just defining a trigger that will be true when the caller dialed into a particular number. This will mean that our setup below will only fire off actions to the Freshdesk API for such calls to the number ending 373 in this case.



Step 1 - Lookup contacts by phone number in Freshdesk

Before you continue, this setup requires that you have already added the integration to your Freshdesk. If you have, then let's get building.

In babelforce go to Integrated processes > Events and press the button to "Add event trigger". Set the event to "Inbound call". And select the general purpose babelforce "Lookup enduser" action.


Now the contact with the caller's phone number will have a Freshdesk contact ID saved temporarily in the babelforce session. To access this ID we evaluate the expression enduser.id by putting it in a text placeholder, i.e. putting curly brackets like this {enduser.id} around the expression.

USEFUL TRICK: A very useful trick to learn while creating automated processes in babelforce is to send yourself an email using an event-trigger-action and just put {core.expressions} in the body of the email. This will then send you the current context values of all expressions at the point in time when the email is sent. You can read about that in How to get a list of all expressions in the system

Step 2 - Create new ticket in Freshdesk for inbound call

Let's put the info on the end-user to good use now in the ticket that we create. Add another event-trigger-action definition. This one has a lot of possible settings because we allow you to do anything that can be done in the Freshdesk API, but in this case we will only use a few which are explained on the image:



Step 3 - Assign the ticket in Freshdesk to the agent who takes call

This part is only possible if you have already imported agents from Freshdesk to babelforce and the agents have accepted the invite to confirm email and have requested password.

Here we will use the event "Call bridged". This event fires whenever two call legs are connected. So since our trigger from step 0 will already limit our case to where the caller dialed a particular public phone number ending 373, we can be sure that "Call bridged" will in this case only fire when an agent takes the call.

We will choose the action "freshdesk - Update ticket". Here is how lower part containing the update ticket action will need to be setup:


As you can see see, two key values are needed from expressions to allow the update to the existing ticket to assign a particular responder, i.e. the agent who answers the call.

One placeholder expression {integration.freshdesk.ticket.id} will evaluate to give the ticket ID that was used on the Create ticket action above in Step 2. The ID of the agent in Freshdesk will also automatically be available in {agent.sourceId} as part of the session context the moment the agent selects to take a call.




Have more questions? Submit a request