For Agents
Read and write companies, contacts, leads, opportunities, pipelines, activities, and notes across Salesforce, HubSpot, Pipedrive, Zoho, and other CRMs through one unified schema.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the CRM API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# 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 API API.
Create, list, update, and delete companies and contacts with consistent fields across CRMs
Manage opportunities with monetary value, stage, pipeline reference, and close date
Create and update leads with status, source, and converted-contact references
Read pipeline definitions and stage names so workflow logic does not have to hard-code per-CRM stage names
GET STARTED
Use for: Create a new contact in the connected CRM, List all opportunities open in the current quarter, Update the stage of an opportunity to closed-won, Find a contact by email address across CRMs
Not supported: Does not handle marketing automation, customer support tickets, or quote-to-cash document generation - use for CRM core records (contacts, companies, leads, opportunities, activities) only.
Apideck CRM is a unified API that maps a single schema for companies, contacts, leads, opportunities, pipelines, activities, notes, and users onto downstream CRMs such as Salesforce, HubSpot, Pipedrive, Zoho, and Microsoft Dynamics. The 40 operations cover the day-to-day CRM objects most apps need, and Apideck routes each call through Apideck Vault so per-customer CRM credentials never reach the calling app. Builders typically replace 5+ direct CRM integrations with a single Apideck contract.
Log activities (calls, meetings, tasks) and notes against contacts, companies, and opportunities
List CRM users so an integration can attribute records to the right owner
Patterns agents use CRM API API for, with concrete tasks.
★ Bidirectional Contact Sync
Sync contacts between a SaaS application and whichever CRM a customer uses. /crm/contacts handles list, create, update, and delete with the same payload across Salesforce, HubSpot, Pipedrive, and Zoho. The unified schema means a single integration replaces five direct CRM connections, so an outreach or marketing app can ship CRM sync as a feature in days rather than quarters.
GET /crm/contacts updated since the last sync and POST any local-only contact records to /crm/contacts on the connected CRM
Deal Stage Updates from External Tools
Move opportunities through the pipeline from a quoting, contract, or analytics tool. /crm/opportunities accepts stage and status updates with the same field shape across CRMs, so a contract-signed event from DocuSign can update the deal to closed-won regardless of whether the CRM is HubSpot or Salesforce.
PATCH /crm/opportunities/{id} with status='WON' when a contract is signed in the upstream tool
Activity Logging from Email and Calendar
Log emails, meetings, and calls against the right contact or deal in a customer's CRM without writing per-CRM activity adapters. /crm/activities accepts the unified activity payload (type, subject, owner, related-to references) and Apideck creates the native activity on the connected CRM. Used by sales-engagement tools to roll out CRM logging across customer base in one release.
POST /crm/activities with type='meeting', subject, owner_id, and the contact_id captured from the calendar invite
AI Agent CRM Assistant
Give an AI agent a tool to read and update CRM records on whichever platform the customer runs. Through Jentic, the agent searches for an intent like 'create a crm contact' and gets the matching Apideck operation with its input schema. The agent does not need a Salesforce-specific or HubSpot-specific adapter.
Search Jentic for 'create crm contact', load the /crm/contacts schema, and execute with the contact's name, email, and company_id
40 endpoints — apideck crm is a unified api that maps a single schema for companies, contacts, leads, opportunities, pipelines, activities, notes, and users onto downstream crms such as salesforce, hubspot, pipedrive, zoho, and microsoft dynamics.
METHOD
PATH
DESCRIPTION
/crm/contacts
List contacts on the connected CRM
/crm/contacts
Create a contact
/crm/companies
List companies on the connected CRM
/crm/companies
Create a company
/crm/opportunities
List opportunities with filters
/crm/opportunities/{id}
Update an opportunity (stage, value, owner)
/crm/pipelines
List pipelines and their stages
/crm/leads
Create a lead
/crm/contacts
List contacts on the connected CRM
/crm/contacts
Create a contact
/crm/companies
List companies on the connected CRM
/crm/companies
Create a company
/crm/opportunities
List opportunities with filters
Three things that make agents converge on Jentic-routed access.
Credential isolation
All three Apideck headers (Authorization, x-apideck-app-id, x-apideck-consumer-id) are stored encrypted in the Jentic vault and injected at execution time. Per-consumer Apideck Vault tokens never enter the agent's prompt or logs.
Intent-based discovery
Agents search by intent (for example 'create crm contact' or 'update opportunity stage') and Jentic returns the matching Apideck operation with its input schema, so the agent does not have to walk the 40-operation reference.
Time to first call
Direct Apideck CRM integration: 1-3 days to wire the three required headers, onboard consumers through Apideck Vault, and map errors. Through Jentic: under 1 hour - search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Salesforce REST API
Native Salesforce REST API for customers running only on Salesforce
Choose Salesforce directly when the agent only operates on Salesforce and needs SOQL, Apex callouts, or Salesforce-native objects the unified API does not surface
Pipedrive API
Native Pipedrive API for customers running only on Pipedrive
Choose Pipedrive directly when the agent only operates on Pipedrive and needs Pipedrive-specific automations the unified API does not expose
Apideck ATS API
Apideck ATS unified API for syncing candidates that originated as CRM leads
Pair with Apideck ATS when a closed-won deal in CRM should trigger a candidate creation in the customer's ATS, using the same Apideck Vault consumer
Apideck Accounting API
Apideck Accounting to invoice the contact or company captured in CRM
Pair with Apideck Accounting to push an invoice to the customer's ledger after the deal is closed in the CRM
Specific to using CRM API API through Jentic.
What authentication does the Apideck CRM API use?
Apideck requires Authorization with a bearer API key, x-apideck-app-id with your Unify application id, and x-apideck-consumer-id with the end-customer reference stored in Apideck Vault. Through Jentic all three values are stored encrypted in the vault and injected at execution time.
Which CRMs does the Apideck CRM API cover?
Apideck Unify routes CRM calls to connectors including Salesforce, HubSpot, Pipedrive, Zoho CRM, Microsoft Dynamics, Copper, Capsule, and Insightly. Use the x-apideck-service-id header to pin the call to a specific connector when a consumer has more than one connected.
Can I create a contact with the Apideck CRM API?
Yes. POST to /crm/contacts with first_name, last_name, emails, phone_numbers, and company_id. Apideck translates the unified payload into the native contact on the connected CRM and returns the created object with the connector's id.
What are the rate limits for the Apideck CRM API?
Apideck enforces limits at both the Unify layer and the underlying connector. Salesforce, HubSpot, and the others each have their own quotas, so a /crm/contacts call respects the downstream connector's limits. Expect ConnectorRateLimitError on connector throttling and HTTP 429 on Unify throttling - retry with exponential backoff.
How do I update an opportunity stage through Jentic?
Search Jentic for 'update crm opportunity stage', load the /crm/opportunities/{id} PATCH schema, and execute with the opportunity id and the new status. The response confirms the update on the connected CRM.
Is the Apideck CRM API free?
Apideck Unify offers a free tier with capped requests; production use is billed per consumer connection. See https://www.apideck.com/pricing for current tiers and contact sales@apideck.com for volume pricing.
/crm/opportunities/{id}
Update an opportunity (stage, value, owner)
/crm/pipelines
List pipelines and their stages
/crm/leads
Create a lead