Product

How Jentic Works

From API assessment to production deployment in four simple steps.

Product Overview

PLATFORM

Jentic OneSelf-hosted, open-source control plane between your agents and any APIAPI DirectoryBrowse 10,000+ APIs ready for AI agent integrationAPI ScorecardAssess your APIs for AI-readiness with automated scoringAgentic SandboxSafely simulate AI agents with your production APIsJenticSign in to the Jentic web app

CAPABILITIES

IntegrationConnect AI agents to your existing systemsWorkflowsDiscover and capture successful agent workflowsGovernanceDefine, observe, and enforce AI policies

TOOLS

Arazzo UIVisualize Arazzo workflows as interactive documentationArazzo EditorBuild and edit multi-step API workflows visually
Pricing
Developers

GET STARTED

DocumentationGuides and API referenceQuickstartGet up and running in minutes

COMMUNITY

GitHubOpen source projects and examples
Resources
BlogLatest articles and insightsPress & MediaBrand assets and press contactOpen StandardsBuilt on open specs. Never locked in.NewsletterAPIs, AI agents, mixed with architecture and strategy.
Company
About UsOur mission and teamCareersJoin our teamContactGet in touch
Install Jentic OneBook a Demo
How Jentic WorksJentic OneAPI DirectoryAPI ScorecardAgentic SandboxJenticIntegrationWorkflowsGovernanceArazzo UIArazzo Editor
Pricing
DocumentationQuickstartGitHub
BlogPress & MediaOpen StandardsNewsletter
About UsCareersContact
Request a demoInstall Jentic One
Jentic
For Enterprises
  • Product Overview
  • Agentic Sandbox
  • Book a Demo
For Developers
  • Jentic One
  • Documentation
  • GitHub
Company
  • About Jentic
  • Careers
  • Contact Us
ISO/IEC 27001:2022 certification badge issued by Prescient Security

Information Security Management System

Certified to ISO/IEC 27001:2022 by Prescient Security

Terms & Conditions•Privacy Policy•
© 2026 Jentic. All rights reserved.
APIs / CRM / Hubspot / Calls
Calls logo

HubSpot Calls

Browse all Hubspot APIs
✓ Official Vendor SpecCRMContact Managementoauth2,apiKey11 EndpointsREST

For Agents

Create, read, update, archive, search, and upsert HubSpot CRM call engagement records, with batch endpoints for high-volume telephony logging.

Use for: I need to log a new call engagement in HubSpot CRM, Retrieve a call record by its engagement ID, Search for all calls made to a specific contact in the last 30 days, Update the outcome and notes on a completed call

Not supported: Does not place calls, host recordings, or transcribe audio — use only for managing HubSpot CRM call engagement records.

The HubSpot Calls API manages call engagement records in the CRM — the structured log of inbound and outbound calls associated with contacts, companies, and deals. It exposes batch CRUD plus search and upsert against the calls object using the standard CRM v3 object pattern. Each call record can carry properties such as duration, call direction, recording URL, notes, and outcome, and can be associated with other CRM objects.

Jentic One on GithubView OpenAPI Document

Install Jentic One Beta

Connect the Calls to your agent

Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Calls, 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.

1

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 | sh
2

Step 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 instance

Jentic 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.

Capabilities

What an agent can do with Calls API.

Create call engagement records with direction, duration, recording URL, and outcome properties

Batch upsert call records by an idempotency key to avoid duplicates from retried telephony events

Search call records by contact, company, date range, or call outcome using filter groups

Retrieve a call engagement by ID with associated contacts, companies, and deals

Update call properties (notes, disposition) after the call ends

Archive call records in batch when removing them from active CRM views

Page through all call records with cursor-based pagination for export jobs

Use Cases

Patterns agents use Calls API for, with concrete tasks.

★ Telephony Activity Logging

When a sales rep finishes a call in their dialer, the integration logs it as a call engagement in HubSpot so the rep's manager can see activity against the contact and deal. Batch create handles up to 100 calls per request, suitable for daily reconciliation jobs from the telephony platform.

POST 50 call records to /crm/v3/objects/calls/batch/create with hs_call_direction, hs_call_duration, and contact associations from the dialer export.

Call Outcome Reporting

Search call records filtered by outcome and date range to drive a weekly sales effectiveness dashboard. The search endpoint supports paging, sorting, and property selection, so the report only pulls the columns it needs.

Search /crm/v3/objects/calls/search with filterGroups for hs_call_disposition equals "Connected" and hs_timestamp in the last 7 days, returning hs_call_duration and ownerId.

Idempotent Call Upsert

Use batch upsert with an external telephony id as the idempotency key so retried webhooks from the telephony provider do not create duplicate call engagements. This pattern is critical when the provider retries on network failures.

POST to /crm/v3/objects/calls/batch/upsert with idProperty set to hs_unique_creation_key and 100 call payloads from the provider's queue.

AI Agent Call Enrichment

An AI agent reads the latest call recordings, summarises them with an LLM, and writes the summary plus disposition back to the HubSpot call record. Jentic exposes the search and update operations with typed schemas, so the agent updates the right field without consulting docs.

Search calls in the last 24h missing hs_call_body, fetch each recording, generate a summary, then PATCH /crm/v3/objects/calls/{callId} with the summary and disposition.

Key Endpoints

11 endpoints — the hubspot calls api manages call engagement records in the crm — the structured log of inbound and outbound calls associated with contacts, companies, and deals.

METHOD

PATH

DESCRIPTION

POST

/crm/v3/objects/calls/batch/create

Create call engagements in batch

POST

/crm/v3/objects/calls/batch/upsert

Idempotent upsert by external id

POST

/crm/v3/objects/calls/batch/read

Read calls in batch by ID

POST

/crm/v3/objects/calls/batch/update

Update call properties in batch

POST

/crm/v3/objects/calls/search

Search calls by filter groups

GET

/crm/v3/objects/calls/{callId}

Retrieve a single call engagement

GET

/crm/v3/objects/calls

List calls with pagination

POST

/crm/v3/objects/calls/batch/create

Create call engagements in batch

POST

/crm/v3/objects/calls/batch/upsert

Idempotent upsert by external id

POST

/crm/v3/objects/calls/batch/read

Read calls in batch by ID

POST

/crm/v3/objects/calls/batch/update

Update call properties in batch

POST

/crm/v3/objects/calls/search

Search calls by filter groups

GET

/crm/v3/objects/calls/{callId}

Retrieve a single call engagement

GET

/crm/v3/objects/calls

List calls with pagination

Why Jentic?

Three things that make agents converge on Jentic-routed access.

Credential management

Credential isolation

HubSpot OAuth and private app tokens are encrypted in the Jentic vault. Scoped tokens are injected at execution — raw credentials never enter the agent's context.

Intent-based discovery

Intent-based discovery

Agents search Jentic by intent (e.g. 'log a call in hubspot') and Jentic returns the matching calls operation with its typed input schema, so the agent calls the right endpoint without browsing docs.

Time to first call

Time to first call

Direct integration: 1-2 days for OAuth, batch error handling, and idempotency. Through Jentic: under 1 hour — search, load schema, execute.

Related APIs

Alternatives and complements available in the Jentic catalogue.

Complementary

CRM Calling Extensions

→

Registers the calling app that creates these call engagement records inside HubSpot.

Use Calling Extensions to register the dialer app, then use Calls to write engagement records during and after calls.

Complementary

Contacts

→

Standard CRM contact object that calls are typically associated with.

Use Contacts to look up or update the contact a call should be associated with before creating the call engagement.

Alternative

Twilio

→

Twilio Voice exposes raw call records and recordings without the CRM activity layer.

Choose Twilio when the agent only needs the telephony record and is not maintaining a CRM activity timeline.

FAQs

Specific to using Calls API through Jentic.

What authentication does the HubSpot Calls API use?

The Calls API supports OAuth 2.0 (oauth2 and oauth2_legacy) and HubSpot private app tokens. Through Jentic, tokens are stored in the vault and a scoped token is injected per request, so raw credentials never enter the agent context.

Can I attach a call recording URL with the HubSpot Calls API?

Yes — set the hs_call_recording_url property on create or update. HubSpot stores the URL on the engagement and surfaces a player in the CRM timeline. The recording itself is hosted by your telephony provider; HubSpot does not re-upload the audio.

What are the rate limits for the HubSpot Calls API?

Standard CRM API limits apply — 100 requests per 10 seconds for OAuth apps and 110 per 10 seconds for private apps. Use /crm/v3/objects/calls/batch/create or /batch/upsert (up to 100 records per request) to stay under the limit during bulk syncs.

How do I upsert calls through Jentic?

Run the Jentic search "upsert hubspot call records" to find POST /crm/v3/objects/calls/batch/upsert, load its schema, and execute with idProperty set to a unique external id. Jentic handles authentication and returns per-record success or error.

Is the HubSpot Calls API free?

The Calls API is included with any HubSpot account that has Sales Hub or Service Hub enabled. There is no per-call API charge from HubSpot beyond the underlying tier subscription.

Can I associate a call with multiple contacts?

Yes — pass an associations array on create, or use the CRM Associations API afterwards, to link a single call engagement to multiple contacts, companies, and deals. The single-record GET supports an associations parameter to return linked IDs in one call.

GET STARTED

Start building with Calls API

Explore with Jentic
View OpenAPI Document