---
title: Unified CRM API — Truto Unified API
slug: crm
canonical: "https://truto.one/unified-apis/crm/"
---

# Customer Relationship Management Unified API

Integrate Customer Relationship Management data across 27 providers with one API. 17 normalized resources, real-time pass-through, fully customizable.

**Base URL:** `https://api.truto.one/unified/crm`  
**Resources:** 17  
**Integrations:** 27

## Resources

### Accounts

The accounts represent a company in a CRM. (15 fields)

- `id` (string) — The account's unique identifier
- `owner` (object) — The account's owner
- `name` (string) — The account's name
- `description` (string) — The account's description
- `industry` (string) — The account's industry
- `website` (string) — The account's website
- `number_of_employees` (integer) — The account's number of employees
- `addresses` (array) — 
- `phone_numbers` (array) — 
- `urls` (array) — The account's urls
- `tags` (array) — The contact's tags
- `custom_fields` (object) — All the custom fields present on the account
- `last_activity_at` (string) — The date and time of the account's last activity
- `updated_at` (string) — The date and time of the account's last update
- `created_at` (string) — The date and time of the account's creation

### Associations

 (3 fields)

- `entity_id` (string) — The unique identifier for the entity.
- `entity` (string) — The type of the entity.
- `associations` (object) — 

### Contacts

The contacts represent an existing point of contact at a company in a CRM. (17 fields)

- `id` (string) — The contact's unique identifier
- `first_name` (string) — The contact's first name
- `last_name` (string) — The contact's last name
- `name` (string) — The contact's full name
- `title` (string) — The contact's job title
- `account` (object) — The contact's account
- `addresses` (array) — 
- `email_addresses` (array) — 
- `phone_numbers` (array) — 
- `tags` (array) — The contact's tags
- `custom_fields` (object) — All the custom fields present on the contact
- `last_activity_at` (string) — The date and time of the contact's last activity
- `created_at` (string) — The date and time of the contact's creation
- `updated_at` (string) — The date and time of the contact's last update
- `etag` (string) — The unique identifier for the specific version of the resource.
- `owner` (object) — The account's owner
- `urls` (array) — The contact's urls

### Engagement Types

The engagement types represent an interaction activity in a CRM. (5 fields)

- `id` (string) — The engagement type's unique identifier
- `type` (string) — The engagement type's type
- `name` (string) — The engagement type's name
- `created_at` (string) — The date and time of the engagement type's creation
- `updated_at` (string) — The date and time of the engagement type's last update

### Engagements

The engagements represent an interaction noted in a CRM. (21 fields)

- `id` (string) — The engagement's unique identifier
- `owner` (object) — The engagement's owner
- `content` (string) — The engagement's content
- `subject` (string) — The engagement's subject
- `direction` (string) — The engagement's direction
- `engagement_type` (string) — The engagement's type - call, email, meeting or raw response
- `internal_notes` (string) — The engagement's internal notes
- `notes` (array) — The engagement's notes
- `status` (string) — The engagement's status
- `start_time` (string) — The engagement's start time
- `end_time` (string) — The engagement's end time
- `duration` (string) — The engagement's duration
- `project` (object) — The engagement's project
- `account` (object) — The engagement's account
- `contact` (array) — The engagement's contacts
- `opportunity` (array) — The engagement's opportunity
- `lead` (array) — The engagement's lead
- `phone_numbers` (array) — 
- `custom_fields` (object) — All the custom fields present on the engagement
- `created_at` (string) — The date and time of the engagement's creation
- `updated_at` (string) — The date and time of the engagement's last update

### Field Groups

Represents a group of fields in a CRM. (8 fields)

- `id` (string) — The field group's unique identifier
- `name` (string) — The field group's name. Used in other resources to reference the field group.
- `label` (string) — The field group's descriptive label
- `description` (string) — The field group's description
- `entity_type` (string) — The entity type the field group belongs to
- `status` (string) — The field group's status
- `created_at` (string) — The date and time of the field group's creation
- `updated_at` (string) — The date and time of the field group's last update

### Fields

The fields of entities in a CRM. (17 fields)

- `id` (string) — The field's unique identifier
- `name` (string) — The field's name. This is the name of the property in the entity.
- `label` (string) — The field's label
- `description` (string) — The field's description
- `type` (string) — The field's type
- `is_hidden` (boolean) — Whether the field is hidden
- `is_unique` (boolean) — Whether the field is unique
- `is_required` (boolean) — Whether the field is required
- `is_editable` (boolean) — Whether the field is editable
- `options` (array) — The field's options
- `is_user_defined` (boolean) — Whether the field is user defined
- `entity_type` (string) — The entity type the field belongs to
- `reference_entity` (string) — The entity type this field references to
- `field_groups` (array) — 
- `created_at` (string) — The date and time of the field's creation
- `updated_at` (string) — The date and time of the field's last update
- `urls` (array) — The field's urls

### Leads

The leads represent a potential customer in a CRM. (21 fields)

- `id` (string) — The lead' unique identifier
- `owner` (object) — The lead's owner
- `lead_source` (string) — The lead's source
- `lead_type` (string) — The lead's type
- `status` (string) — The lead's status
- `title` (string) — The lead's title
- `contact` (object) — The contact associated with the lead
- `account` (object) — The lead's account
- `first_name` (string) — The lead's first name
- `last_name` (string) — The lead's last name
- `addresses` (array) — 
- `email_addresses` (array) — 
- `phone_numbers` (array) — 
- `custom_fields` (object) — All the custom fields present on the lead
- `last_activity_at` (string) — The date and time of the lead's last activity
- `created_at` (string) — The date and time of the lead's creation
- `updated_at` (string) — The date and time of the lead's last update
- `converted_at` (string) — The date and time of the lead's conversion
- `converted_contact` (string) — The lead's converted contact
- `converted_account` (string) — The lead's converted account
- `urls` (array) — The lead's urls

### Notes

The notes represent a note on another object in a CRM. (12 fields)

- `id` (string) — The note's unique identifier
- `title` (string) — The note's title
- `owner` (object) — The note's owner
- `content` (string) — The note's content
- `contact` (array) — The note's contact
- `account` (object) — The note's account
- `opportunity` (array) — The note's opportunities
- `lead` (array) — The note's leads
- `visibility` (string) — The note's visibility
- `created_at` (string) — The date and time of the note's creation
- `updated_at` (string) — The date and time of the note's last update
- `urls` (array) — The note's urls

### Opportunities

The opportunities represent an opportunity in a CRM. (17 fields)

- `id` (string) — The opportunity's unique identifier
- `name` (string) — The opportunity's name
- `description` (string) — The opportunity's description
- `amount` (number) — The opportunity's amount
- `currency` (string) — The amount attribute's currency
- `owner` (object) — The opportunity's owner
- `account` (object) — The opportunity's account
- `contact` (array) — The opportunity's contacts
- `stage` (object) — The opportunity's stage
- `status` (string) — The opportunity's status
- `tags` (array) — The opportunity's tags
- `custom_fields` (object) — All the custom fields present on the opportunity
- `last_activity_at` (string) — The date and time of the opportunity's last activity
- `close_date` (string) — The date and time of the opportunity's close date
- `created_at` (string) — The date and time of the opportunity's creation
- `updated_at` (string) — The date and time of the opportunity's last update
- `urls` (array) — The opportunity's urls

### Pipelines

 (6 fields)

- `id` (string) — The unique identifier for the pipeline
- `name` (string) — The name of the pipeline
- `entity` (string) — The entity associated with the pipeline
- `stages` (array) — The stages associated with the pipeline
- `created_at` (string) — The date and time when the pipeline was created
- `updated_at` (string) — The date and time when the pipeline was updated

### Projects

 (16 fields)

- `id` (string) — The project's unique identifier
- `name` (string) — The project's name
- `description` (string) — The project's description
- `amount` (number) — The project's amount
- `currency` (string) — The amount attribute's currency
- `owner` (object) — The project's owner
- `account` (object) — The project's account
- `contact` (array) — The project's contacts
- `opportunity` (array) — The project's opportunity
- `stage` (object) — The project's stage
- `status` (string) — The project's status
- `tags` (array) — The project's tags
- `last_activity_at` (string) — The date and time of the project's last activity
- `close_date` (string) — The date and time of the project's close date
- `created_at` (string) — The date and time of the project's creation
- `updated_at` (string) — The date and time of the project's last update

### Stages

The stages represent a stage of an opportunity in a CRM. (7 fields)

- `id` (string) — The stage's unique identifier
- `name` (string) — The stage's name
- `position` (number) — The order of stage in the pipeline
- `status` (string) — The status of the stage
- `pipeline` (object) — The pipeline this stage is part of
- `created_at` (string) — The date and time of the stage's creation
- `updated_at` (string) — The date and time of the stage's last update

### Tasks

The tasks represent a task in a CRM. (16 fields)

- `id` (string) — The task's unique identifier
- `subject` (string) — The task's subject
- `content` (string) — The task's content
- `type` (object) — The task's type
- `owner` (object) — The task's owner
- `account` (object) — The task's account
- `contact` (array) — The task's contact
- `opportunity` (array) — The task's opportunity
- `lead` (array) — The task's lead
- `completed_at` (string) — The date and time of the task's completion
- `due_date` (string) — The date and time of the task's due date
- `status` (string) — The task's status
- `created_at` (string) — The date and time of the task's creation
- `updated_at` (string) — The date and time of the task's last update
- `etag` (string) — The unique identifier for the specific version of the resource.
- `urls` (array) — The task's urls

### Users

The users represent a user in a CRM. (7 fields)

- `id` (string) — The user's unique identifier
- `name` (string) — The user's name
- `email` (string) — The user's email
- `is_active` (boolean) — Whether the user is active
- `created_at` (string) — The date and time of the user's creation
- `updated_at` (string) — The date and time of the user's last update
- `urls` (array) — The user's urls

### Views

 (5 fields)

- `id` (string) — The view's unique identifier
- `name` (string) — The view's name
- `entity` (string) — The entity the view belongs to
- `created_at` (string) — The date and time of the view's creation
- `updated_at` (string) — The date and time of the view's last update

### Workspaces

The workspace represent a workspace in the remote system. (5 fields)

- `id` (string) — The workspace's unique identifier
- `name` (string) — The workspace's name
- `description` (string) — The workspace's description
- `updated_at` (string) — The date and time of the workspace's last update
- `created_at` (string) — The date and time of the workspace's creation

## Supported integrations

- [Accelo](https://truto.one/integrations/detail/accelo/)
- [ActiveCampaign](https://truto.one/integrations/detail/activecampaign/)
- [Affinity](https://truto.one/integrations/detail/affinity/)
- [Attio](https://truto.one/integrations/detail/attio/)
- [Capsule](https://truto.one/integrations/detail/capsule/)
- [Close](https://truto.one/integrations/detail/close/)
- [Copper](https://truto.one/integrations/detail/copper/)
- [Freshsales](https://truto.one/integrations/detail/freshsales/)
- [Highlevel](https://truto.one/integrations/detail/highlevel/)
- [HubSpot](https://truto.one/integrations/detail/hubspot/)
- [Insightly](https://truto.one/integrations/detail/insightly/)
- [Keap](https://truto.one/integrations/detail/keap/)
- [Microsoft Dynamics 365 Sales](https://truto.one/integrations/detail/dynamics365/)
- [Monday CRM](https://truto.one/integrations/detail/mondaycrm/)
- [Nutshell](https://truto.one/integrations/detail/nutshell/)
- [OnePageCRM](https://truto.one/integrations/detail/onepagecrm/)
- [Outreach](https://truto.one/integrations/detail/outreach/)
- [Pipedrive](https://truto.one/integrations/detail/pipedrive/)
- [Pipeline CRM](https://truto.one/integrations/detail/pipelinecrm/)
- [Pipeliner](https://truto.one/integrations/detail/pipeliner/)
- [Planhat](https://truto.one/integrations/detail/planhat/)
- [Salesflare](https://truto.one/integrations/detail/salesflare/)
- [Salesforce](https://truto.one/integrations/detail/salesforce/)
- [Teamleader](https://truto.one/integrations/detail/teamleader/)
- [Wix](https://truto.one/integrations/detail/wix/)
- [Zendesk Sell](https://truto.one/integrations/detail/zendesksell/)
- [Zoho CRM](https://truto.one/integrations/detail/zohocrm/)

## Related reading

- [What Are CRM Integrations? (2026 Architecture & Strategy Guide)](https://truto.one/blog/what-are-crm-integrations-2026-architecture-strategy-guide/) — A complete architecture guide to CRM integrations for B2B SaaS. Learn the tradeoffs of custom code, embedded iPaaS, and unified APIs to ship fast in 2026.
- [Building Native CRM Integrations Without Draining Engineering in 2026](https://truto.one/blog/building-native-crm-integrations-without-draining-engineering-in-2026/) — Ship native CRM integrations to Salesforce, HubSpot, and Pipedrive without burning engineering quarters. Learn the true costs, architecture trade-offs, and how Unified APIs change the math.
- [Architecting Real-Time CRM Syncs for Enterprise: A Technical Guide](https://truto.one/blog/architecting-real-time-crm-syncs-for-enterprise-a-technical-guide/) — A pragmatic, engineering-first guide to building bidirectional, real-time CRM syncs with Salesforce and HubSpot—covering rate limits, webhooks, and conflict resolution.
- [The Most Requested Integrations for B2B Sales Tools in 2026](https://truto.one/blog/what-are-the-most-requested-integrations-for-b2b-sales-tools/) — Discover the most requested CRM and ERP integrations for B2B sales tools in 2026, the hidden engineering costs of building them in-house, and how to ship them fast.
- [How to Integrate with the Pipedrive API (2026 Engineering Guide)](https://truto.one/blog/how-to-integrate-with-the-pipedrive-api-2026-engineering-guide/) — A technical guide to building reliable Pipedrive API integrations in 2026, covering token-based rate limits, 40-character custom field hashes, OAuth 2.0, and pagination quirks.
- [How to Integrate with the Microsoft Dynamics 365 CRM API (2026 Guide)](https://truto.one/blog/how-to-integrate-with-the-microsoft-dynamics-365-crm-api-2026-guide/) — A technical guide to integrating with the Dynamics 365 Dataverse Web API — covering Azure AD OAuth setup, OData quirks, Service Protection rate limits, and architectural shortcuts.
