For Agents
Register, configure, and manage HubSpot calling app extensions — including settings, recording readiness callbacks, and channel-connection metadata for embedded CRM calling experiences.
Get started with CRM Calling Extensions in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"register a hubspot calling app"
# → Jentic returns the GET /events tool with parameter schema, agent executes.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
Configure channel-connection settings that map a calling provider channel to a HubSpot inbox
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.
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.
Calls
Manages the CRM call engagement records that the calling extension creates and updates.
Use Calls when the agent needs to read or update the engagement record (notes, outcome, contact association) created by a call.
Twilio
Twilio Voice provides the underlying telephony that many HubSpot calling extensions are built on.
Choose Twilio directly when the agent only needs to place or receive calls without surfacing them inside HubSpot CRM.
Conversations Inbox Messages
Manages messages in the HubSpot conversations inbox that channel connections route into.
Use this when the agent needs to read or post messages into the inbox that the calling channel is bound to.
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