For Agents
Read and write across many CRMs through a single unified surface - manage accounts, contacts, leads, opportunities, tasks, and more without per-CRM integration code.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Data2CRM.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.
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://jentic.com/install.sh?src=apis&api=%2Fapis%2Fdata2crm.com%2Fdata2crm" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fdata2crm.com%2Fdata2crm" | 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 Data2CRM.API.
Create, read, update, and delete records across accounts, contacts, leads, and opportunities through a unified surface
Run bulk insert, update, and delete operations on CRM entities for one-shot migrations and syncs
Count records and describe entity schemas to drive dynamic CRM-aware UIs
GET STARTED
Use for: I want to create a contact record across the connected CRM, Bulk import 5000 leads into a CRM, Search for opportunities with stage 'Negotiation' across all connected accounts, Retrieve the schema describing the account entity for the connected CRM
Not supported: Does not handle marketing email delivery, payment processing, or finance ledger operations - use for unified CRM record CRUD, bulk operations, schema describe, and counts only.
Data2CRM.API is a unified CRM integration layer that exposes a single REST surface across many third-party CRM systems. The 360-endpoint API covers core CRM resources - accounts, contacts, leads, opportunities, deals, cases, tasks, notes, products, invoices, quotes, and more - through consistent CRUD, bulk, count, and describe operations. Authentication uses two API keys, X-API2CRM-USER-KEY and X-API2CRM-APPLICATION-KEY, sent as request headers. The base URL is https://api-2445581398133.apicast.io:443/v1.
Manage supporting resources - tasks, notes, calls, meetings, attachments - alongside core CRM records
Authenticate using X-API2CRM-USER-KEY and X-API2CRM-APPLICATION-KEY headers scoped per connected CRM
Switch the underlying CRM (Salesforce, Zoho, Pipedrive, etc.) by changing the application key without changing endpoint paths
Patterns agents use Data2CRM.API for, with concrete tasks.
★ CRM Migration
Migrate accounts, contacts, leads, opportunities, and supporting records between two CRMs without writing per-CRM clients. The bulk POST and PUT endpoints under /application/entity/{resource}/bulk accept array payloads, and /describe endpoints report the target schema. Suitable for consultancies and data teams running one-time migrations between Salesforce, Zoho, and similar systems.
Read all accounts from CRM A via GET /application/entity/account/list, transform the records to the target CRM schema, and bulk insert them via POST /application/entity/account/bulk into CRM B.
Multi-CRM Productized Integration
Ship a single integration that supports many CRMs by swapping the application key rather than maintaining per-vendor SDKs. Each CRM is accessed through the same /application/entity/{resource} URL pattern with consistent CRUD, bulk, count, and describe operations. Useful for SaaS products that integrate with their customers' CRMs.
Detect the customer's connected CRM, then call POST /application/entity/contact with the same payload shape regardless of whether the target is Salesforce or Zoho.
Two-Way CRM Sync
Sync core CRM records between an external system of record (e.g. a marketing platform) and the customer's CRM in both directions. The list, count, and bulk endpoints support polling and reconciliation flows for accounts, contacts, leads, opportunities, and tasks. Useful for marketing automation and customer-success platforms keeping CRM data current.
Every 30 minutes, fetch updated leads from the marketing platform and push changes via PUT /application/entity/lead/bulk while pulling new leads from the CRM via GET /application/entity/lead/list.
Schema-Aware CRM Tooling
Render dynamic forms and field pickers that adapt to whichever CRM the customer has connected by reading entity schemas at runtime. The /describe endpoints return the field definitions for each entity, allowing tools to surface the right fields without hard-coded per-CRM logic. Useful for low-code builders and admin consoles.
Call GET /application/entity/account/describe to retrieve account fields for the connected CRM, then render a dynamic form for the user to create a new account.
Agent-Driven CRM Workflows via Jentic
AI agents that operate across multiple customer CRMs can call Data2CRM.API through Jentic without juggling each customer's pair of API keys. The agent searches Jentic for the relevant intent, loads the schema, and executes a CRM operation while the user and application keys stay in your Jentic One instance. This keeps CRM credentials isolated per tenant.
Use Jentic to search 'create a crm contact', load POST /application/entity/contact, and execute it with the contact details from the user's request.
360 endpoints — data2crm.
METHOD
PATH
DESCRIPTION
/application/entity/account
Create an account record
/application/entity/account/list
List account records
/application/entity/account/bulk
Bulk-create account records
/application/entity/account/bulk
Bulk-update account records
/application/entity/account/bulk
Bulk-delete account records
/application/entity/account/describe
Describe the account entity schema
/application/entity/account/count
Count account records matching a filter
/application/entity/account
Create an account record
/application/entity/account/list
List account records
/application/entity/account/bulk
Bulk-create account records
/application/entity/account/bulk
Bulk-update account records
/application/entity/account/bulk
Bulk-delete account records
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Data2CRM by hand means learning its X-API2CRM-USER-KEY and X-API2CRM-APPLICATION-KEY header auth and building the CRUD, bulk, and retry plumbing across unified CRM entities yourself. Through Jentic you install once, import the Data2CRM.API from the API Directory, store the keys once, and your agent calls it.
Permission scoping
Data2CRM addresses its records through the request body rather than a resource id in the path, so limit the agent to the operations it needs, such as creating an account or listing records. You choose the operations it may call, so bulk delete is not included unless you add it.
Credential isolation
Your Data2CRM user and application keys are stored once, encrypted, by your own Jentic One instance and injected into the X-API2CRM-USER-KEY and X-API2CRM-APPLICATION-KEY headers at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'create a CRM account' or 'list CRM records', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without scrolling the Data2CRM docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Data2CRM.API through Jentic.
What authentication does the Data2CRM.API use?
Data2CRM.API uses two API keys sent as headers - X-API2CRM-USER-KEY identifies the calling user and X-API2CRM-APPLICATION-KEY identifies the connected CRM application. Through Jentic both keys are held in the vault and injected into outbound requests so neither enters the agent's context.
Can I bulk-import contacts with Data2CRM.API?
Yes. POST /application/entity/contact/bulk accepts an array of contact records and inserts them into the connected CRM in one call, while PUT /application/entity/contact/bulk performs bulk updates and DELETE handles bulk removal.
What are the rate limits for Data2CRM.API?
Limits are governed by the underlying CRM rather than Data2CRM directly - Salesforce and Zoho impose their own per-org limits. Apply backoff on 429 responses and prefer bulk endpoints over per-record loops to stay under the wrapped CRM's quota.
How do I describe a CRM entity through Jentic?
Run pip install jentic, then search Jentic for 'describe a crm entity', load the GET /application/entity/{resource}/describe schema, and execute it with the resource name (account, contact, lead, etc.). The response includes the field definitions for the connected CRM.
Which CRMs does Data2CRM.API support?
Data2CRM.API targets the major CRMs - Salesforce, Zoho, Pipedrive, and others - through a single REST surface. The connected CRM is selected by the X-API2CRM-APPLICATION-KEY value, so the same endpoint paths route to the chosen system.
Does Data2CRM.API support count and search operations?
Yes. Each entity exposes /count for filter-based record counts and /list with query parameters for filtered retrieval, both used heavily in sync and reconciliation pipelines.
Can I limit what my agent is allowed to do with the Data2CRM API?
Yes. Because you run Jentic One yourself, your own rules decide which Data2CRM operations the agent can call and which credentials it can use. Since Data2CRM addresses records through the request body rather than an id in the path, you scope the agent to just the operations it needs, such as POST /application/entity/account to create an account or GET /application/entity/account/list to list records. Destructive calls like bulk delete are not available to the agent unless you explicitly add them.
/application/entity/account/describe
Describe the account entity schema
/application/entity/account/count
Count account records matching a filter