Receiving the right advice at the right time makes all the difference. Over the years, I have been made to wait on endless calls with customer care with no resolution at the end of it, Redirecting me endlessly through different teams. This is not how things should work in the age of the Internet. To combat this problem I made SparkLive. It let's you easily reach out to the right support/sales/tech/ops team and get the advice you need immediately.

Sometimes support through chat is not enough. Imagine you are a hardware startup and fastest way to support your customer is showing live how your device works. In many cases, audio support speed ups the process

Considering a multi faceted approach to support, SparkLive includes live support, live audio and video. The process is immensely simple too. A company can visit SparkLive and choose a team that will support a particular set of issues. SparkLive will then generate a friendly script tag that the company can then add to their website and easily let their customers chat with the support through through an interactive blob.

This solution works all size of companies. A small startup can't afford/manage setting up support channel ground up. This integration will simply plug into their CiscoSpark space and support right through it. Using SparkLive, its extremely simple to manage internal allocation of agents for support when it comes to Medium-Large companies

What it does

When you logon to SparkLive, it asks you to click on 'Add SparkLive'.

Step 1

Once you click on it, it redirects you to consent page of Oauth2 where you give access to your CiscoSpark account to SparkLive. You will be redirected to configure page where you can select existing teams for support. You can select separate teams for separate type of support. Once you save configuration, it will generate a script tag for you which you can include in your website/webapp.

Step 2

Script tag will add live chat window your website and now any visitor can connect you using chat window and you will receive all messages in your CiscoSpark space/team

Step 3

Now whenever new message comes in you will get notified in respective team and you can chat from there. Here every visitor corresponds to room. so every-time a new query comes for new visitor, a room is created into team you had selected for support in configuration page. After user goes offline or clicks 'Issue resolved' from settings icon, Room is archived.

Step 4

Major Features

  1. Audio, Video and Text support
  2. Get user demographics like browser/platform details, location details
  3. Set different teams for different type of support
  4. System generated messages like "User joined", "Ticket closed", "Call initiated"
  5. Maintaining session. which allows users refresh page without losing chat data
  6. Uses web-hook to receive events

How we built it

We first started learning about CiscoSpark, and its developer APIs. One by one we modelled data like room, messages and user in out rails app. we found some chat window design on internet and used it in project. then we wrote main javascript script which handles most client side logic and then integrating all this

Challenges we ran into

Since chat window is communicating with SparkLive server, We had to deal with same-origin policy. We solved it using JSONP which allows to request data from a different server than current one. Other problem was maintaining session. Imagine if customer opens up new tab and opens chat window there, he should be able to see same chat he did in other one. Only way to do this is maintaining session. Most of chat support client doesn't do that

Accomplishments that we're proud of

Solving same-origin policy and session was good achievement. We built almost all feature we had planned.

What's next for SparkLive

There are endless possibilities with CiscoSpark.

Imagine incase of high incoming support volume, it can dynamic allocate support tickets to internal agents. Adding skills, expertise, connecting right person to other teams like Tech, Marketing, Operations

Analytics. How much time taken by agents to close raised ticket. which one is faster to respond - text, audio or video? What sort of queries customers asking? Analytics can help improve internal process

When adding SparkLive, right now it show existing team. On same page, one can create new team there itself

Built With

Share this project: