Integration

CRMConnect with an API key

HubSpot voice AI integration

The HubSpot integration connects your AI voice and chat agents to HubSpot, so they can create a crm contact on a live call. It's a crm connector that runs as a tool the agent calls mid-conversation — you connect with an api key, attach it to an agent, and it acts in real time without a human in the loop.

HubSpot API docs

Last updated 2026-09-15

What your agent can do with HubSpot

Create a CRM contactCreate CRM contact

Create a HubSpot contact for the caller. Use when the caller is a new lead or customer.

Inputs

FieldTypeDescription
companystringCompany name, if any
emailstringEmail, if given
firstnamestringFirst name
lastnamestringLast name
phone*stringPhone with country code
crm.list_contactslist_contacts crm

Read the HubSpot contact list, a page at a time. For importing a call list — use crm.lookup_contact to find one caller during a call.

Inputs

FieldTypeDescription
afterstringPage cursor from the previous call
limitintegerContacts per page (max 100)
crm.update_contactsupdate_contacts crm

Update many HubSpot contacts in one call — the campaign write-back path.

Inputs

FieldTypeDescription
inputs*array[{id, properties}] — up to 100
Look up a contact by phoneLook up CRM contact

Find an existing HubSpot contact by phone number. Use to recognise a caller or before creating a duplicate.

Inputs

FieldTypeDescription
phone*stringPhone digits to search for. A partial match works (HubSpot token-matches); the national number without country code is most reliable.
crm.log_calllog_call crm

Log every call as a HubSpot Calls engagement. Map at least hs_timestamp (when the call happened) — HubSpot rejects a call without it. Useful properties: hs_call_title, hs_call_body, hs_call_to_number, hs_call_duration, hs_call_status, hs_call_direction.

Inputs

FieldTypeDescription
inputs*arrayone entry per call, each {properties:{…}}
Get a contact by IDGet a CRM contact

Fetch one HubSpot contact by its ID, with more detail than the search returns.

Inputs

FieldTypeDescription
contact_id*stringThe HubSpot contact ID (a numeric string)
Update a contactUpdate a CRM contact

Update fields on an existing HubSpot contact. Only the fields you supply are changed. Supply at least one field besides the ID — calling this with only the ID changes nothing and still reports success.

Inputs

FieldTypeDescription
companystringCompany name
contact_id*stringThe HubSpot contact ID
emailstringEmail
firstnamestringFirst name
lastnamestringLast name
phonestringPhone in full international form
List a contact's dealsList a contact’s opportunities

List the deals attached to a HubSpot contact, newest first, so you can tell a caller where their enquiry stands.

Inputs

FieldTypeDescription
contact_id*stringThe HubSpot contact ID
Get a deal by IDGet an opportunity

Fetch one HubSpot deal by its ID — its name, value and whether it has closed.

Inputs

FieldTypeDescription
opportunity_id*stringThe HubSpot deal ID (a numeric string)

Update a HubSpot deal — its name, value, close date or description. Only the fields you supply are changed. Supply at least one field besides the ID.

Inputs

FieldTypeDescription
amountstringDeal value in whole currency units, e.g. 4500
close_datestringExpected close date as YYYY-MM-DD
descriptionstringFree-text notes on the deal
namestringDeal name
opportunity_id*stringThe HubSpot deal ID
List a contact's companiesList a contact’s companies

List the companies a HubSpot contact is associated with.

Inputs

FieldTypeDescription
contact_id*stringThe HubSpot contact ID
Get a company by IDGet a company

Fetch one HubSpot company by its ID.

Inputs

FieldTypeDescription
company_id*stringThe HubSpot company ID (a numeric string)
Update a companyUpdate a company

Update fields on an existing HubSpot company. Only the fields you supply are changed. Supply at least one field besides the ID.

Inputs

FieldTypeDescription
citystringCity
company_id*stringThe HubSpot company ID
domainstringWebsite domain, e.g. acme.com
industrystringIndustry, exactly as the business named it
namestringCompany name
phonestringMain phone number
List a contact's open tasksList a contact’s tasks

List the tasks still outstanding on a HubSpot contact, soonest due first. Completed tasks are not returned.

Inputs

FieldTypeDescription
contact_id*stringThe HubSpot contact ID
Create a task on a contactCreate a CRM task

Create a follow-up task against a HubSpot contact. If the caller did not name a due date, use tomorrow morning.

Inputs

FieldTypeDescription
contact_id*stringThe HubSpot contact ID
descriptionstringAny detail the person doing the task will need
due_date*stringWhen the task is due, ISO 8601 with a UTC offset, e.g. 2026-09-10T09:00:00+05:30
subject*stringShort task title, e.g. "Call back about the quote"
Add a note to a contactAdd a note to a contact

Write a note onto a HubSpot contact — what the caller asked for, what was agreed. Keep it to a short paragraph.

Inputs

FieldTypeDescription
body*stringThe note text
contact_id*stringThe HubSpot contact ID
titlestringOptional short heading, written as the first line of the note
Log a phone callLog a phone call

Record this call on the caller's HubSpot timeline. Use near the end of a call to write down what was discussed and agreed.

Inputs

FieldTypeDescription
contact_id*stringThe HubSpot contact ID the call belongs to
directionstringWho placed the call. INBOUND means the caller rang us.
duration_minutesintegerHow long the call lasted, in whole minutes
notesstringWhat was discussed, asked for and agreed. A short paragraph.
phone_numberstringThe number the call was on
subject*stringOne-line summary of the call

What you'll need to connect HubSpot

Connect with an API key. In Telenow, open Integrations → HubSpot and provide:

  • Private app access token — HubSpot → Settings → Integrations → Private apps (needs crm.objects.contacts read/write)

Agent templates that use HubSpot

Other CRM integrations

Frequently asked questions

What can an AI voice agent do with HubSpot?+

During a live call or chat, a Telenow agent can create a crm contact, crm.list_contacts, crm.update_contacts, look up a contact by phone, crm.log_call, get a contact by id, update a contact, list a contact's deals, get a deal by id, update a deal, list a contact's companies, get a company by id, update a company, list a contact's open tasks, create a task on a contact, add a note to a contact, and log a phone call — each runs as a tool the agent calls mid-conversation, so it acts on HubSpot in real time without a human.

How do you connect HubSpot to Telenow?+

In Telenow, open Integrations, pick HubSpot, and you paste a HubSpot API key into the connection, then bind it to your agent. Then add its crm tool to your agent (or install a template that already includes it) and you're live.

Which AI agent templates use HubSpot?+

SaaS demo scheduler, Inbound sales concierge, Order & delivery status, Billing dispute intake, Subscription cancel & retain, B2B invoice follow-up, Insurance policy verification, and Return & refund intake all use HubSpot. You can install any of them and connect your HubSpot account in a couple of clicks.

Does HubSpot work on phone calls and WhatsApp?+

Yes. Telenow agents run on phone, web, chat and WhatsApp, and HubSpot works the same across every channel — the agent calls it whenever the conversation needs it.

How much does the HubSpot integration cost?+

Connecting HubSpot is included — you only pay Telenow's transparent per-minute and per-component usage, and new accounts get free signup credit to try it.

$1.00 free credit on signup

Connect HubSpot to your AI voice agent

Sign up free and get $1.00 in credit — no card required. Connect your number, pick a template, and go live in minutes.