Skip to main content

Setting up a free multi channel help desk and contact system using KooKoo and Issueburner

The short way:
  1. Register for an Issueburner account
  2. Register for a KooKoo account
  3. Download support.zip and unzip it in your web server root.
  4. Update your KooKoo URL in the settings page after you login. The URL should point to support.php on your web server. So if your webserver is at http://www.mycompany.com and you have unzipped support.php in the web server root directory, then your URL should be http://www.mycompany.com/support.php
  5. Publish the KooKoo phone number and your pin and your support email id to start interacting with your customers. If you do not want the pin number, just upgrade your KooKoo account to get a phone number for your business.
  6. Login to Issueburner to start monitoring your support calls and emails. 
The Shortest way:

Send an email to support@kookoo.in and we will set it up for you :)

The long way:
You have setup a business and you have acquired your first customers. They start using your product/service and most of them are happy. Now starts a phase where they want to communicate with you, either to praise you or suggest a feature or complain about something. The reason may be anything, but there can never be a business where customers do not communicate with you and hence you should setup a help desk and contact system.

Your customers will want to contact you in a multitude of ways of which email and phone are the most prominent.
KooKoo Interaction



In today's mashup we will see how we can use KooKoo and Issue burner to build a multichannel contact system which your customers can use to contact you. This system will have the following advantages:

  1. Always on. Your customers will always be able to reach you.24/7.
  2. Never miss a call.Since KooKoo will automatically pick up the call and respond, you will never miss another call and all your customers can leave their message and you can get back to them at your own convenience. 
  3. Privacy. No need to share your personal phone number on your website.
Pre requisites:
  1. KooKoo user account. Register here.
  2. Issueburner account. Register here.
  3. Your hosting details.
KooKoo will take care of the phone channel and Issueburner will take care of the email channel.

Please see "Setting up a Free Help Desk in less than 2 minutes" for configuring your Issueburner account as an email help desk for your business.

Configuring KooKoo as your unmanned call center

Once you register for a free developer account at KooKoo you will be given a pin number. You can publish the KooKoo developer account phone number (91-40-39411020) and your pin on your web site so that your customers can reach you. When your customers enter your pin number, KooKoo will call your application. We will now write KooKoo code which will do the following things:
  1. Ask your customers to record their message.
  2. Send an SMS to you informing of a new call.
  3. Once they record their message and hangup, KooKoo will post a link to the recorded audio as well as the telephone number of the person who called to your Issueburner account. You can then listen to the recorded audio and take necessary action. Since the customer phone number is also recorded, if needed you can call back the customer.
Once a customer calls your number, you will get a message as shown below.

The KooKoo code is given below. Download the KooKoo code and upload it to your web server.Also, update your KooKoo Url after you login to KooKoo.

<?php
session_start();
//include KooKoo library.This is available in the download
require_once("response.php");
//create a response object
$r=new Response();
if($_REQUEST['event']=="NewCall") //when a new call comes...
{
        $_SESSION['cid']=$_REQUEST['cid'];
        //Update this with your own company name and your own prompt.
        $r->addPlayText("Thank you for calling MY COMPANY. Please record your message and we will get back to you at the earliest");
       //create a unique filename for the recorded file.
       $support='support_'.time().'_'.$_REQUEST['cid'];
      //Tell KooKoo to send an SMS informing you of the new call. Replace the number with your own number.
      $r->sendSms('Got a call from '.$_SESSION['cid'],9888766767);
      //tell KooKoo to record some content
      $r->addRecord($support);
      $r->send();
}

else if($_REQUEST['event']=="Hangup") //once a user hangs up the call,do the following
{
      //store the URL of the recorded file
      $url=$_REQUEST['data'];
      //send a mail to issue burner
      $to      = 'issue@issueburner.com';
      $subject = 'New support request';
      $message = 'You have a new support request from '.$_SESSION['cid'].'.Please listen to the request at '.$url;
      //add your email id here
     $headers = 'From: myemail@mydomain.com' . "\r\n" .
    'Reply-To: myemail@mydomain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);

}
?>
Thats it.You have an automated contact system. Your customers are happy as they can always reach you and get instant feedback. You are happy as you never miss a customer communication.

So in just a few minutes you have an always on phone system which your customers can use to contact you. In fact, you can mix and match your communication mechanisms in whatever format you are comfortable with. For example, once a customer calls your number, you could post a tweet about it so that you are alerted immediately.You can look at Twitter Voice example on how to achieve that. Or you could just mail yourself instead of using Issueburner. You could even store the call details in a database to observe some patterns etc.

You can also combine this with the <dial> tag to  transfer the call to yourself in case you want to talk to the user. Very easily, you could do the following:

1. User calls
2. You do a <dial>your phone number</dial> on event="NewCall"
3. If you don't answer, ask the customer to record and store the recording.

So you have a complete Call center setup with agents for Free.

Try out various combinations and let us know how it goes.

Popular posts from this blog

First Post

In this blog, I will be talking about my experiences in trying to build a cloud telephony platform , KooKoo . Along the way I will also be talking about different design choices I made, good programming practices and the IVR domain in general. For technoratti: NNFJW8EW86C3

Google's approach to business communication

 Google has been making silent moves in the business communication space. Google has mostly lost the instant messaging wars. But it does not want to lose the business communication war. WhatsApp, Instagram, Twitter and Facebook have been making their own moves to enable businesses to reach their customers through their channels. Its all about who has control over the communication channels. Especially communication which leads to business. That's where the money is. Currently, Google is the king of search and most online transactions start with a Google search. FB, Amazon, Apple and others want to change that. They want the search to start on their properties. And they have started making the moves. WhatsApp business allows small businesses to conduct their transactions on WhatsApp. FB and Instagram have long supported small businesses to manage their business on their channels. Apple has also made some nice moves with Apple business chat. They have integrated a whole shopping expe

Integrating Arborjs with Angular to create a live calls dashboard

Arborjs  is a cool graph visualization library. Angular  is one of the best JavaScript frameworks and we have been using Angular in a lot of our front end development. When you handle millions of calls, proper visualization becomes very important. Without proper visualization, you can get lost in the mountains of data. So we spend a lot of time to come up with good visualizations to represent the data. Since we loved the cool way in which Arbor represented graph data, we could not wait to hook it up with Angular. Because of Angular's two way data binding, when you hook up Angularjs with Arbor.js you can get a dynamically updated visualization of graph data with cool animations. To give back to the community, we have put up the code online at Github . Basically we have created an Angularjs directive for Arborjs. Please feel free to fork the code and add extensions and use it for your own visualizations. The code is self explanatory with comments inline. Best way to get s