How Hackers from Close.io Built a Sales Platform with Seamless Voice Integration

Plivo example. How close.io uses plivo.

Last week I had a very interesting conversation with Anthony Nemitz. He's a co-founder of Elastic, the team behind ElasticSales and the recently launched sales platform Close.io. We covered a variety of topics from their major pivot to why Close.io is uniquely positioned in the CRM space and how they selected Plivo to power a seamless voice call integration.



Anthony co-founder of close.io. How close.io uses plivo.

What's your elevator pitch for close.io?

Anthony: Close.io allows your sales team to make and receive more calls and emails than anything else on the market -- We're truly sales software.


Who is an ideal customer for close.io?

Anthony: Today, I'd say our most successful customers are between 3 and 30 sales reps, handling a mix of inbound and outbound sales, primarily in the B2B SaaS market. That being said, we're still learning how our product fits into the larger sales software space and what types of teams will be most successful using it.


When did you start the company and how has the journey been so far?

Anthony: Thomas, Steli and myself went through Y Combinator as a company called SwipeGood in the winter of 2011. In late 2012 we shut the SwipeGood business down, starting ElasticSales -- consulting and outsourcing the sales efforts of companies in their growth and exploration phases. Close.io was launched in early 2013 and is the culmination of many external sales campaigns and the learnings of our internal ElasticSales team.


How big is your team now and where are you located?

Anthony: Very small! We're only a team of six. While we're primarily based in downtown Palo Alto, CA, we're constantly traveling and finding new ways to expand our virtual workspace.


How many countries do you have customers in?

Anthony: Our primary growth has been in the U.S., however, we've been surprised at the adoption around the world. From Taiwan to Brazil, we've found a good deal of demand servicing non-U.S. businesses.


How fast is close.io growing?

Anthony: "We don't disclose numbers we're not legally obligated to." -- Steve Jobs


What got you started building Close.io?

Anthony: At ElasticSales, we gained a competitive edge by building our own set of sales tools -- from bulk email to predictive dialers to entire phone systems, we built it all. At some point we looked at all of the things we'd built and realized how valuable they would be to everyone outside of ElasticSales.

Coming from this perspective of "let's build the tools we need ourselves" gave us a lot of leeway in terms of vision and design. You could barely call the first few versions of Close.io a CRM -- it just wasn't designed with the traditional CRM type functionality in mind. What we knew the most about was sales software: how to send more emails, make more calls, or optimize our touchpoints based on past performance, lead source, time of day, etc.


What is the USP of Close.io given the existing CRM solutions like Salesforce etc.?

Anthony: Close.io's value proposition is simple: you're going to send more emails, make more calls and close more deals using our platform than any other system out there. We've also developed the most powerful search system for your sales data which can answer almost any type of question you can throw at it -- for instance, give me all leads from Australia who I haven't called this week but have opened my last email newsletter within the last 24 hours. You're also able to access our engineer-staffed support almost 24/7 -- something I haven't seen from anyone else in our space.

I will say though, that if you need a Swiss Army knife CRM with integrations to AdWords or QuickBooks or Sharepoint -- we're not it. While we generally get lumped into the CRM market we don't think of ourselves from a CRM perspective. That's why we have radical views on things like transparency, lead lists, lead assignment, and how your workflow should be structured. If you come from a CRM-centric mindset it takes a bit to wrap your head around Close.io and that's OK -- it means we're pushing the sales software industry forward. Our software is simply designed to help you sell better, period.


You have pivoted several times. Looking back, what has been the biggest takeaway so far?

Anthony: Ruthless contrarianism. I want to be doing all the things other companies and entrepreneurs aren't. Looking back at all of the gambles we've made as a business, the most successful have been those where we've intentionally done the opposite of others in our position. Don't be afraid to shake things up.


Plivo example. How close.io uses plivo.

Why did you build Mac/Windows native apps versus the web app?

Anthony: There's been a lot of interest in this decision, but it really boils down to this: First, sales is so important that it should be within its own app -- not just another tab in your browser.

Secondly, not every company is a startup running the latest version of Chrome or Firefox so building a completely WebRTC-based calling platform was out of the question. We also hated the idea of making folks use Flash to call -- I basically leave your site immediately if I have to use Flash :)

Lastly, when you're talking about power-user type telephony -- dialers, automatic gain control, network diagnostics, etc., you need to have access to the OS. Building out our native app is going to allow us to push the envelope further and faster than anyone stuck solely in the browser.


Why did you think it was crucial to integrate phone capability into close.io?

Anthony: Simple: phone calls and emails are the way products get sold. Without a seamless calling integration, you're killing your sales team's productivity.


Was there any special reason behind your choice of Plivo? If so, what was it?

Anthony: For over a year we were managing and building out our own phone infrastructure using Asterisk. We were just about to migrate to FreeSwitch when we had heard about Plivo. There was a long conversation which happened internally and ultimately we recognized that we needed a telephony partner that would help us scale up and automate a lot of the manual processes we had in place.

We obviously considered the usual suspects in the space, but Plivo provided the best mix of features, 24/7 customer support, price, and dedication to call quality. It was also really important for us to be able to interact with our telephony partner at the deepest technical levels. We're in the trenches every day looking at SIP logs, packet captures, and call routes so we needed a really hands on technical partner that would get into the nitty-gritty details of VoIP.


What specific features of Plivo does Close.io use at the moment?

Anthony: We generate SIP endpoints for each Close.io application, rent and manage DIDs, record calls, and make extensive use of the Dial elements to offer our customers call forwarding and ring group functionality. We also have a suite of automated tests which are constantly probing the calling infrastructure, allowing us to know about potential issues immediately.


Let's say you're speaking with a developer friend; how would you explain how inbound and outbound calls work in Close.io?

Anthony: Let's dive into our call flow after this conversation.

And he later sent me this:

SIP_HEADERS = ['X-PH-CALL-ID', 'X-PH-ORGANIZATION-ID', 'X-PH-LEAD-ID']


Inbound:


1) Inbound call hits Plivo

2) Plivo sends a request to the Close.io API

3) We lookup the 'To' phone number in the Close.io database to determine what user/ring group to send the call to.

4 a) If the call is to a specific Close.io user we might send back dial XML like this:

4 b) If the call is to a ring group, we dial multiple numbers like this:

If we're only calling Plivo registered SIP endpoints (and have no Number elements within the Dial) we can skip adding the confirmKey and confirmSound. They're only used to prevent a scenario where a call is connected to the Number element and it may actually be a voicemail -- not a "real" connection/person in which case we want the other SIP phones to continue ringing. This also allows us to always return the Close.io voicemail prompt when including both Close.io and non-Close.io phone numbers within a ring group.


Outbound


1) JavaScript initiates a POST to the Close.io API /activities/call/ endpoint.

2) Call information is passed to the built-in SIP client through our JavaScript<->Native bridge.

3) Native SIP client initiates outbound dial, passing SIP_HEADERS along to Plivo.

4) Plivo makes a request to Close.io's API with the call XML.

5) Close.io responds with the dial XML including the Close.io user's caller ID and the number to be dialed.

6) Plivo dials the recipient's number, connecting the Close.io SIP client.


How do you use Plivo's SIP offering?

Anthony: We assign an Endpoint (Plivo terminology for a SIP account) to each device registered with Close.io. When you log into your Close.io account within the native app, we look up the SIP account details and initiate the application's SIP client registration. At that point your Close.io app is ready to make and receive calls.


What did you do when you needed any technical help or had an issue?

Anthony: Simple—we just ping the Plivo DevOps team. They're almost always available through their 24/7 chat support or email. I’d especially like to thank Keshav, Nishad and Rakesh who have been extremely instrumental in making Close.io's calling integration what it is today. Given what we've experienced with Plivo so far, we're confident that when issues arise, the team at Plivo will resolve them quickly.



Like what you've read? Visit http://close.io to learn how to boost up sales for your business.

close.io free trial.

Comments