For Agents
Register, configure, and manage HubSpot calling app extensions — including settings, recording readiness callbacks, and channel-connection metadata for embedded CRM calling experiences.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the CRM Calling Extensions, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with CRM Calling Extensions API.
Register calling app settings against a HubSpot appId so the CRM exposes the dialer integration
Update recording settings for a calling app to control how recordings are ingested by HubSpot
Notify HubSpot that a call recording is ready via the recordings/ready endpoint for retrieval
GET STARTED
Use for: I need to register a new calling app integration with HubSpot, Update the recording settings for a HubSpot calling extension, Notify HubSpot that a call recording is ready for download, Retrieve the calling extension settings for a specific HubSpot app
Not supported: Does not place calls, transcribe audio, or store call recordings — use only to register and configure HubSpot calling extensions.
The HubSpot CRM Calling Extensions API lets calling app developers register and configure their integration so HubSpot users can place and receive calls from inside the CRM. It manages per-app calling settings, recording configuration, channel connections, and notifies HubSpot when call recordings are ready for ingestion. Settings are scoped per HubSpot app id, allowing multi-tenant calling providers to control the experience for each installation.
Configure channel-connection settings that map a calling provider channel to a HubSpot inbox
Retrieve current calling extension settings for a given appId to verify configuration
Delete calling extension settings to deregister the calling provider from a HubSpot account
Patterns agents use CRM Calling Extensions API for, with concrete tasks.
★ Calling App Onboarding
A telephony vendor onboards a new HubSpot customer by calling the settings endpoint to register the app's calling URL, recording mode, and supported features against the customer's appId. HubSpot then renders the in-CRM dialer using these settings, eliminating manual setup.
POST settings to /crm/v3/extensions/calling/{appId}/settings with the provider's calling URL, name, and supported features (recording, transferring) for the new tenant.
Recording Ready Notification
After a call ends and the recording finishes processing on the provider side, the provider notifies HubSpot using the recordings/ready endpoint so HubSpot pulls the recording into the call timeline. This avoids HubSpot polling the provider for completion.
POST to /crm/v3/extensions/calling/recordings/ready with the engagement id and recording URL once the provider has finalised the recording.
Channel Connection Configuration
Map a provider channel — for example a queue or a number pool — to a HubSpot inbox so inbound calls route correctly. This is the bridge between the calling provider's routing and HubSpot's conversations inbox.
PUT /crm/v3/extensions/calling/{appId}/settings/channel-connection with channel id, inbox id, and provider metadata to bind the channel.
AI Agent Telephony Provisioning
An AI agent provisions HubSpot calling for a fleet of new tenants by reading provider configuration from a sheet and registering the calling extension settings for each appId. Jentic exposes the operation with a typed schema so the agent does not need to parse HubSpot API docs.
Iterate the tenant list and call POST /crm/v3/extensions/calling/{appId}/settings via Jentic for each appId, logging successes and surfacing 4xx errors to the human reviewer.
12 endpoints — the hubspot crm calling extensions api lets calling app developers register and configure their integration so hubspot users can place and receive calls from inside the crm.
METHOD
PATH
DESCRIPTION
/crm/v3/extensions/calling/{appId}/settings
Retrieve calling extension settings for an app
/crm/v3/extensions/calling/{appId}/settings
Register or replace calling extension settings
/crm/v3/extensions/calling/{appId}/settings
Partially update calling extension settings
/crm/v3/extensions/calling/{appId}/settings
Deregister a calling extension
/crm/v3/extensions/calling/{appId}/settings/recording
Update recording settings for a calling app
/crm/v3/extensions/calling/recordings/ready
Notify HubSpot that a call recording is ready
/crm/v3/extensions/calling/{appId}/settings
Retrieve calling extension settings for an app
/crm/v3/extensions/calling/{appId}/settings
Register or replace calling extension settings
/crm/v3/extensions/calling/{appId}/settings
Partially update calling extension settings
/crm/v3/extensions/calling/{appId}/settings
Deregister a calling extension
/crm/v3/extensions/calling/{appId}/settings/recording
Update recording settings for a calling app
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot developer keys and OAuth tokens are stored encrypted in the Jentic vault. Agents receive a scoped token per execution — raw secrets never appear in agent prompts or logs.
Intent-based discovery
Agents search Jentic by intent (e.g. 'register a hubspot calling app') and Jentic returns the matching calling extension operation with its typed input schema, so the agent calls the right endpoint without doc lookup.
Time to first call
Direct integration: 2-4 days to wire OAuth, the appId scoping, and recording callbacks. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using CRM Calling Extensions API through Jentic.
What authentication does the HubSpot Calling Extensions API use?
It supports OAuth 2.0, HubSpot private apps, and the legacy developer hapikey for partner-side calls. Through Jentic, the developer key or OAuth token is held in the vault and a scoped token is injected per request, keeping raw credentials out of the agent context.
Can I update recording settings with the HubSpot Calling Extensions API?
Yes — PATCH /crm/v3/extensions/calling/{appId}/settings/recording lets you change the recording mode and storage URL pattern for a given calling app without re-registering the rest of the settings.
What are the rate limits for the HubSpot Calling Extensions API?
It uses HubSpot's standard CRM API limits — 100 requests per 10 seconds for OAuth apps and 110 per 10 seconds for private apps. Settings endpoints are usually called rarely (on install or update), so limits are not typically a constraint here.
How do I notify HubSpot of a recording through Jentic?
Run the Jentic search "notify hubspot call recording ready" to find the operation backed by POST /crm/v3/extensions/calling/recordings/ready, load its schema, and execute with the engagementId and recording URL. Authentication is handled by Jentic.
Is the HubSpot Calling Extensions API free?
Yes, the calling extensions endpoints are free for registered HubSpot app developers. You must publish a HubSpot app and use its appId as the path parameter. Customer-side calling features may require a paid HubSpot tier on the customer account.
Can multiple calling channels be connected for one app?
Yes. Use the channel-connection endpoint repeatedly to bind different channels (queues, numbers, agents) to different HubSpot inboxes under the same appId. Each binding is independent and can be deleted without affecting others.
/crm/v3/extensions/calling/recordings/ready
Notify HubSpot that a call recording is ready