Build your own Call Center

Published on
July 14, 2016

Phone banking is vital to a political campaign. Phone calls help to touch base with your supporters and leads.

Before the surge of internet telephony, call centers were typically a room full of phone lines connected to a physical PBX with agents using a phone line to make calls. The PBX was expensive to own and maintain. With the advent of modern technology and telephony there are now cloud based call center available, like CallHub’s Call center software. It removes the need for physical phone lines or even the physical presence of agents at the call center. Agents can now call remotely from their homes with just an internet connection.

As easy as it is to use and setup, a cloud based call center has a fixed user interface without the ability to customise screens to meet your specific requirements.

How to build your own Call Center using APIs

Why build your own Call Center?

The ability to create your own call center using API’s gives you the freedom to design according to your needs while still taking advantage of all the features we have to offer.

  1. Design your own workflows
  2. Completely brand the service as your own.
  3. Create custom landing pages for your volunteers.
  4. Build the call center on your own domain to maintain brand and reduce confusion for volunteers or agents.
  5. Create your own Volunteer or Agents signup pages.

With the launch of CallHub’s conference APIs, you can now create your own call center. Leverage features of CallHub like CRM integration, Agent and Campaign Analytics, Contacts and List Management to name a few.

Guide to CallHub APIs

CallHub APIs are neatly stacked into different sections in accordance with the major aspects of any call center.

Create agents

Use our Agent APIs to create agents in your account when a person submits a form. This form can be hosted on any site. Here is an example.

# You'll need to install requests
import requests
# api_key can be found at https://callhub.io/user_detail_change/?action=tabs-1
headers = {'Authorization': 'Token %s' % api_key}
data = {'username':'api_agent1','email' : '[email protected]', 'team':'france'}
r = requests.post('https://api.callhub.io/v1/agents/', data=data, headers=headers)
print "Agent created in JSON", r.json()

Make Calls

Use our Media APIs to make calls. These APIs give an agent the ability to join a campaign and then make calls to the contacts on their call list.

# You'll need to install requests
import requests
headers = {'Authorization': 'Token %s' % api_key}
data =  {'campaign_id': '%d'%campaign_id}
conf = requests.post('https://api.callhub.io/v2/conference/', data=data, headers=headers)
conf_uuid = conf.json()['conference_uuid']

# join this conference
#p_connection is connection preference of agent.
join_data = {'endpoint':p_connection} r=requests.put('https://api.callhub.io/v2/conference/%s/agent/'%conf_uuid,data=join_data,headers=headers)
print 'Agent joined Conference' , r.json()

#Calling the next available subscriber in the list
s=requests.put('https://api.callhub.io/v2/conference/%s/subscriber/'%conf_uuid,headers=headers)
print 'Subscriber called' , s.json()

View contact information

Subscriber APIs allow you to view details about the contact being called. Using them you can see all the information and history of the contact being called. This information is useful for the agent when talking to the contact.

# You'll need to install requests
import requests
headers = {'Authorization': 'Token %s' % api_key}
# replace campaign_id with the id number of the campaign for which current subscriber information you are fetching
url = 'https://api.callhub.io/v2/current-subscriber/%d/'% campaign_id
r = requests.get(url, headers=headers)
print "Subscriber information in JSON", r.json()

Script and Questionnaire

Our Script APIs give you the ability to display the calling script and save replies to the questions asked.

# You'll need to install requests
import requests
headers = {'Authorization': 'Token %s' % api_key}
# replace campaign_id with the id number of the campaign for which script you are fetching
url = 'https://api.callhub.io/v2/script-sections/%d/'% campaign_id
r = requests.get(url, headers=headers)
print "Script information in JSON", r.json()