Skip to content

Voice

CallHub
API integration

Ship Voice features without building the integration. Full CallHub API access via Proxy and 20+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
CallHub

Use Cases

Why integrate with CallHub

Common scenarios for SaaS companies building CallHub integrations for their customers.

01

Embed voter and supporter outreach in political CRMs

Political CRM and campaign management platforms can let organizers push segmented voter lists directly into CallHub phonebooks and sync tags back as volunteers complete calls, eliminating manual CSV exports between tools.

02

Automate volunteer and agent provisioning from scheduling tools

Workforce and volunteer scheduling SaaS can provision CallHub agents, assign them to teams for specific shifts, and revoke access when shifts end — keeping call center rosters in sync without a dedicated ops team.

03

Centralize TCPA compliance across channels

Debt collection, fundraising, and omnichannel marketing platforms can push opt-outs captured anywhere in their product directly to CallHub's DNC list in real time, reducing TCPA exposure for their customers.

04

Unified campaign analytics and credit monitoring

Marketing and advocacy analytics dashboards can pull live CallHub campaign metrics and credit usage alongside other channels to show true cost-per-contact and ROI without customers logging into multiple tools.

05

Script and template orchestration for managed services

Agencies and managed-service platforms can inject standardized call scripts, survey templates, and P2P campaign configurations into their clients' CallHub accounts, enforcing consistent messaging across many sub-accounts.

What You Can Build

Ship these features with Truto + CallHub

Concrete product features your team can ship faster by leveraging Truto’s CallHub integration instead of building from scratch.

01

Bulk phonebook sync from CRM segments

Use asynchronous bulk contact creation and phonebook bulk add/remove to keep CallHub audiences aligned with dynamic CRM segments, even at the scale of millions of records.

02

Real-time tag write-back

Create contact tags on CallHub records as call outcomes and survey responses come in, so your users see unified contact profiles inside your product.

03

Agent and team lifecycle automation

Create teams, bulk-update agent assignments, and bulk-delete agents based on shift schedules or role changes in your platform.

04

P2P campaign remote control

Let your users start, pause, or update CallHub P2P campaigns from your UI, without context-switching into the CallHub dashboard.

05

DNC enforcement engine

Push opt-outs to CallHub's DNC list with voice, SMS, or both granularity whenever a contact unsubscribes anywhere in your product.

06

Local-presence number provisioning

Rent CallHub phone numbers matching your users' target area codes on demand, and surface validated and calling numbers inside your campaign setup flow.

SuperAI

CallHub AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

create_a_call_hub_contact

Create a new CallHub contact. Returns the created contact record including id, url, phonebooks, contact, mobile, first_name, last_name, and email. Required: contact (the phone number used in all voice campaigns).

delete_a_call_hub_contact_by_id

Delete a CallHub contact by id. Returns an empty 204 response on success. Required: id.

get_single_call_hub_contact_by_id

Get a single CallHub contact by id. Returns the contact record including id, url, phonebooks, contact, mobile, first_name, last_name, and email. Required: id.

update_a_call_hub_contact_by_id

Update an existing CallHub contact by id. Returns the updated contact record including id, url, phonebooks, contact, mobile, first_name, and last_name. Required: id and contact (the phone number used in all voice campaigns).

create_a_call_hub_contact_tag

Create one or more tags on a CallHub contact. Returns the created tag objects including name, crm_type, crm_id, id, pk_str, and created_date. Required: contact_id, name.

delete_a_call_hub_contact_tag_by_id

Delete a tag from a CallHub contact by tag id. Returns an empty 204 response on success. Required: contact_id and id.

call_hub_phonebook_contacts_bulk_add

Add existing CallHub contacts to a phonebook in bulk. Returns the updated phonebook object including its id, url, owner, name, description, and contact count. Required: phonebook_id, contact_ids.

call_hub_phonebook_contacts_bulk_remove

Remove existing CallHub contacts from a phonebook in bulk. Returns the updated phonebook object including its id, url, owner, name, description, and contact count. Required: phonebook_id, contact_ids.

list_all_call_hub_phonebook_contacts

List all contacts in a CallHub phone book, each with all contact details. Returns: url, phonebooks, contact, mobile, last_name, first_name, country_code, email, address, city, state, company_name, company_website, job_title. Required: phonebook_id. Max page size 1000.

create_a_call_hub_contacts_bulk_create

Bulk import contacts into a CallHub phonebook from an uploaded CSV file or a hosted csv_url. Returns: message, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: phonebook_id, mapping. Either contacts_csv or csv_url must be supplied; imports are processed asynchronously one at a time.

create_a_call_hub_tag

Create a tag in CallHub. Returns the created tag object including id, name, crm_id, crm_type, contact, created_date, and updated_date. Required: tag (the name of the tag to create).

get_single_call_hub_tag_by_id

Get details of a specific tag in CallHub by its id. Returns the tag record with id, name, crm_id, crm_type, contact, created_date, and updated_date. Required: id.

get_single_call_hub_team_agent_by_id

Get agent details for a CallHub team by id. Returns: agents_data, team. Required: id.

list_all_call_hub_team_agents

List the existing agents assigned to a CallHub team. Returns: agents. Required: team_id.

call_hub_team_agents_bulk_delete

Remove existing agents from a CallHub team. Pass the agent ids to remove in agent_ids. Required: team_id. Returns an empty 204 response on success.

call_hub_team_agents_bulk_update

Assign existing agents to a CallHub team. Returns the team record: id, name, created_at. Required: team_id, agent_ids.

create_a_call_hub_team

Create a team in CallHub with the given name. Returns the created team object including id, name, created_at, and pk_str (the team id as a string). Required: name.

delete_a_call_hub_team_by_id

Delete a team in CallHub by id. Returns an empty 204 response on success. Required: id.

list_all_call_hub_teams

List teams in CallHub. Returns each team's id, name, and created_at.

update_a_call_hub_team_by_id

Update a team's name in CallHub by id. Returns the updated team object including id, name, and created_at. Required: id, name.

list_all_call_hub_campaign_info

List CallHub campaign info for the campaigns the agent is assigned to, filtered by campaign IDs. Returns an array of campaign info objects including id, name, status, script, totalcontact, completed, phonebook, and created_date. Required: id (array of Campaign IDs).

list_all_call_hub_credits_usage

Get CallHub credits usage details for a date range. Returns a usage report with count, next, previous, and results containing total_usage records (sms_amount, voice_amount, voice_calls, credits_remaining) plus per-campaign-type usage breakdowns. Required: start_date (mm/dd/yyyy). If end_date is omitted, usage covers a single day; all usage details cover UTC 00:00-23:59.

create_a_call_hub_dnc_contact

Create a new DNC contact in CallHub, adding a phone number to a Do-Not-Call list. Returns: url, dnc, phone_number, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: dnc, phone_number. Set category to 1 for opted out of calling only, 2 for opted out of texting only, or 3 for both (defaults to 3).

update_a_call_hub_p_2_p_campaign_by_id

Update a CallHub P2P campaign's status (1 = START, 2 = PAUSE, 4 = END) or rename it. Returns: id, name, status, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: id. PATCH semantics — at least one of status or name must be provided, and name cannot be changed while the campaign is running (status 1) unless the same request also transitions it out of START.

list_all_call_hub_calling_numbers

List rented calling numbers in Callhub. Returns: phone_number, country, region, last_rent, is_active, last_used_date, is_used_in_campaign. Filterable by country, region, and number prefix; max 1000 per page.

list_all_call_hub_validated_numbers

List the phone numbers validated for use in CallHub campaigns. Returns a list where each item includes phone_number. Max 1000 per page.

create_a_call_hub_rent_number

Rent a phone number in CallHub for use in call center or voice broadcast campaigns. Returns the rented number with id, phone_number, country, region, status, voice/sms/mms capability flags, and rental charges. Required: country_iso. If no numbers are available in the requested area code, a random number from the country is rented.

create_a_call_hub_template

Create a CallHub script template with a label and a list of survey/text questions. Returns the created template: label, questions. Required: label, questions; each question requires type (12 or 1) and question text.

list_all_call_hub_templates

List CallHub script templates. Returns template records with id, label, and their survey/text questions.

Why Truto

Why use Truto’s MCP server for CallHub

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with CallHub in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s CallHub account

Use Truto’s frontend SDK to connect your customer’s CallHub account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call CallHub

Truto’s Proxy API is a 1-to-1 mapping of the CallHub API. You call us, we call CallHub, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate CallHub’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about CallHub on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication does CallHub use?

CallHub uses API key authentication tied to a user's account. With Truto, your end users connect their CallHub account once through a connected-account flow, and Truto handles credential storage and injection on every request.

How do we handle importing very large contact lists without hitting rate limits?

Use the bulk contact create endpoint, which accepts a CSV URL and runs asynchronously inside CallHub. This is the recommended path for lists ranging from thousands to millions of contacts, since it avoids per-record API calls entirely.

Can we read campaign performance data in real time?

Yes. You can poll the campaign info endpoint to retrieve status, total contacts, and completion metrics for active campaigns. CallHub does not expose streaming webhooks for all campaign events via this surface, so dashboards are typically polling-based.

Does the integration support DNC granularity for voice vs. SMS?

Yes. The DNC contact create operation supports specifying whether a number should be blocked for voice, SMS, or both, allowing you to mirror channel-specific opt-out preferences from your product.

What agent and team operations are supported?

You can list and fetch team agents, bulk update and bulk delete agents, and create, update, list, and delete teams. This covers most provisioning and deprovisioning workflows needed to sync agents from an external HRIS, scheduling tool, or CRM.

Can we manage call scripts and templates programmatically?

Yes. You can create templates and list all existing templates, which lets you inject standardized scripts and survey questions into a client's CallHub account before campaigns launch.

How do we monitor usage for billing or alerting?

Use the credits usage list endpoint to pull consumption data per account. This is commonly used to trigger in-app budget alerts, enforce plan limits, or reconcile internal billing against CallHub spend.

CallHub

Get CallHub integrated into your app

Our team understands what it takes to make a CallHub integration successful. A short, crisp 30 minute call with folks who understand the problem.