Skip to main content

Mashing up Freshdesk with KooKoo for customer support ticket management

Sorry for the delay in writing a blog post. I have been caught up in too many things since last month(we are growing, so its all good :))

Anyway, this week I thought I will look at how we can use the latest rockstar startup from India, Freshdesk. Freshdesk, as most of you know is one of the best "Social Helpdesk" systems out there. I am sure most of you are already using Freshdesk to support your customers.

In this blogpost I will explain how you can add telephony to the mixture. In particular I will show some code which you can use to :

  1. Welcome the caller by name
  2. Ask him to enter his ticket id
  3. Play out the ticket status
  4. Connect the caller to the correct agent handling the ticket.
Luckily for us, Freshdesk has a very well defined API and it was a pleasure to work with it. The engineers were also very supportive and answered all my queries quickly.

So lets get into the code directly.

1. First we need to get the caller information. For this we need to access the contacts.xml endpoint of your Freshdesk with your credentials. So, if your Freshdesk system is at http://yourcompany.freshdesk.com, then your contacts will be at http://yourcompany.freshdesk.com/contacts.xml. 

This will return all your contacts and you can loop through the contacts, fetch their phone number and compare it with the caller id that KooKoo sends you. If a contact matches, return his/her id else return -1.

<code>
function get_user($phone_no)
{
$phone_no = substr($phone_no, -10);
$return = get_curl('http://yourcompany.freshdesk.com/contacts.xml');
$users = new SimpleXMLElement($return);
        //looping through users
       foreach($users->user as $user){
        //compare last 10 digits of the phone number
if($substr(user->mobile,-10) == $phone_no)
return $user->id;
        }
        return -1;
}
</code>

Using the user details and the <playtext> tag of KooKoo you can play out a customized welcome message to the caller.

2. Then use <collectdtmf> and ask the user to enter his ticket id.

3. Once you receive the ticket id from KooKoo, use the tickets.xml endpoint of Freshdesk API to get the ticket details in XML.
Below code, gets ticket and associated agent. The associated agent is returned in the responder-id details.
<code>
function get_agent_phone($ticket_id)
{
        $return = get_curl('http://kookoo.freshdesk.com/helpdesk/tickets/'.$ticket_id.'.xml');
        $ticket = new SimpleXMLElement($return);
        $responder=$ticket->{'responder-id'};
        $return=get_curl('http://kookoo.freshdesk.com/contacts/'.$responder.'.xml');
        $agent=new SimpleXMLElement($return);
        $agent_no=$agent->{'phone'};
        if($agent_no)
    return $agent_no;
       else
    return '-1';
}
</code>

4. Use the ticket details and either use <playtext> to play the details and disconnect the caller or connect the caller to the agent managing the ticket.

The complete code can be downloaded. To use it:
  1. Sign up for a KooKoo account.
  2. Sign up for a Freshdesk account
  3. Update the code to include your credentials.
  4. Host the code in a public location and assign it as a KooKoo URL in your KooKoo settings.
  5. Publish your KooKoo number and start receiving calls.
As usual, this is just the tip of the iceberg. Once you get started on this, you can do a lot more things like, adding customer calls automatically as tickets, handle high priority customers etc.

Popular posts from this blog

Cloud Telephony-History and state of the art

Well, its been 11 years since Twilio launched their voice API in November 2008. I would say that was a major turning point in the cloud telephony industry. Before that, for people to build telephony applications, you either had to depend on proprietary platforms like Avaya dialog designer or build on arcane technologies like VXML which again was supported at varying degrees by the incumbents. Enter Twilio with their voice API and the industry changed for the better. Since it's been almost 11 years now I thought now might be a good time to do a comprehensive review of the cloud telephony industry as a whole in general and in India in particular. The Beginning Twilio was undoubtedly the startup which ushered in the era of cloud telephony. They started in November 2008. At that time in India, we at Ozonetel had launched a hosted VXML platform. There were no takers. After all who coded in VXML :) So when Twilio launched and we saw them take off, we immediately realized tha...

Google business messages and chat agents-A match made in heaven

Google has launched Google business messages without much fanfare. It's just a small button that pops up when someone searches for your business on Google. But from the conversation industry perspective this is HUGE .   Do you know that the small call button drives millions of calls i n a year for pizza joints and other retailers in the US. Businesses spend more than a trillion dollars supporting billions of customer service calls each year. Now imagine how many chat conversations the "Message" button can drive.  Think of how customers interact with business. 1. Search on Google. 2. Click on web site link. 3. Web site shows chat pop up and tries to force the user to chat.(Annoying. I know :)) 4. User clicks on chat and starts conversing with a bot or an agent. This flow can now be completely changed. The new flow can be: 1. Search on Google. 2. User clicks on Message and starts conversing with a bot or an agent. What if you could design a customer experience that helps...

Telugu ASR speech data collection

Image Source: IIIT-H Developing an indigenous ASR for Indian languages has been a goal for us since a long time. In that regard we have been experimenting a lot, trying out various neural network architectures.  While doing these experiments we found that there was no good dataset for Indian languages. While discussing with IIIT professors we got to know that the government of India was also exploring options to generate a good dataset. We immediately offered our help and our platform for this endeavor. So, as a starting step we have come up with a few campaigns to encourage users to donate speech data. We wanted to make it fun, so our first few campaigns are along the lines of JAMs(Just a Minute speech topics) etc. A topic will be provided and you need to speak for a minute on that topic. We have started this campaign for college students to start with. Of course anyone can participate and contribute their data. The more the merrier :) We will adding a lot more innovative ways ut...