CData Cloud offers access to Zoho CRM across several standard services and protocols, in a cloud-hosted solution. Any application that can connect to a SQL Server database can connect to Zoho CRM through CData Cloud.
CData Cloud allows you to standardize and configure connections to Zoho CRM as though it were any other OData endpoint or standard SQL Server.
This page provides a guide to Establishing a Connection to Zoho CRM in CData Cloud, as well as information on the available resources, and a reference to the available connection properties.
Establishing a Connection shows how to authenticate to Zoho CRM and configure any necessary connection properties to create a database in CData Cloud
Accessing data from Zoho CRM through the available standard services and CData Cloud administration is documented in further details in the CData Cloud Documentation.
Connect to Zoho CRM by selecting the corresponding icon in the Database tab. Required properties are listed under Settings. The Advanced tab lists connection properties that are not typically required.
To authenticate to your own local data via the desktop (non-browser connection), use the CData-supplied embedded OAuth application.
The Cloud is already registered with Zoho CRM as an OAuth application. As such, it will automatically use the embedded application to connect to local data via a Desktop application.
To avoid repeating the OAuth exchange and eliminate the need to manually set the OAuthAccessToken every time you access local data, set InitiateOAuth to GETANDREFRESH.
Note: The Zoho CRM Cloud defaults UseServerSideFiltering to True for higher performance, but this setting might return incorrect results.
To authenticate to shared data over the network (browser connection), use a custom OAuth application. To enable this authentication from all OAuth flows, you must set AuthScheme to OAuth.
The following subsections describe how to authenticate to Zoho CRM from three common authentication flows:
For information about how to create a custom OAuth application, and why you might want to create one even for auth flows that have embedded OAuth credentials, see Creating a Custom OAuth Application.
For a complete list of connection string properties available in Zoho CRM, see Connection.
When the access token expires, the Cloud refreshes it automatically.
Automatic refresh of the OAuth access token:
To have the Cloud automatically refresh the OAuth access token, do the following:
Manual refresh of the OAuth access token:
The only value needed to manually refresh the OAUth access token is the OAuth refresh token.
Store the OAuth refresh token so that you can use it to manually refresh the OAuth access token after it has expired.
By default, the Cloud attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.
To specify another certificate, see the SSLServerCert connection property.
To authenticate to an HTTP proxy, set the following:
Set the following properties:
The CData Cloud models Zoho CRM data as an easy-to-use SQL database with tables, views, and stored procedures.
The Cloud exposes three schemas:
The maximum batch size supported by ZohoCRM's API is 100. Therefore, CData recommends setting the BatchSize connection property to this value. CData does not recommend using a larger value, because it does not improve the performance of the Cloud.
The Zoho CRM Cloud supports the following APIs to query data from the source.
Zoho CRM imposes limits on the maximum number of rows and columns that interfacing tools such as the CData Cloud can retrieve from its APIs.
The limits vary based on the API you are using. These limits are:
The columns and values retrieved from tables and views vary based on the API you are using. These variations are:
The Cloud offloads as much of the SELECT statement processing as possible to the Zoho CRM APIs and then processes the rest of the query in the Cloud. The following sections document API limitations and requirements.
The Cloud connects to Zoho CRM and gets the list of tables and the metadata for the tables by calling the appropriate Web services. Any changes you make to your Zoho CRM account, such as adding a custom module, adding a custom field, or changing the data type of a field, occur immediately when you connect using the Cloud. The Tables sections show an example, based on the Zoho CRM development environment, of what the entities in your account might look like.
Note: The Notes table does not support the Bulk API. If you are using the Bulk API, the Cloud uses the REST API instead.
Most views are defined in static configuration files. Custom views are not. Instead, custom views are dynamically retrieved by connecting to Zoho CRM, calling the appropriate Web service and retrieving the list of custom views from the metadata returned. Any changes you make to your Zoho CRM account, such as adding a new custom view, occur immediately when you connect using the Cloud.
To use custom views, set the IncludeCustomViews property to true. Its default value is false since custom views introduce an overhead when retrieving the list of tables and views.
Criteria applied in the custom view (when creating or when editing it in the UI) are preserved in CData Zoho CRM Cloud. Nonetheless, further filtering on records is available at any time.
To use relative views, set the IncludeRelatedLists property to true. Its default value is false since related views introduce an overhead when retrieving the list of tables and views.
The EntityId field is required to fetch related module data. This field refers to the parent module Id.
The CData Cloud models Zoho CRM API v2 data as an easy-to-use SQL database. There are three parts to the data model: tables, views, and stored procedures. Any changes you make to your Zoho CRM account, such as adding a custom module, adding a custom field, or changing the data type of a field, occur immediately when you connect using the Cloud.
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Zoho CRM account.
Common tables include:
| Table | Description |
| Accounts | Manages company or customer account records, supporting operations to create, update, delete, and retrieve account data. |
| Activities | Stores CRM activities such as tasks, calls, and events, with support for deletion and retrieval. |
| Attachments | Handles files attached to CRM records, supporting deletion and queries by record or module. |
| Calls | Stores logged call records, enabling full lifecycle management including creation, updates, and deletions. |
| Campaigns | Maintains marketing campaign records and supports linking to leads, contacts, or deals for engagement tracking. |
| Cases | Tracks customer service tickets or support requests, including case creation, updates, and resolution status. |
| Contacts | Stores contact records representing individuals, with full support for data operations including phone, email, and job role details. |
| Deals | Stores information about sales opportunities, including stage, expected revenue, and related accounts or contacts. |
| Events | Manages calendar-based records such as meetings or scheduled events, with full create, update, and delete support. |
| Invoices | Stores customer invoice records including itemized charges, taxes, and payment tracking. Not available in free or standard accounts. |
| Leads | Manages unqualified prospect records, allowing conversion into contacts, accounts, or deals after qualification. |
| Notes | Handles note entries linked to CRM records, allowing users to create, edit, delete, or retrieve notes. |
| PriceBooks | Manages price book records for assigning specific product pricing tiers. Not supported in free or standard accounts. |
| Products | Stores product catalog records including item name, SKU, price, and stock information. |
| Quotes | Stores quote records issued to customers with pricing, taxes, and terms. Not supported in free or standard accounts. |
| SalesOrders | Manages sales order transactions including items, billing, and shipping details. Not accessible in free or standard accounts. |
| Solutions | Stores internal solution records such as help articles or knowledge base entries used for case resolution. |
| Tasks | Stores task records linked to CRM entities, including priority, due date, and reminder settings. |
| Vendors | Stores vendor records used in purchase-related transactions such as purchase orders or stock replenishment. |
| Users | Lists user accounts along with details like email, profile, role, and login status. |
Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard create, read, update, delete (CRUD) operations, including working with files.
The Cloud models the data in Zoho CRM as a list of tables in a relational database that can be queried using standard SQL statements.
| Name | Description |
| Accounts | Manages company or customer account records, supporting operations to create, update, delete, and retrieve account data. |
| Activities | Stores CRM activities such as tasks, calls, and events, with support for deletion and retrieval. |
| Attachments | Handles files attached to CRM records, supporting deletion and queries by record or module. |
| Calls | Stores logged call records, enabling full lifecycle management including creation, updates, and deletions. |
| Campaigns | Maintains marketing campaign records and supports linking to leads, contacts, or deals for engagement tracking. |
| Cases | Tracks customer service tickets or support requests, including case creation, updates, and resolution status. |
| ContactRoles | Defines the role a contact plays in relation to a deal or account, with support to create, update, or remove roles. |
| Contacts | Stores contact records representing individuals, with full support for data operations including phone, email, and job role details. |
| Currencies | Manages currency configurations used for pricing, deals, and transactions across modules within your organization. |
| Deals | Stores information about sales opportunities, including stage, expected revenue, and related accounts or contacts. |
| Events | Manages calendar-based records such as meetings or scheduled events, with full create, update, and delete support. |
| Invoices | Stores customer invoice records including itemized charges, taxes, and payment tracking. Not available in free or standard accounts. |
| Leads | Manages unqualified prospect records, allowing conversion into contacts, accounts, or deals after qualification. |
| Notes | Handles note entries linked to CRM records, allowing users to create, edit, delete, or retrieve notes. |
| PriceBooks | Manages price book records for assigning specific product pricing tiers. Not supported in free or standard accounts. |
| Products | Stores product catalog records including item name, SKU, price, and stock information. |
| PurchaseOrders | Stores purchase orders issued to vendors, including product details, terms, and order status. Restricted in free and standard accounts. |
| Quotes | Stores quote records issued to customers with pricing, taxes, and terms. Not supported in free or standard accounts. |
| SalesOrders | Manages sales order transactions including items, billing, and shipping details. Not accessible in free or standard accounts. |
| Solutions | Stores internal solution records such as help articles or knowledge base entries used for case resolution. |
| Tasks | Stores task records linked to CRM entities, including priority, due date, and reminder settings. |
| Vendors | Stores vendor records used in purchase-related transactions such as purchase orders or stock replenishment. |
Manages company or customer account records, supporting operations to create, update, delete, and retrieve account data.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side. The rest of the filter is executed client-side within the Cloud.
INSERT INTO Accounts(AccountName) VALUES('my name')
Required fields: AccountName.
Any field which is not read-only (ReadOnly = false in the table below below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Accounts WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Accounts SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique Zoho CRM identifier (Id) for the account record. |
| AccountOwner_Id | String | False |
Unique user Id of the record owner. |
| AccountOwner_FirstName | String | True |
Owner's given name. |
| AccountOwner_LastName | String | True |
Owner's family name. |
| AccountOwner_Email | String | True |
Email address of the account owner. |
| AccountOwner_Name | String | True |
Full display name of the account owner. |
| Rating | String | False |
Internal rating that reflects the account's value or priority, such as Hot, Warm, or Cold. |
| AccountName | String | False |
Registered or trading name of the company or organization. |
| Phone | String | False |
Primary business phone number for the account. |
| Fax | String | False |
Fax number associated with the account. |
| ParentAccount_Id | String | False |
Unique Id of the parent account when this record is a subsidiary. |
| ParentAccount_Name | String | True |
Name of the linked parent account. |
| Website | String | False |
Company's public website URL. |
| TickerSymbol | String | False |
Stock-market ticker symbol if the company is publicly traded. |
| AccountType | String | False |
Relationship category, for instance Customer, Partner, or Competitor. |
| Ownership | String | False |
Ownership structure of the business, for example Public, Private, or Subsidiary. |
| Industry | String | False |
Industry sector in which the company operates. |
| Employees | Int | False |
Number of full-time employees at the company. |
| AnnualRevenue | Decimal | False |
Most recent annual revenue figure in the organization's base currency. |
| SICCode | Int | False |
Standard Industrial Classification code identifying the company's industry. |
| CreatedBy_Id | String | False |
User Id of the person who created the record. |
| CreatedBy_FirstName | String | True |
Creator's given name. |
| CreatedBy_LastName | String | True |
Creator's family name. |
| CreatedBy_Email | String | True |
Creator's email address. |
| CreatedBy_Name | String | True |
Full display name of the record creator. |
| ModifiedBy_Id | String | False |
User Id of the person who last modified the record. |
| ModifiedBy_FirstName | String | True |
Modifier's given name. |
| ModifiedBy_LastName | String | True |
Modifier's family name. |
| ModifiedBy_Email | String | True |
Modifier's email address. |
| ModifiedBy_Name | String | True |
Full display name of the last modifier. |
| CreatedTime | Datetime | False |
Timestamp when the record was first created in Zoho CRM. |
| ModifiedTime | Datetime | False |
Timestamp of the most recent update. |
| LastActivityTime | Datetime | True |
Timestamp of the latest related activity, such as a note, email, or task. |
| AccountNumber | Long | False |
Internal reference or account number. |
| AccountSite | String | False |
Specific office or site name if the company has multiple locations. |
| Tag | String | False |
Tags applied to the record, stored as a comma-separated list with one space after each comma. |
| BillingStreet | String | False |
Street address used for billing. |
| ShippingStreet | String | False |
Street address used for shipping. |
| BillingCity | String | False |
City for the billing address. |
| ShippingCity | String | False |
City for the shipping address. |
| BillingState | String | False |
State or province for the billing address. |
| ShippingState | String | False |
State or province for the shipping address. |
| BillingCode | String | False |
Postal or ZIP code for billing. |
| ShippingCode | String | False |
Postal or ZIP code for shipping. |
| BillingCountry | String | False |
Country for the billing address. |
| ShippingCountry | String | False |
Country for the shipping address. |
| Description | String | False |
Free-form notes or additional details about the account. |
| AccountImage | String | False |
URL or file Id of the company logo or related image. |
| ChangeLogTime | Datetime | True |
Timestamp of the last synchronization or enrichment update. |
| Locked | Bool | True |
Indicates whether the record is locked from edits (true or false). |
| LastEnrichedTime | Datetime | True |
Timestamp of the most recent data-enrichment run. |
| EnrichStatus | String | True |
Status returned by the enrichment service, such as Completed or Failed. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Comma-separated field list used to detect duplicates during an upsert. The REST API supports multiple fields while the BULK API supports only one. |
| Trigger | String |
Comma-separated list of workflow names to trigger when inserting this record. |
| CustomViewId | Long |
Id of the custom view applied to filter this record when the useCOQL parameter is set to false. |
Stores CRM activities such as tasks, calls, and events, with support for deletion and retrieval.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Activities WHERE Id = '3152079000000154214' SELECT * FROM Activities WHERE Subject = 'event'
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Activities WHERE Id = '3152079000000156229'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the activity record. |
| ActivityOwner_Id | String | False |
Unique identifier of the user who owns the activity. |
| ActivityOwner_FirstName | String | True |
First name of the user who owns the activity. |
| ActivityOwner_LastName | String | True |
Last name of the user who owns the activity. |
| ActivityOwner_Email | String | True |
Email address of the user who owns the activity. |
| ActivityOwner_Name | String | True |
Full name of the user who owns the activity. |
| Subject | String | False |
Title or subject line of the activity. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the activity. |
| CreatedBy_FirstName | String | True |
First name of the user who created the activity. |
| CreatedBy_LastName | String | True |
Last name of the user who created the activity. |
| CreatedBy_Email | String | True |
Email address of the user who created the activity. |
| CreatedBy_Name | String | True |
Full name of the user who created the activity. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the activity. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the activity. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the activity. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the activity. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the activity. |
| CreatedAt | Datetime | False |
Timestamp indicating when the activity was created. |
| ModifiedAt | Datetime | False |
Timestamp indicating when the activity was last modified. |
| ActivityType | String | False |
Type of activity, such as task, call, or meeting. |
| ContactName_Id | String | False |
Unique identifier of the related contact. |
| ContactName_Name | String | True |
Full name of the related contact. |
| RelatedTo_Id | String | False |
Unique identifier of the related parent entity, such as a lead or account. |
| RelatedTo_Name | String | True |
Name of the related parent entity. |
| Description | String | False |
Detailed notes or description for the activity. |
| DueDate | Date | False |
Scheduled due date for the activity. |
| Status | String | False |
Current status of the activity, such as Completed or Deferred. |
| Priority | String | False |
Priority level of the activity, such as High, Normal, or Low. |
| ClosedTime | Datetime | True |
Timestamp indicating when the activity was marked as closed. |
| Repeat_Id | String | False |
Unique identifier for the associated recurrence rule, if any. |
| Repeat_Name | String | True |
Name or label of the recurrence rule applied to the activity. |
| Tag | String | False |
Tags associated with the activity for classification or search. |
| Locked | Bool | True |
Indicates whether the activity is locked for editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent update related to the activity. |
| Location | String | False |
Physical or virtual location where the activity is scheduled to occur. |
| Allday | Bool | False |
Indicates whether the activity spans the entire day. |
| From | Datetime | False |
Start time of the activity. |
| To | Datetime | False |
End time of the activity. |
| Participants | String | False |
List of participants involved in the activity, separated by commas. |
| Check-InTime | Datetime | True |
Timestamp when the check-in for the activity occurred. |
| Check-InBy_Id | String | False |
Unique identifier of the user who performed the check-in. |
| Check-InBy_Name | String | True |
Full name of the user who performed the check-in. |
| Check-InComment | String | True |
Comment entered at the time of check-in. |
| Check-InSub-Locality | String | True |
Sub-locality where the check-in occurred. |
| Check-InCity | String | True |
City where the check-in occurred. |
| Check-InState | String | True |
State or province where the check-in occurred. |
| Check-InCountry | String | True |
Country where the check-in occurred. |
| Latitude | Double | True |
Latitude of the check-in location. |
| Longitude | Double | True |
Longitude of the check-in location. |
| ZipCode | String | True |
Postal or ZIP code for the check-in location. |
| Check-InAddress | String | True |
Full address where the check-in took place. |
| CheckedInStatus | String | True |
Current check-in status for the activity. |
| CallType | String | False |
Type of call, such as Incoming or Outgoing. |
| CallPurpose | String | False |
Purpose of the call, such as Follow-up or Demo. |
| CallStartTime | Datetime | False |
Timestamp when the call started. |
| CallDuration | String | False |
Duration of the call in formatted text. |
| CallDuration(inseconds) | Int | False |
Duration of the call measured in seconds. |
| CallResult | String | False |
Outcome of the call, such as No answer or Completed. |
| CTIEntry | Bool | False |
Indicates whether the call was logged via CTI integration. |
| Reminder | String | False |
Reminder setting for the activity, such as 15 minutes before. |
| CallStatus | String | False |
Current status of the call, such as Held or Scheduled. |
| CallAgenda | String | False |
Agenda or notes describing the purpose of the call. |
| CallerID | String | True |
Caller identifier information displayed during the call. |
| DialledNumber | String | True |
Phone number that was dialed. |
| VoiceRecording | String | False |
Link or reference to the call's voice recording, if available. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicate records during an upsert. Multiple fields are supported in the REST API, while the BULK API supports only one. |
| Trigger | String |
Specifies whether to trigger workflow rules when inserting this record into the CRM. |
| Converted | Bool |
Indicates whether the record has been converted. |
| Approved | Bool |
Specifies whether to retrieve only approved records. The default value is true. |
| CustomViewId | Long |
Identifier of the custom view used to filter records when the useCOQL parameter is set to false. |
Handles files attached to CRM records, supporting deletion and queries by record or module.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
SELECT * FROM Attachments
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Attachments WHERE Id = '3152079000000431011'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the attachment record. |
| AttachmentOwner_Id | String | False |
Unique identifier of the user who owns the attachment. |
| AttachmentOwner_FirstName | String | True |
First name of the user who owns the attachment. |
| AttachmentOwner_LastName | String | True |
Last name of the user who owns the attachment. |
| AttachmentOwner_Email | String | True |
Email address of the user who owns the attachment. |
| AttachmentOwner_Name | String | True |
Full name of the user who owns the attachment. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the attachment. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the attachment. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the attachment. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the attachment. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the attachment. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the attachment. |
| CreatedBy_FirstName | String | True |
First name of the user who created the attachment. |
| CreatedBy_LastName | String | True |
Last name of the user who created the attachment. |
| CreatedBy_Email | String | True |
Email address of the user who created the attachment. |
| CreatedBy_Name | String | True |
Full name of the user who created the attachment. |
| CreatedAt | Datetime | True |
Timestamp when the attachment was created. |
| ModifiedAt | Datetime | True |
Timestamp when the attachment was last updated. |
| FileName | String | False |
Name of the attached file. |
| Size | String | False |
Size of the attachment file, typically in bytes. |
| ParentID_Id | String | False |
Unique identifier of the record to which the attachment is linked. |
| ParentID_Name | String | True |
Name of the record associated with the attachment. |
| ModuleName | String | False |
Name of the module (such as Leads or Contacts) where the attachment is stored. |
| Editable | String | False |
Indicates whether the attachment is editable. |
| FileId | String | False |
Internal file identifier used for reference within the system. |
| Type | String | False |
The type or file format of the attachment. |
| State | String | False |
Current state or status of the attachment. |
| LinkUrl | String | False |
URL link to access or download the attachment. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicate records during an upsert. The REST API supports multiple fields, while the BULK API allows only one. |
| Trigger | String |
Indicates whether to trigger automation rules when inserting the record into the CRM. |
| Converted | Bool |
Specifies whether the attachment is linked to a converted record. |
| Approved | Bool |
Filters the results to include only approved attachments. The default value is true. |
| CustomViewId | Long |
Identifier of the custom view to use when filtering this record. Applies only when the useCOQL parameter is set to false. |
Stores logged call records, enabling full lifecycle management including creation, updates, and deletions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Calls (Subject, ModuleName, RelatedTo_Id,CallType,CallStartTime) VALUES ('A test call', 'Accounts', '5768552000000433001','Outbound','May 20, 2023 12:00 AM')
Required fields: Subject, ModuleName, CallType, CallStartTime and ContactName_Id if ModuleName = Contacts and RelatedTo_Id if any other modulename is specified.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Calls WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Calls SET Subject = 'Updated from API' WHERE Id = '3152079000000484001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier (Id) for the call record. |
| CallOwner_Id | String | False |
Id of the user assigned as the call owner. |
| CallOwner_FirstName | String | True |
First name of the user who owns the call. |
| CallOwner_LastName | String | True |
Last name of the user who owns the call. |
| CallOwner_Email | String | True |
Email address of the user who owns the call. |
| CallOwner_Name | String | True |
Full name of the user who owns the call. |
| Subject | String | False |
Subject line or title of the call. |
| CallType | String | False |
Indicates whether the call was inbound or outbound. |
| CallPurpose | String | False |
Purpose or objective of the call, such as follow-up or demo. |
| ContactName_Id | String | False |
Identifier of the contact associated with the call. |
| ContactName_Name | String | True |
Full name of the contact associated with the call. |
| RelatedTo_Id | String | False |
Identifier of the related module record, such as an account or lead. |
| RelatedTo_Name | String | True |
Name of the record from the related module. |
| CallStartTime | Datetime | False |
Date and time when the call started. |
| CallDuration | String | False |
Duration of the call in human-readable format. |
| CallDuration(inseconds) | Int | False |
Duration of the call in seconds. |
| Description | String | False |
Detailed description or notes about the call. |
| CallResult | String | False |
Outcome of the call, such as completed or missed. |
| CTIEntry | Bool | False |
Indicates whether the call was logged using a CTI (Computer Telephony Integration) system. |
| CreatedBy_Id | String | False |
Identifier of the user who created the call record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the call record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the call record. |
| CreatedBy_Email | String | True |
Email address of the user who created the call record. |
| CreatedBy_Name | String | True |
Full name of the user who created the call record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the call record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the call record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the call record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the call record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the call record. |
| CreatedTime | Datetime | False |
Timestamp indicating when the call record was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the call record was last modified. |
| Reminder | String | False |
Reminder setting for the call, such as alert time before the call. |
| CallStatus | String | True |
Current status of the call, such as completed or scheduled. |
| Tag | String | False |
Comma-separated list of tags associated with the call. |
| LastActivityTime | Datetime | False |
Timestamp of the last activity related to the call record. |
| CallAgenda | String | False |
Agenda or topics planned for discussion during the call. |
| CallerID | String | True |
Caller Id information used during the call. |
| DialledNumber | String | True |
Phone number that was dialed for the call. |
| ModuleName | String | False |
Name of the module in which the call record exists. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
One or more fields used to check for duplicates during an upsert operation. Multiple fields are supported in the REST API, but only one field is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger associated workflow rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is set to false. |
Maintains marketing campaign records and supports linking to leads, contacts, or deals for engagement tracking.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Campaigns (CampaignName) VALUES ('a test campaign')
Required fields: CampaignName.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Campaigns WHERE Id = '3152079000000485001'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Campaigns SET CampaignName = 'Updated from API' WHERE Id = '3152079000000485001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
A unique identifier (Id) for the campaign. |
| CampaignOwner_Id | String | False |
The Id of the user who owns the campaign. |
| CampaignOwner_FirstName | String | True |
The first name of the user who owns the campaign. |
| CampaignOwner_LastName | String | True |
The last name of the user who owns the campaign. |
| CampaignOwner_Email | String | True |
The email address of the campaign owner. |
| CampaignOwner_Name | String | True |
The full name of the campaign owner. |
| Type | String | False |
The type of the campaign, such as webinar, trade show, or email campaign. |
| CampaignName | String | False |
The name given to the campaign. |
| Status | String | False |
The current status of the campaign, such as Planned, Active, or Completed. |
| StartDate | Date | False |
The date when the campaign begins. |
| EndDate | Date | False |
The date when the campaign ends. |
| ExpectedRevenue | Decimal | False |
The projected revenue expected from the campaign. |
| BudgetedCost | Decimal | False |
The total budget allocated for the campaign. |
| ActualCost | Decimal | False |
The actual amount spent on the campaign. |
| ExpectedResponse | Long | False |
The expected number of responses the campaign aims to receive. |
| Numberssent | Long | False |
The number of individuals the campaign was sent to. |
| CreatedBy_Id | String | False |
The Id of the user who created the campaign. |
| CreatedBy_FirstName | String | True |
The first name of the user who created the campaign. |
| CreatedBy_LastName | String | True |
The last name of the user who created the campaign. |
| CreatedBy_Email | String | True |
The email address of the user who created the campaign. |
| CreatedBy_Name | String | True |
The full name of the user who created the campaign. |
| ModifiedBy_Id | String | False |
The Id of the user who last modified the campaign. |
| ModifiedBy_FirstName | String | True |
The first name of the user who last modified the campaign. |
| ModifiedBy_LastName | String | True |
The last name of the user who last modified the campaign. |
| ModifiedBy_Email | String | True |
The email address of the user who last modified the campaign. |
| ModifiedBy_Name | String | True |
The full name of the user who last modified the campaign. |
| CreatedTime | Datetime | False |
The date and time when the campaign was created. |
| ModifiedTime | Datetime | False |
The date and time when the campaign was last modified. |
| Tag | String | False |
The tags associated with the campaign for categorization or filtering. |
| Description | String | False |
A detailed description of the campaign's purpose or content. |
| ParentCampaign_Id | String | False |
The Id of the parent campaign, if this is a sub-campaign. |
| ParentCampaign_Name | String | True |
The name of the parent campaign, if applicable. |
| LastActivityTime | Datetime | False |
The date and time of the most recent activity related to this campaign. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields used to check for duplicate records in an upsert operation. The REST API allows multiple fields while the BULK API allows only one. |
| Trigger | String |
Used to activate automation rules during the insertion of records into the CRM account. |
| CustomViewId | Long |
The custom view Id used to filter this record. Works only when the useCOQL parameter is set to false. |
Tracks customer service tickets or support requests, including case creation, updates, and resolution status.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new case with an email address, a medium priority, and a short description
INSERT INTO Cases (Email, Priority, Description) VALUES ('[email protected]', 'Medium', 'A simple test case')
Required fields: While no fields are strictly required, it is common to include fields such as Email, Priority, and Description when inserting new records.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a case by its unique ID
DELETE FROM Cases WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the priority field for a specific case using its ID
UPDATE Cases SET Priority = 'Low' WHERE Id = '3152079000000473022'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the case record. |
| CaseReason | String | False |
Reason the case was created, such as inquiry, complaint, or product issue. |
| CaseNumber | String | True |
System-generated number used to track the case. |
| CaseOwner_Id | String | False |
Identifier of the user assigned to handle the case. |
| CaseOwner_FirstName | String | True |
First name of the user who owns the case. |
| CaseOwner_LastName | String | True |
Last name of the user who owns the case. |
| CaseOwner_Email | String | True |
Email address of the user who owns the case. |
| CaseOwner_Name | String | True |
Full name of the user who owns the case. |
| Status | String | False |
Current status of the case, such as open, closed, or in progress. |
| ProductName_Id | String | False |
Identifier of the product related to the case. |
| ProductName_Name | String | True |
Name of the product associated with the case. |
| Priority | String | False |
Priority level of the case, such as high, medium, or low. |
| Type | String | False |
Category or classification of the case. |
| CaseOrigin | String | False |
Source from which the case originated, such as phone, email, or web form. |
| Subject | String | False |
Subject line or title that summarizes the case. |
| RelatedTo_Id | String | False |
Identifier of the related module record, such as a contact or lead. |
| RelatedTo_Name | String | True |
Name of the record from the related module. |
| AccountName_Id | String | False |
Identifier of the account associated with the case. |
| AccountName_Name | String | True |
Name of the account linked to the case. |
| DealName_Id | String | False |
Identifier of the deal associated with the case. |
| DealName_Name | String | True |
Name of the deal linked to the case. |
| No.ofcomments | Int | True |
Total number of comments added to the case. |
| ReportedBy | String | False |
Name of the person who reported the case. |
| String | False |
Email address provided by the person who reported the case. | |
| Phone | String | False |
Phone number provided by the person who reported the case. |
| CreatedBy_Id | String | False |
Identifier of the user who created the case record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the case record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the case record. |
| CreatedBy_Email | String | True |
Email address of the user who created the case record. |
| CreatedBy_Name | String | True |
Full name of the user who created the case record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the case record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the case record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the case record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the case record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the case record. |
| CreatedTime | Datetime | False |
Timestamp indicating when the case record was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the case record was last modified. |
| Tag | String | False |
Comma-separated list of tags associated with the case. |
| Description | String | False |
Detailed description of the issue reported in the case. |
| InternalComments | String | False |
Internal comments for staff use only, not visible to customers. |
| Solution | String | False |
Solution provided or action taken to resolve the case. |
| AddComment | String | False |
Additional comment to append to the case record. |
| Comments | String | True |
Public comments associated with the case, viewable by the customer. |
| Locked | Bool | True |
Indicates whether the case record is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to the case. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate records during an upsert. Multiple fields are allowed in the REST API, but only one field is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger workflows or automation rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Only applicable when the useCOQL parameter is set to false. |
Defines the role a contact plays in relation to a deal or account, with support to create, update, or remove roles.
SELECT * FROM ContactRoles
Insert INTO ContactRoles(SequenceNumber, Name) VALUES(8, 'TEST3')
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM ContactRoles WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE ContactRoles SET Name='Sales Lead 1' where Id= '2732548000006917001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the contact role record. |
| SequenceNumber | Int | False |
Position of the contact role in the CRM picklist, used to define display order. |
| Name | String | False |
Name of the contact role, such as decision maker or influencer. |
Stores contact records representing individuals, with full support for data operations including phone, email, and job role details.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
Note: When UseCOQL is set to true, a SELECT * query may fail due to the large number of columns in this table. To avoid this error:
You must specify the LastName column when inserting a new contact. The following example demonstrates an insert operation:
-- Insert a contact with a first name, last name, and email address
INSERT INTO Contacts (FirstName, LastName, Email) VALUES ('John', 'Smith', '[email protected]')
Required fields: LastName is required.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a contact by its unique ID
DELETE FROM Contacts WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description field for a specific contact
UPDATE Contacts SET Description = 'John helped us in the past with setting up the servers.' WHERE Id = '3152079000000484021'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the contact record. |
| ContactOwner_Id | String | False |
Identifier of the user assigned as the owner of the contact. |
| ContactOwner_FirstName | String | True |
First name of the user who owns the contact. |
| ContactOwner_LastName | String | True |
Last name of the user who owns the contact. |
| ContactOwner_Email | String | True |
Email address of the user who owns the contact. |
| ContactOwner_Name | String | True |
Full name of the user who owns the contact. |
| LeadSource | String | False |
Source from which the contact was acquired, such as trade show or web form. |
| FirstName | String | False |
First name of the contact. |
| LastName | String | False |
Last name of the contact. |
| FullName | String | False |
Full name of the contact, combining first and last names. |
| AccountName_Id | String | False |
Identifier of the account associated with the contact. |
| AccountName_Name | String | True |
Name of the account linked to the contact. |
| VendorName_Id | String | False |
Identifier of the vendor associated with the contact. |
| VendorName_Name | String | True |
Name of the vendor linked to the contact. |
| String | False |
Primary email address of the contact. | |
| Title | String | False |
Job title or designation of the contact. |
| Department | String | False |
Department the contact belongs to within the organization. |
| Phone | String | False |
Primary phone number of the contact. |
| HomePhone | String | False |
Home phone number of the contact. |
| OtherPhone | String | False |
Additional phone number for the contact. |
| Fax | String | False |
Fax number of the contact. |
| Mobile | String | False |
Mobile phone number of the contact. |
| DateofBirth | Date | False |
Date of birth of the contact. |
| Assistant | String | False |
Name of the assistant to the contact, if any. |
| AsstPhone | String | False |
Phone number of the contact's assistant. |
| EmailOptOut | Bool | False |
Indicates whether the contact has opted out of email communications. |
| SkypeID | String | False |
Skype Id associated with the contact. |
| CreatedBy_Id | String | False |
Identifier of the user who created the contact record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the contact record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the contact record. |
| CreatedBy_Email | String | True |
Email address of the user who created the contact record. |
| CreatedBy_Name | String | True |
Full name of the user who created the contact record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the contact record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the contact record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the contact record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the contact record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the contact record. |
| CreatedTime | Datetime | False |
Timestamp indicating when the contact record was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the contact record was last modified. |
| Salutation | String | False |
Salutation or courtesy title, such as Mr., Ms., or Dr. |
| SecondaryEmail | String | False |
Secondary email address for the contact. |
| LastActivityTime | Datetime | True |
Timestamp of the most recent activity involving the contact. |
| String | False |
Twitter handle associated with the contact. | |
| Tag | String | False |
Comma-separated list of tags assigned to the contact. |
| MailingStreet | String | False |
Street address for the contact's mailing address. |
| OtherStreet | String | False |
Alternate street address for the contact. |
| MailingCity | String | False |
City for the contact's mailing address. |
| OtherCity | String | False |
Alternate city for the contact. |
| MailingState | String | False |
State or region for the contact's mailing address. |
| OtherState | String | False |
Alternate state or region for the contact. |
| MailingZip | String | False |
Postal or ZIP code for the mailing address. |
| OtherZip | String | False |
Postal or ZIP code for the alternate address. |
| MailingCountry | String | False |
Country associated with the mailing address. |
| OtherCountry | String | False |
Country associated with the alternate address. |
| Description | String | False |
Detailed description or notes about the contact. |
| ContactImage | String | False |
Link or reference to the contact's profile image. |
| ReportingTo_Id | String | False |
Identifier of the manager or contact this person reports to. |
| ReportingTo_Name | String | True |
Name of the manager or contact this person reports to. |
| UnsubscribedMode | String | True |
Method by which the contact unsubscribed from communication, such as manual or link. |
| UnsubscribedTime | Datetime | True |
Timestamp indicating when the contact unsubscribed. |
| ChangeLogTime | Datetime | True |
Timestamp indicating when the contact's change log was last updated. |
| Locked | Bool | True |
Indicates whether the contact record is locked from changes. |
| LastEnrichedTime | Datetime | True |
Timestamp of the most recent data enrichment for the contact. |
| EnrichStatus | String | True |
Current status of data enrichment, such as in progress or completed. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
One or more fields used to detect duplicate records during an upsert. The REST API supports multiple fields, but the BULK API supports only one. |
| Trigger | String |
Specifies whether to trigger workflow rules or automation during record insertion. |
| CustomViewId | Long |
Identifier of the custom view used to filter the contact record. Applies only when the useCOQL parameter is set to false. |
Manages currency configurations used for pricing, deals, and transactions across modules within your organization.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Currencies WHERE Id = '1234';
INSERT INTO Currencies (ISO_Code, Name, ExchangeRate) VALUES ('1234', 'hello','1.000');
Bulk Insert operation:
INSERT INTO Currencies#TEMP (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) VALUES ('4150868000000236307', 'cdata1','$','true','1.0000','period','comma','2','true','2');
INSERT INTO Currencies#TEMP (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) VALUES ('1234', 'cdata','$','true','2.0000','period','comma','3','true','3');
INSERT INTO Currencies (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) SELECT id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code FROM currencies#TEMP;
Required fields: Name, ISO_Code, ExchangeRate.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
UPDATE Currencies SET symbol = 'hello', FormatDecimalSeparator = 'period', FormatThousandSeparator = 'comma',FormatDecimalPlaces = '2',prefixsymbol = 'true',exchangerate = '1.0000' WHERE Id = '1234';
Bulk Update Operation:
UPDATE Currencies SET symbol = '$',FormatDecimalSeparator = 'period',FormatThousandSeparator = 'comma',FormatDecimalPlaces = '2';
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated. NOTE: if Id field is not specified in the query, PostData will be created for each id ( driver will execute bulk update operation for each currency id).
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the currency record. |
| Name | String | False |
Name of the currency, such as US Dollar or Euro. |
| Symbol | String | False |
Currency symbol, such as $, ďż˝, or ďż˝. |
| IsActive | Bool | False |
Indicates whether the currency is currently active. |
| ExchangeRate | Double | False |
Exchange rate of the currency relative to the base currency. |
| FormatDecimalSeparator | String | False |
Character used to separate the whole number from the decimal portion in currency formatting. |
| FormatThousandSeparator | String | False |
Character used to group thousands in currency formatting. |
| FormatDecimalPlaces | String | False |
Number of decimal places allowed for the currency. |
| ModifiedByName | String | True |
Full name of the user who last modified the currency record. |
| ModifiedByid | String | True |
Identifier of the user who last modified the currency record. |
| PrefixSymbol | Bool | False |
Indicates whether the currency symbol appears before the amount. |
| IsBase | Bool | True |
Indicates whether this currency is the base currency for the organization. |
| CreatedAt | Datetime | True |
Timestamp indicating when the currency record was created. |
| ModifiedAt | Datetime | True |
Timestamp indicating when the currency record was last modified. |
| ISO_Code | String | False |
Standard ISO code for the currency, such as USD, EUR, or JPY. |
Stores information about sales opportunities, including stage, expected revenue, and related accounts or contacts.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Deals (DealName, Stage) VALUES ('Converting company XYZ into our client.', 'Qualification')
Required fields: DealName.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Deals WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Deals SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the deal record. |
| DealOwner_Id | String | False |
Identifier of the user who owns the deal. |
| DealOwner_FirstName | String | True |
First name of the deal owner. |
| DealOwner_LastName | String | True |
Last name of the deal owner. |
| DealOwner_Email | String | True |
Email address of the deal owner. |
| DealOwner_Name | String | True |
Full name of the deal owner. |
| Amount | Decimal | False |
Total value of the deal. |
| DealName | String | False |
Name or title of the deal. |
| ClosingDate | Date | False |
Expected date when the deal is closed. |
| AccountName_Id | String | False |
Identifier of the account associated with the deal. |
| AccountName_Name | String | True |
Name of the account linked to the deal. |
| Stage | String | False |
Current stage of the deal in the sales pipeline. |
| Type | String | False |
Classification of the deal, such as new business or existing customer. |
| Probability(%) | Int | False |
Estimated probability of closing the deal, expressed as a percentage. |
| ExpectedRevenue | Decimal | True |
Projected revenue expected from the deal. |
| NextStep | String | False |
Next planned action or follow-up step for the deal. |
| LeadSource | String | False |
Source from which the lead associated with the deal originated. |
| CampaignSource_Id | String | False |
Identifier of the campaign linked to the deal. |
| CampaignSource_Name | String | True |
Name of the campaign associated with the deal. |
| ContactName_Id | String | False |
Identifier of the primary contact associated with the deal. |
| ContactName_Name | String | True |
Name of the primary contact linked to the deal. |
| CreatedBy_Id | String | False |
Identifier of the user who created the deal record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the deal record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the deal record. |
| CreatedBy_Email | String | True |
Email address of the user who created the deal record. |
| CreatedBy_Name | String | True |
Full name of the user who created the deal record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the deal record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the deal record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the deal record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the deal record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the deal record. |
| CreatedTime | Datetime | False |
Timestamp indicating when the deal record was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the deal record was last modified. |
| LastActivityTime | Datetime | True |
Timestamp of the most recent activity related to the deal. |
| LeadConversionTime | Int | True |
Number of days between lead creation and conversion to a deal. |
| SalesCycleDuration | Int | True |
Number of days taken to progress the deal through the sales cycle. |
| OverallSalesDuration | Int | True |
Total duration of the sales process from lead to closure. |
| Tag | String | False |
Comma-separated list of tags associated with the deal. |
| Description | String | False |
Detailed description or notes about the deal. |
| ChangeLogTime | Datetime | True |
Timestamp indicating when changes were last logged for the deal. |
| Locked | Bool | True |
Indicates whether the deal record is locked from further edits. |
| ReasonForLoss | String | False |
Reason provided for losing the deal, if applicable. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate deals during an upsert. Multiple fields are supported in the REST API, but only one is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger automation or workflow rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is set to false. |
Manages calendar-based records such as meetings or scheduled events, with full create, update, and delete support.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Events (Title, `From`, To) VALUES ('A test event', '2018/05/29 18:00:00', '2018/05/29 20:30:00')
INSERT INTO Events (Title, `From`, To, ModuleName) VALUES ('A test event', '2018/05/29 18:00:00', '2018/05/29 20:30:00', 'Contacts')
INSERT INTO Events (Title, `From`, To, ModuleName, RelatedTo_Id) VALUES ('A test event', '2018/05/29 18:00:00', '2018/05/29 20:30:00', 'Contacts', '2788704000120533263')
Required fields: Title, From, To, ModuleName if RelatedTo_Id is specified..
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Events WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Events SET Description = 'Changed from the API.' WHERE Id = '3152079000000154219'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
NOTE: This table is supported only in v2.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the event record. |
| Title | String | False |
Title or subject of the event. |
| Location | String | False |
Location where the event is scheduled to take place. |
| Allday | Bool | False |
Indicates whether the event spans the entire day. |
| From | Datetime | False |
Start date and time of the event. |
| To | Datetime | False |
End date and time of the event. |
| Host_Id | String | False |
Identifier of the user hosting the event. |
| Host_FirstName | String | True |
First name of the event host. |
| Host_LastName | String | True |
Last name of the event host. |
| Host_Email | String | True |
Email address of the event host. |
| Host_Name | String | True |
Full name of the event host. |
| ContactName_Id | String | False |
Identifier of the contact associated with the event. |
| ContactName_Name | String | True |
Name of the contact associated with the event. |
| RelatedTo_Id | String | False |
Identifier of the related record, such as a deal or account. |
| RelatedTo_Name | String | True |
Name of the related record linked to the event. |
| Repeat_Id | String | False |
Identifier of the recurrence rule, if the event is recurring. |
| Repeat_Name | String | True |
Name or description of the recurrence rule. |
| Reminder | String | False |
Reminder setting for the event, such as a notification before the start time. |
| CreatedBy_Id | String | False |
Identifier of the user who created the event record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the event record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the event record. |
| CreatedBy_Email | String | True |
Email address of the user who created the event record. |
| CreatedBy_Name | String | True |
Full name of the user who created the event record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the event record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the event record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the event record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the event record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the event record. |
| CreatedTime | Datetime | False |
Timestamp indicating when the event record was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the event record was last modified. |
| Participants | String | False |
Comma-separated list of participants involved in the event. |
| Description | String | False |
Detailed description or notes related to the event. |
| Check-InTime | Datetime | True |
Timestamp when the user checked in for the event. |
| Check-InBy_Id | String | False |
Identifier of the user who performed the check-in. |
| Check-InBy_Name | String | True |
Full name of the user who performed the check-in. |
| Check-InComment | String | True |
Comment provided at the time of check-in. |
| Check-InSub-Locality | String | True |
Sub-locality information captured during check-in. |
| Check-InCity | String | True |
City where the check-in occurred. |
| Check-InState | String | True |
State or region of the check-in location. |
| Check-InCountry | String | True |
Country where the check-in took place. |
| Latitude | Double | True |
Latitude coordinate of the check-in location. |
| Longitude | Double | True |
Longitude coordinate of the check-in location. |
| ZipCode | String | True |
ZIP or postal code of the check-in location. |
| Check-InAddress | String | True |
Full address captured during check-in. |
| CheckedInStatus | String | True |
Status indicating whether the participant has checked in. |
| Tag | String | False |
Comma-separated list of tags associated with the event. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to the event. |
| ModuleName | String | False |
Name of the module where the event record is stored. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate records during an upsert. Multiple fields are supported in the REST API, but only one is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger automation or workflow rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is set to false. |
Stores customer invoice records including itemized charges, taxes, and payment tracking. Not available in free or standard accounts.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Invoices (Status, DueDate, Subject, ProductDetails) VALUES ('Created', '2018/06/06', 'An invoice for the purchase of products XYZ.', '[
{
"product": {
"Product_Code": "12342321",
"name": "Egg",
"id": "3276571000000184076"
},
"quantity": 1024,
"Discount": 0,
"total_after_discount": 1239.04,
"net_total": 1239.04,
"book": null,
"Tax": 0,
"list_price": 1.21,
"unit_price": 1.21,
"quantity_in_stock": -1024,
"total": 1239.04,
"id": "3276571000000184104",
"product_description": null,
"line_tax": []
}
]')
Required fields: Subject, ProductDetails.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Invoices WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Invoices SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the invoice record. |
| InvoiceOwner_Id | String | False |
Identifier of the user who owns the invoice. |
| InvoiceOwner_FirstName | String | True |
First name of the invoice owner. |
| InvoiceOwner_LastName | String | True |
Last name of the invoice owner. |
| InvoiceOwner_Email | String | True |
Email address of the invoice owner. |
| InvoiceOwner_Name | String | True |
Full name of the invoice owner. |
| InvoiceNumber | String | True |
Unique number assigned to the invoice. |
| Subject | String | False |
Subject or title of the invoice. |
| SalesOrder_Id | String | False |
Identifier of the sales order linked to the invoice. |
| SalesOrder_Name | String | True |
Name or reference of the associated sales order. |
| InvoiceDate | Date | False |
Date the invoice was issued. |
| PurchaseOrder | String | False |
Purchase order number associated with the invoice. |
| DueDate | Date | False |
Date by which the invoice payment is due. |
| ExciseDuty | Decimal | False |
Excise duty amount applied to the invoice. |
| SalesCommission | Decimal | False |
Sales commission associated with the invoice. |
| Status | String | False |
Current status of the invoice, such as paid or overdue. |
| AccountName_Id | String | False |
Identifier of the account associated with the invoice. |
| AccountName_Name | String | True |
Name of the account associated with the invoice. |
| ContactName_Id | String | False |
Identifier of the contact linked to the invoice. |
| ContactName_Name | String | True |
Name of the contact associated with the invoice. |
| CreatedBy_Id | String | False |
Identifier of the user who created the invoice record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the invoice. |
| CreatedBy_LastName | String | True |
Last name of the user who created the invoice. |
| CreatedBy_Email | String | True |
Email address of the user who created the invoice. |
| CreatedBy_Name | String | True |
Full name of the user who created the invoice. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the invoice. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the invoice. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the invoice. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the invoice. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the invoice. |
| CreatedTime | Datetime | False |
Timestamp indicating when the invoice was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the invoice was last modified. |
| Tag | String | False |
Comma-separated list of tags associated with the invoice. |
| BillingStreet | String | False |
Street address for billing. |
| ShippingStreet | String | False |
Street address for shipping. |
| BillingCity | String | False |
City listed in the billing address. |
| ShippingCity | String | False |
City listed in the shipping address. |
| BillingState | String | False |
State or region listed in the billing address. |
| ShippingState | String | False |
State or region listed in the shipping address. |
| BillingCode | String | False |
Postal or ZIP code listed in the billing address. |
| ShippingCode | String | False |
Postal or ZIP code listed in the shipping address. |
| BillingCountry | String | False |
Country listed in the billing address. |
| ShippingCountry | String | False |
Country listed in the shipping address. |
| ProductDetails | String | False |
Details of products or services listed in the invoice. |
| SubTotal | Decimal | True |
Subtotal amount before applying taxes or discounts. |
| Discount | Decimal | False |
Discount applied to the invoice. |
| Tax | Decimal | True |
Total tax applied to the invoice. |
| Adjustment | Decimal | False |
Any manual adjustments applied to the invoice amount. |
| GrandTotal | Decimal | True |
Final total after taxes, discounts, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions associated with the invoice. |
| Description | String | False |
Additional notes or description related to the invoice. |
| DealName_Id | String | False |
Identifier of the deal associated with the invoice. |
| DealName_Name | String | True |
Name of the deal linked to the invoice. |
| Locked | Bool | True |
Indicates whether the invoice is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to the invoice. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate records during an upsert. Multiple fields are supported in the REST API, but only one is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger automation or workflow rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is set to false. |
Manages unqualified prospect records, allowing conversion into contacts, accounts, or deals after qualification.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
Note: When UseCOQL is set to true, a SELECT * query may fail due to the large number of columns in this table. To avoid this error:
You must specify the LastName column when inserting a new lead. The following examples demonstrate valid insert operations:
-- Insert a lead with a first name, last name, and title
INSERT INTO Leads (FirstName, LastName, Title) VALUES ('Alert', 'Bat', 'Mr')
-- Insert a lead and trigger associated workflows, approvals, or blueprints
INSERT INTO Leads (FirstName, LastName, Email, Trigger) VALUES ('Enthusiastic', 'Panda', '[email protected]', 'workflow,approval,blueprint')
Required fields: LastName is required.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a lead by its unique ID
DELETE FROM Leads WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description field for a specific lead
UPDATE Leads SET Description = 'Changed from the API.' WHERE Id = '3152079000000488014'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the lead record. |
| LeadOwner_Id | String | False |
Identifier of the user who owns the lead. |
| LeadOwner_FirstName | String | True |
First name of the lead owner. |
| LeadOwner_LastName | String | True |
Last name of the lead owner. |
| LeadOwner_Email | String | True |
Email address of the lead owner. |
| LeadOwner_Name | String | True |
Full name of the lead owner. |
| Company | String | False |
Name of the company the lead is associated with. |
| FirstName | String | False |
First name of the lead. |
| LastName | String | False |
Last name of the lead. |
| FullName | String | False |
Full name of the lead, combining first and last names. |
| Title | String | False |
Job title or designation of the lead. |
| String | False |
Primary email address of the lead. | |
| Phone | String | False |
Primary phone number of the lead. |
| Fax | String | False |
Fax number associated with the lead. |
| Mobile | String | False |
Mobile phone number of the lead. |
| Website | String | False |
Website URL of the lead's company. |
| LeadSource | String | False |
Source from which the lead originated, such as trade show or web form. |
| LeadStatus | String | False |
Current status of the lead, such as new or contacted. |
| Industry | String | False |
Industry to which the lead's company belongs. |
| No.ofEmployees | Int | False |
Number of employees in the lead's company. |
| AnnualRevenue | Decimal | False |
Annual revenue of the lead's company. |
| Rating | String | False |
Internal rating or classification assigned to the lead. |
| EmailOptOut | Bool | False |
Indicates whether the lead has opted out of email communication. |
| SkypeID | String | False |
Skype Id associated with the lead. |
| CreatedBy_Id | String | False |
Identifier of the user who created the lead record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the lead. |
| CreatedBy_LastName | String | True |
Last name of the user who created the lead. |
| CreatedBy_Email | String | True |
Email address of the user who created the lead. |
| CreatedBy_Name | String | True |
Full name of the user who created the lead. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the lead. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the lead. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the lead. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the lead. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the lead. |
| CreatedTime | Datetime | False |
Timestamp indicating when the lead was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the lead was last modified. |
| Salutation | String | False |
Salutation or courtesy title, such as Mr., Ms., or Dr. |
| SecondaryEmail | String | False |
Secondary email address for the lead. |
| LastActivityTime | Datetime | True |
Timestamp of the most recent activity related to the lead. |
| String | False |
Twitter handle associated with the lead. | |
| Tag | String | False |
Comma-separated list of tags associated with the lead. |
| Street | String | False |
Street address of the lead. |
| City | String | False |
City in the lead's address. |
| State | String | False |
State or region in the lead's address. |
| ZipCode | String | False |
Postal or ZIP code in the lead's address. |
| Country | String | False |
Country in the lead's address. |
| Description | String | False |
Detailed notes or description related to the lead. |
| LeadImage | String | False |
Link or reference to the lead's profile image. |
| UnsubscribedMode | String | True |
Method by which the lead unsubscribed from communication, such as manual or link. |
| UnsubscribedTime | Datetime | True |
Timestamp indicating when the lead unsubscribed. |
| ChangeLogTime | Datetime | True |
Timestamp of the most recent logged change to the lead record. |
| Locked | Bool | True |
Indicates whether the lead record is locked from editing. |
| LastEnrichedTime | Datetime | True |
Timestamp of the most recent data enrichment for the lead. |
| EnrichStatus | String | True |
Current status of data enrichment, such as in progress or completed. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate records during an upsert. Multiple fields are supported in the REST API, but only one is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger automation or workflow rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is set to false. |
Handles note entries linked to CRM records, allowing users to create, edit, delete, or retrieve notes.
Note: The Bulk API is not supported by the Notes table. Due to this, if you are using the Bulk API (UseCOQL set to False and APIType set to Bulk), the Cloud will instead use the REST API (with its associated limitations) when working with notes data. Refer to v2, v2.1, or v4 (in accordance with the value you set for Schema) to see the limits imposed by the REST API.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Notes WHERE Id = '3152079000000153079' SELECT * FROM Notes WHERE NoteTitle = 'Deal details'
INSERT INTO Notes (ParentID_Id, ModuleName, NoteContent) VALUES ('3276571000000184007', 'Leads', 'Janet converted this lead.')
Required fields: ParentID_Id (the Id of the item in which you are inserting the note to), ModuleName (the API name of the module you are inserting the note to), NoteContent.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Notes WHERE Id = '3152079000000488014'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Notes SET NoteTitle = 'Changed from the API.' WHERE Id = '3152079000000304003'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the note record. |
| NoteOwner_Id | String | False |
Identifier of the user who owns the note. |
| NoteOwner_FirstName | String | True |
First name of the note owner. |
| NoteOwner_LastName | String | True |
Last name of the note owner. |
| NoteOwner_Email | String | True |
Email address of the note owner. |
| NoteOwner_Name | String | True |
Full name of the note owner. |
| NoteTitle | String | False |
Title or subject line of the note. |
| NoteContent | String | False |
Main content or body text of the note. |
| ParentID_Id | String | False |
Identifier of the record to which the note is linked. |
| ParentID_Name | String | True |
Name of the record to which the note is linked. |
| CreatedBy_Id | String | False |
Identifier of the user who created the note. |
| CreatedBy_FirstName | String | True |
First name of the user who created the note. |
| CreatedBy_LastName | String | True |
Last name of the user who created the note. |
| CreatedBy_Email | String | True |
Email address of the user who created the note. |
| CreatedBy_Name | String | True |
Full name of the user who created the note. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the note. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the note. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the note. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the note. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the note. |
| CreatedTime | Datetime | False |
Timestamp indicating when the note was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the note was last modified. |
| Associated_Id | Long | False |
Internal identifier used to associate the note with another record. |
| ModuleName | String | False |
Name of the module in which the note resides. |
| Attachments | String | False |
Comma-separated list of file attachments linked to the note. |
| Editable | String | False |
Indicates whether the note can be edited. |
| IsSharedToClient | String | False |
Indicates whether the note is shared with the client. |
| State | String | False |
Current state or status of the note. |
| VoiceNote | String | False |
Reference to an attached voice note, if any. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate notes during an upsert. Multiple fields are supported in the REST API, but only one is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger workflow rules or automation when inserting the note. |
| CustomViewId | Long |
Identifier of the custom view used to filter this note. Applies only when the useCOQL parameter is set to false. |
Manages price book records for assigning specific product pricing tiers. Not supported in free or standard accounts.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new price book with a name and set it to active
INSERT INTO PriceBooks (PriceBookName, Active) VALUES ('pricebook_2018', true)
Required fields: PriceBookName is required. This is the name of the price book and must be provided to create a new record.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a price book by its unique ID
DELETE FROM PriceBooks WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific price book using its ID
UPDATE PriceBooks SET Description = 'Changed from the API.' WHERE Id = '3152079000000488023'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the price book record. |
| PriceBookOwner_Id | String | False |
Identifier of the user who owns the price book. |
| PriceBookOwner_FirstName | String | True |
First name of the price book owner. |
| PriceBookOwner_LastName | String | True |
Last name of the price book owner. |
| PriceBookOwner_Email | String | True |
Email address of the price book owner. |
| PriceBookOwner_Name | String | True |
Full name of the price book owner. |
| CreatedBy_Id | String | False |
Identifier of the user who created the price book. |
| CreatedBy_FirstName | String | True |
First name of the user who created the price book. |
| CreatedBy_LastName | String | True |
Last name of the user who created the price book. |
| CreatedBy_Email | String | True |
Email address of the user who created the price book. |
| CreatedBy_Name | String | True |
Full name of the user who created the price book. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the price book. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the price book. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the price book. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the price book. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the price book. |
| CreatedTime | Datetime | False |
Timestamp indicating when the price book was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the price book was last modified. |
| PriceBookName | String | False |
Name of the price book. |
| Active | Bool | False |
Indicates whether the price book is active. |
| PricingModel | String | False |
Pricing model applied to the price book, such as flat or volume-based. |
| Tag | String | False |
Comma-separated list of tags associated with the price book. |
| PricingDetails | String | False |
Details of the pricing structure associated with the price book. |
| Description | String | False |
Description or additional notes about the price book. |
| Locked | Bool | True |
Indicates whether the price book is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to the price book. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate records during an upsert. Multiple fields are supported in the REST API, but only one is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger automation or workflow rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is set to false. |
Stores product catalog records including item name, SKU, price, and stock information.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new product and mark it as active
INSERT INTO Products (ProductName, ProductActive) VALUES ('C-3PO', true)
Required fields: ProductName is required. This is the name of the product and must be provided to create a new record.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a product by its unique ID
DELETE FROM Products WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific product using its ID
UPDATE Products SET Description = 'Changed from the API.' WHERE Id = '3152079000000487023'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the product record. |
| ProductOwner_Id | String | False |
Identifier of the user who owns the product record. |
| ProductOwner_FirstName | String | True |
First name of the product owner. |
| ProductOwner_LastName | String | True |
Last name of the product owner. |
| ProductOwner_Email | String | True |
Email address of the product owner. |
| ProductOwner_Name | String | True |
Full name of the product owner. |
| ProductName | String | False |
Name of the product. |
| ProductCode | String | False |
Code assigned to the product for identification. |
| VendorName_Id | String | False |
Identifier of the vendor supplying the product. |
| VendorName_Name | String | True |
Name of the vendor supplying the product. |
| ProductActive | Bool | False |
Indicates whether the product is currently active. |
| Manufacturer | String | False |
Name of the manufacturer of the product. |
| ProductCategory | String | False |
Category or classification of the product. |
| SalesStartDate | Date | False |
Date when the product became available for sale. |
| SalesEndDate | Date | False |
Date when the product was discontinued or removed from sale. |
| SupportStartDate | Date | False |
Start date for the product's support period. |
| SupportEndDate | Date | False |
End date for the product's support period. |
| CreatedBy_Id | String | False |
Identifier of the user who created the product record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the product record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the product record. |
| CreatedBy_Email | String | True |
Email address of the user who created the product record. |
| CreatedBy_Name | String | True |
Full name of the user who created the product record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the product record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the product record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the product record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the product record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the product record. |
| CreatedTime | Datetime | False |
Timestamp indicating when the product record was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the product record was last modified. |
| Tag | String | False |
Comma-separated list of tags associated with the product. |
| UnitPrice | Decimal | False |
Price per unit of the product. |
| CommissionRate | Decimal | False |
Commission rate applicable to the product. |
| Tax | String | False |
Comma-separated list of taxes applicable to the product. |
| Taxable | Bool | False |
Indicates whether the product is taxable. |
| UsageUnit | String | False |
Unit of measurement used for product quantity. |
| QtyOrdered | Double | False |
Total quantity of the product that has been ordered. |
| QuantityinStock | Double | False |
Current quantity of the product available in stock. |
| ReorderLevel | Double | False |
Stock level at which a reorder is initiated. |
| Handler_Id | String | False |
Identifier of the user responsible for handling the product. |
| Handler_Name | String | True |
Name of the user responsible for handling the product. |
| QuantityinDemand | Double | False |
Quantity of the product currently in demand. |
| Description | String | False |
Detailed description of the product. |
| ProductImage | String | False |
Link or reference to the product image. |
| Locked | Bool | True |
Indicates whether the product record is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to the product. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate product records during an upsert. Multiple fields are supported in the REST API, but only one is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger automation or workflow rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is set to false. |
Stores purchase orders issued to vendors, including product details, terms, and order status. Restricted in free and standard accounts.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation with line item details:
-- Insert a new purchase order with a subject and product line items
INSERT INTO PurchaseOrders (Subject, ProductDetails) VALUES (
-- This is the value for the Subject column
'Purchase Order',
-- This is the JSON string for ProductDetails
'[
{
"product": {
"Product_Code": "12342321",
"name": "Egg",
"id": "3276571000000184076"
},
"quantity": 1024,
"Discount": 0,
"total_after_discount": 1239.04,
"net_total": 1239.04,
"book": null,
"Tax": 0,
"list_price": 1.21,
"unit_price": 1.21,
"quantity_in_stock": -1024,
"total": 1239.04,
"id": "3276571000000184104",
"product_description": null,
"line_tax": []
}
]'
)
Required fields: Subject and ProductDetails are required. These provide the order summary and the line item information needed to create a purchase order.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a purchase order by its unique ID
DELETE FROM PurchaseOrders WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific purchase order using its ID
UPDATE PurchaseOrders SET Description = 'Changed from the API.' WHERE Id = '3152079000000492001'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the purchase order record. |
| RequisitionNumber | String | False |
Internal requisition number associated with the purchase order. |
| TrackingNumber | String | False |
Shipping or delivery tracking number for the purchase order. |
| PONumber | String | False |
Official purchase order number assigned to the order. |
| Subject | String | False |
Title or subject line of the purchase order. |
| VendorName_Id | String | False |
Identifier of the vendor supplying the products or services. |
| VendorName_Name | String | True |
Name of the vendor associated with the purchase order. |
| ContactName_Id | String | False |
Identifier of the contact person linked to the purchase order. |
| ContactName_Name | String | True |
Name of the contact associated with the purchase order. |
| PODate | Date | False |
Date when the purchase order was created or issued. |
| DueDate | Date | False |
Due date for receiving goods or making payment. |
| Carrier | String | False |
Shipping carrier responsible for delivery. |
| ExciseDuty | Decimal | False |
Amount of excise duty applied to the purchase order. |
| SalesCommission | Decimal | False |
Sales commission related to the purchase order, if applicable. |
| Status | String | False |
Current status of the purchase order, such as open, received, or closed. |
| PurchaseOrderOwner_Id | String | False |
Identifier of the user who owns the purchase order. |
| PurchaseOrderOwner_FirstName | String | True |
First name of the purchase order owner. |
| PurchaseOrderOwner_LastName | String | True |
Last name of the purchase order owner. |
| PurchaseOrderOwner_Email | String | True |
Email address of the purchase order owner. |
| PurchaseOrderOwner_Name | String | True |
Full name of the purchase order owner. |
| CreatedBy_Id | String | False |
Identifier of the user who created the purchase order. |
| CreatedBy_FirstName | String | True |
First name of the user who created the purchase order. |
| CreatedBy_LastName | String | True |
Last name of the user who created the purchase order. |
| CreatedBy_Email | String | True |
Email address of the user who created the purchase order. |
| CreatedBy_Name | String | True |
Full name of the user who created the purchase order. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the purchase order. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the purchase order. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the purchase order. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the purchase order. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the purchase order. |
| CreatedTime | Datetime | False |
Timestamp indicating when the purchase order was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the purchase order was last modified. |
| Tag | String | False |
Comma-separated list of tags associated with the purchase order. |
| BillingStreet | String | False |
Street address for billing purposes. |
| ShippingStreet | String | False |
Street address for shipping purposes. |
| BillingCity | String | False |
City listed in the billing address. |
| ShippingCity | String | False |
City listed in the shipping address. |
| BillingState | String | False |
State or region listed in the billing address. |
| ShippingState | String | False |
State or region listed in the shipping address. |
| BillingCode | String | False |
Postal or ZIP code for the billing address. |
| ShippingCode | String | False |
Postal or ZIP code for the shipping address. |
| BillingCountry | String | False |
Country listed in the billing address. |
| ShippingCountry | String | False |
Country listed in the shipping address. |
| ProductDetails | String | False |
Details of the products or services listed in the purchase order. |
| SubTotal | Decimal | True |
Subtotal amount before applying taxes, discounts, or adjustments. |
| Discount | Decimal | False |
Discount applied to the purchase order. |
| Tax | Decimal | True |
Total tax amount applied to the purchase order. |
| Adjustment | Decimal | False |
Manual adjustments applied to the purchase order total. |
| GrandTotal | Decimal | True |
Final total amount after taxes, discounts, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions associated with the purchase order. |
| Description | String | False |
Additional notes or description related to the purchase order. |
| Locked | Bool | True |
Indicates whether the purchase order is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity on the purchase order. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate purchase orders during an upsert. Multiple fields are supported in the REST API, but only one is allowed in the BULK API. |
| Trigger | String |
Specifies whether to trigger automation or workflow rules when inserting the record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is set to false. |
Stores quote records issued to customers with pricing, taxes, and terms. Not supported in free or standard accounts.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Quotes (Subject, ProductDetails) VALUES ('QuotedItems', '[
{
"product": {
"Product_Code": "12342321",
"name": "Egg",
"id": "3276571000000184076"
},
"quantity": 1024,
"Discount": 0,
"total_after_discount": 1239.04,
"net_total": 1239.04,
"book": null,
"Tax": 0,
"list_price": 1.21,
"unit_price": 1.21,
"quantity_in_stock": -1024,
"total": 1239.04,
"id": "3276571000000184104",
"product_description": null,
"line_tax": []
}
]')
Required fields: Subject, ProductDetails.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Quotes WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Quotes SET Description = 'Changed from the API.' WHERE Id = '3152079000000490009'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the quote record. |
| Team | String | False |
Team associated with the quote. |
| QuoteNumber | String | True |
Unique quote number generated for this record. |
| Subject | String | False |
Subject or title of the quote. |
| DealName_Id | String | False |
Identifier of the associated deal. |
| DealName_Name | String | True |
Name of the associated deal. |
| QuoteStage | String | False |
Current stage of the quote, such as Draft or Sent. |
| ValidUntil | Date | False |
Date until which the quote is valid. |
| ContactName_Id | String | False |
Identifier of the contact associated with the quote. |
| ContactName_Name | String | True |
Name of the contact associated with the quote. |
| Carrier | String | False |
Shipping carrier specified in the quote. |
| AccountName_Id | String | False |
Identifier of the account associated with the quote. |
| AccountName_Name | String | True |
Name of the account associated with the quote. |
| QuoteOwner_Id | String | False |
Identifier of the user who owns the quote. |
| QuoteOwner_FirstName | String | True |
First name of the quote owner. |
| QuoteOwner_LastName | String | True |
Last name of the quote owner. |
| QuoteOwner_Email | String | True |
Email address of the quote owner. |
| QuoteOwner_Name | String | True |
Full name of the quote owner. |
| CreatedBy_Id | String | False |
Identifier of the user who created the quote. |
| CreatedBy_FirstName | String | True |
First name of the user who created the quote. |
| CreatedBy_LastName | String | True |
Last name of the user who created the quote. |
| CreatedBy_Email | String | True |
Email address of the user who created the quote. |
| CreatedBy_Name | String | True |
Full name of the user who created the quote. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the quote. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the quote. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the quote. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the quote. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the quote. |
| CreatedTime | Datetime | False |
Date and time when the quote was created. |
| ModifiedTime | Datetime | False |
Date and time when the quote was last modified. |
| Tag | String | False |
Tags associated with the quote for categorization or search. |
| BillingStreet | String | False |
Street address for billing. |
| ShippingStreet | String | False |
Street address for shipping. |
| BillingCity | String | False |
City for billing. |
| ShippingCity | String | False |
City for shipping. |
| BillingState | String | False |
State for billing. |
| ShippingState | String | False |
State for shipping. |
| BillingCode | String | False |
Postal code for billing. |
| ShippingCode | String | False |
Postal code for shipping. |
| BillingCountry | String | False |
Country for billing. |
| ShippingCountry | String | False |
Country for shipping. |
| ProductDetails | String | False |
Serialized list of product line items in the quote. |
| SubTotal | Decimal | True |
Subtotal before tax, discount, or adjustment. |
| Discount | Decimal | False |
Total discount applied to the quote. |
| Tax | Decimal | True |
Total tax applied to the quote. |
| Adjustment | Decimal | False |
Any manual adjustment made to the quote total. |
| GrandTotal | Decimal | True |
Final amount of the quote after tax, discount, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions applicable to the quote. |
| Description | String | False |
Additional notes or description related to the quote. |
| Locked | Bool | True |
Indicates whether the quote is locked from further edits. |
| LastActivityTime | Datetime | False |
Timestamp of the last activity related to the quote. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields to be used for checking duplicate records in an upsert. The REST API allows multiple fields, but the BULK API allows only one. |
| Trigger | String |
Specifies whether to trigger workflow rules when inserting this record into the CRM account. |
| CustomViewId | Long |
Custom view Id used for filtering this record when the useCOQL parameter is set to false. |
Manages sales order transactions including items, billing, and shipping details. Not accessible in free or standard accounts.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO SalesOrders (Subject, ProductDetails) VALUES ('Sales Order', '[
{
"product": {
"Product_Code": "12342321",
"name": "Egg",
"id": "3276571000000184076"
},
"quantity": 1024,
"Discount": 0,
"total_after_discount": 1239.04,
"net_total": 1239.04,
"book": null,
"Tax": 0,
"list_price": 1.21,
"unit_price": 1.21,
"quantity_in_stock": -1024,
"total": 1239.04,
"id": "3276571000000184104",
"product_description": null,
"line_tax": []
}
]')
Required fields: Subject, ProductDetails
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM SalesOrders WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE SalesOrders SET Description = 'Changed from the API.' WHERE Id = '3152079000000493027'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the sales order record. |
| CustomerNo. | String | False |
Customer number associated with this sales order. |
| SONumber | String | True |
Internal sales order number used for tracking. |
| Subject | String | False |
Subject line or title of the sales order. |
| DealName_Id | String | False |
Unique identifier of the deal associated with this sales order. |
| DealName_Name | String | True |
Name of the deal linked to this sales order. |
| PurchaseOrder | String | False |
Purchase order number referenced in the sales order. |
| QuoteName_Id | String | False |
Unique identifier of the quote associated with this sales order. |
| QuoteName_Name | String | True |
Name of the quote linked to this sales order. |
| DueDate | Date | False |
The date by which the order is expected to be fulfilled. |
| Pending | String | False |
Pending status or notes for this sales order, if any. |
| ContactName_Id | String | False |
Unique identifier of the contact linked to this sales order. |
| ContactName_Name | String | True |
Name of the contact person related to this sales order. |
| Carrier | String | False |
Shipping carrier selected for this order. |
| ExciseDuty | Decimal | False |
Amount of excise duty applied to this sales order. |
| SalesCommission | Decimal | False |
Commission amount applicable for the sales agent on this order. |
| Status | String | False |
Current status of the sales order (for example, Open, Delivered, or Cancelled). |
| AccountName_Id | String | False |
Unique identifier of the account associated with this order. |
| AccountName_Name | String | True |
Name of the account linked to this sales order. |
| SalesOrderOwner_Id | String | False |
Unique identifier of the owner of this sales order. |
| SalesOrderOwner_FirstName | String | True |
First name of the sales order owner. |
| SalesOrderOwner_LastName | String | True |
Last name of the sales order owner. |
| SalesOrderOwner_Email | String | True |
Email address of the sales order owner. |
| SalesOrderOwner_Name | String | True |
Full name of the sales order owner. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created this sales order. |
| CreatedBy_FirstName | String | True |
First name of the user who created this record. |
| CreatedBy_LastName | String | True |
Last name of the user who created this record. |
| CreatedBy_Email | String | True |
Email address of the user who created this record. |
| CreatedBy_Name | String | True |
Full name of the user who created this record. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified this record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified this record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified this record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified this record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified this record. |
| CreatedTime | Datetime | False |
Date and time when the sales order was created. |
| ModifiedTime | Datetime | False |
Date and time when the sales order was last modified. |
| Tag | String | False |
Tags associated with the sales order for categorization or filtering. |
| BillingStreet | String | False |
Street address for billing. |
| ShippingStreet | String | False |
Street address for shipping. |
| BillingCity | String | False |
City specified in the billing address. |
| ShippingCity | String | False |
City specified in the shipping address. |
| BillingState | String | False |
State or region for the billing address. |
| ShippingState | String | False |
State or region for the shipping address. |
| BillingCode | String | False |
Postal code for the billing address. |
| ShippingCode | String | False |
Postal code for the shipping address. |
| BillingCountry | String | False |
Country specified in the billing address. |
| ShippingCountry | String | False |
Country specified in the shipping address. |
| ProductDetails | String | False |
Line-item product details associated with this sales order. |
| SubTotal | Decimal | True |
Subtotal amount before any discounts or taxes. |
| Discount | Decimal | False |
Total discount applied to this sales order. |
| Tax | Decimal | True |
Total tax applied to the sales order. |
| Adjustment | Decimal | False |
Additional adjustments made to the final amount. |
| GrandTotal | Decimal | True |
Final total amount including discounts, taxes, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions related to this sales order. |
| Description | String | False |
Additional description or notes related to this sales order. |
| Locked | Bool | True |
Indicates whether this record is locked from further editing. |
| LastActivityTime | Datetime | False |
Timestamp of the last activity related to this sales order. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields to be used for checking duplicate records in an upsert. The REST API allows for more than one field in the duplicate check, but the BULK API only allows one field. |
| Trigger | String |
To trigger the rule while inserting record into CRM account. |
| CustomViewId | Long |
The custom view Id to be used for filtering this record. Works when the useCOQL parameter is false. |
Stores internal solution records such as help articles or knowledge base entries used for case resolution.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with supported columns and operators. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic insert operation:
-- Insert a new solution with a title and initial status
INSERT INTO Solutions (SolutionTitle, Status) VALUES ('Converting from XML to JSON', 'Created')
Required fields: SolutionTitle is required. It provides the title of the solution being documented.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a solution by its unique ID
DELETE FROM Solutions WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the question field for a specific solution using its ID
UPDATE Solutions SET Question = 'Changed from the API.' WHERE Id = '3152079000000492018'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the solution record. |
| SolutionNumber | String | False |
Automatically generated number assigned to the solution. |
| SolutionOwner_Id | String | False |
Unique identifier of the user who owns this solution. |
| SolutionOwner_FirstName | String | True |
First name of the solution owner. |
| SolutionOwner_LastName | String | True |
Last name of the solution owner. |
| SolutionOwner_Email | String | True |
Email address of the solution owner. |
| SolutionOwner_Name | String | True |
Full name of the solution owner. |
| SolutionTitle | String | False |
Title or subject of the solution. |
| Published | Bool | False |
Indicates whether the solution is published and visible to users. |
| Status | String | False |
Current status of the solution (for example, Draft, Published, or Archived). |
| ProductName_Id | String | False |
Unique identifier of the product this solution is associated with. |
| ProductName_Name | String | True |
Name of the product linked to this solution. |
| No.ofcomments | Int | True |
Number of comments added to this solution. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created this solution. |
| CreatedBy_FirstName | String | True |
First name of the user who created this record. |
| CreatedBy_LastName | String | True |
Last name of the user who created this record. |
| CreatedBy_Email | String | True |
Email address of the user who created this record. |
| CreatedBy_Name | String | True |
Full name of the user who created this record. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified this solution. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified this record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified this record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified this record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified this record. |
| CreatedTime | Datetime | False |
Date and time when the solution was created. |
| ModifiedTime | Datetime | False |
Date and time when the solution was last modified. |
| Tag | String | False |
Tags associated with the solution for easier categorization. |
| Question | String | False |
The problem or question the solution is addressing. |
| Answer | String | False |
The proposed answer or resolution to the question. |
| AddComment | String | False |
Field to store new comments related to the solution. |
| Comments | String | True |
Collection of comments made on this solution. |
| Locked | Bool | True |
Indicates whether this solution is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the last activity related to this solution. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields to be used for checking duplicate records in an upsert. The REST API allows for more than one field in the duplicate check, but the BULK API only allows one field. |
| Trigger | String |
To trigger the rule while inserting record into CRM account. |
| CustomViewId | Long |
The custom view Id to be used for filtering this record. Works when the useCOQL parameter is false. |
Stores task records linked to CRM entities, including priority, due date, and reminder settings.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Tasks(Subject, Status) VALUES ('Finish sending emails to potential leads.', 'Created')
INSERT INTO Tasks(Subject, Status, ModuleName) VALUES ('Finish sending emails to potential leads.', 'Created', 'Contacts')
INSERT INTO Tasks(Subject, Status, ModuleName, RelatedTo_Id) VALUES ('Finish sending emails to potential leads.', 'Created', 'Contacts', '2788704000120533263')
Required fields: Subject, ModuleName if RelatedTo_Id is specified.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Tasks WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Tasks SET Status = 'In progress' WHERE Id = '3152079000000492026'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the task. |
| TaskOwner_Id | String | False |
Unique identifier of the user who owns the task. |
| TaskOwner_FirstName | String | True |
First name of the task owner. |
| TaskOwner_LastName | String | True |
Last name of the task owner. |
| TaskOwner_Email | String | True |
Email address of the task owner. |
| TaskOwner_Name | String | True |
Full name of the task owner. |
| Subject | String | False |
Title or subject of the task. |
| DueDate | Date | False |
Date by which the task should be completed. |
| ContactName_Id | String | False |
Unique identifier of the contact linked to the task. |
| ContactName_Name | String | True |
Full name of the contact linked to the task. |
| RelatedTo_Id | String | False |
Unique identifier of the related record, such as a deal or account. |
| RelatedTo_Name | String | True |
Name of the related record, such as a deal or account. |
| Status | String | False |
Current status of the task. |
| Priority | String | False |
Priority level of the task. |
| ClosedTime | Datetime | True |
Date and time when the task was marked as completed. |
| SendNotificationEmail | Bool | False |
Indicates whether a notification email is sent when the task is assigned. |
| Repeat_Id | String | False |
Unique identifier of the recurring task pattern, if any. |
| Repeat_Name | String | True |
Name or description of the recurring task pattern, if any. |
| Reminder_Id | String | False |
Unique identifier of the reminder associated with the task. |
| Reminder_Name | String | True |
Name or description of the task reminder. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the task. |
| CreatedBy_FirstName | String | True |
First name of the user who created the task. |
| CreatedBy_LastName | String | True |
Last name of the user who created the task. |
| CreatedBy_Email | String | True |
Email address of the user who created the task. |
| CreatedBy_Name | String | True |
Full name of the user who created the task. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the task. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the task. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the task. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the task. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the task. |
| CreatedTime | Datetime | False |
Date and time when the task was created. |
| ModifiedTime | Datetime | False |
Date and time when the task was last modified. |
| Tag | String | False |
Tags associated with the task. |
| Description | String | False |
Detailed description of the task. |
| Locked | Bool | True |
Indicates whether the task is locked for editing. |
| LastActivityTime | Datetime | False |
Timestamp of the last recorded activity related to the task. |
| ModuleName | String | False |
Name of the module that contains the task. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to detect duplicate tasks when performing an upsert. Multiple fields are supported by the REST API, but only one is supported by the BULK API. |
| Trigger | String |
Specifies whether to trigger associated automation rules when inserting a task into the CRM account. |
| CustomViewId | Long |
ID of the custom view used to filter this task. This works only when the useCOQL parameter is false. |
Stores vendor records used in purchase-related transactions such as purchase orders or stock replenishment.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new vendor with a name, email address, and website
INSERT INTO Vendors (VendorName, Email, Website) VALUES ('XYZVendor', '[email protected]', 'vendeverything.xyz')
Required fields: VendorName is required. This identifies the vendor record being created.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a vendor by its unique ID
DELETE FROM Vendors WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific vendor using its ID
UPDATE Vendors SET Description = 'Changed from the API' WHERE Id = '3152079000000492032'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the vendor record. |
| VendorName | String | False |
Name of the vendor. |
| Phone | String | False |
Phone number of the vendor. |
| String | False |
Email address of the vendor. | |
| Website | String | False |
Website URL of the vendor. |
| GLAccount | String | False |
General ledger account associated with the vendor. |
| Category | String | False |
Category to which the vendor belongs. |
| VendorOwner_Id | String | False |
Unique identifier of the user who owns the vendor record. |
| VendorOwner_FirstName | String | True |
First name of the vendor owner. |
| VendorOwner_LastName | String | True |
Last name of the vendor owner. |
| VendorOwner_Email | String | True |
Email address of the vendor owner. |
| VendorOwner_Name | String | True |
Full name of the vendor owner. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the vendor record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the vendor record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the vendor record. |
| CreatedBy_Email | String | True |
Email address of the user who created the vendor record. |
| CreatedBy_Name | String | True |
Full name of the user who created the vendor record. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the vendor record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the vendor record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the vendor record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the vendor record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the vendor record. |
| CreatedTime | Datetime | False |
Timestamp when the vendor record was created. |
| ModifiedTime | Datetime | False |
Timestamp when the vendor record was last modified. |
| Tag | String | False |
Comma-separated tags associated with the vendor record. |
| Street | String | False |
Street address of the vendor. |
| City | String | False |
City where the vendor is located. |
| State | String | False |
State where the vendor is located. |
| ZipCode | String | False |
Postal code of the vendor. |
| Country | String | False |
Country where the vendor is located. |
| Description | String | False |
Textual description of the vendor. |
| VendorImage | String | False |
Path or identifier for the image associated with the vendor. |
| Locked | Bool | True |
Indicates whether the vendor record is locked from editing. |
| EmailOptOut | Bool | False |
Indicates whether the vendor has opted out of receiving emails. |
| UnsubscribedMode | String | True |
Method through which the vendor unsubscribed from email communication. |
| UnsubscribedTime | Datetime | True |
Timestamp when the vendor unsubscribed from email communication. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity on this vendor record. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to check for duplicate vendor records during upsert. Only one field is supported for bulk upserts. |
| Trigger | String |
Specifies whether to trigger workflow rules when inserting the vendor record. |
| CustomViewId | Long |
Custom view identifier used to filter the vendor record. Only applies when the useCOQL parameter is false. |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
| Name | Description |
| ActionsPerformed | Returns logs of actions performed on CRM records, including edits, deletions, and automation executions. |
| CustomFieldHistoryTracking | Returns a history of changes made to custom fields across modules, supporting field-level audit trails. |
| Fields | Returns detailed metadata for fields in a specified module, including label, API name, data type, and validation rules. |
| InvoiceProductDetails | Provides detailed product line item information for invoices. This view is not available in free or standard ZohoCRM accounts. |
| Layouts | Returns layout metadata for modules, including field positioning, section groupings, and layout rules. |
| ListFields | Provides metadata about fields used in list views of a given module, including field visibility and display order. |
| ModuleAttachedFiles | Retrieves files that are attached to records within a specific module, such as attachments on deals or contacts. |
| Modules | Returns metadata for all modules enabled in the account, including API names, module types, and customization status. |
| Organizations | Displays details about the organization such as name, website, currency settings, and company profile data. |
| PriceBookPricingDetails | Provides pricing details configured within price books. Not available in free or standard Zoho CRM accounts. |
| Profiles | Retrieves information about CRM user profiles, including permission settings and module-level access control. |
| PurchaseOrderProductDetails | Returns item-level purchase order information, such as quantity and unit price. Not available in free or standard accounts. |
| QuoteProductDetails | Displays product-level details for quotes, including discounts, taxes, and quantity. Not available in free or standard accounts. |
| RecordCount | Returns the total number of records in a given module, useful for data validation or reporting. |
| Roles | Displays the role hierarchy within the CRM organization, including reporting structure and permission scope. |
| SalesOrderProductDetails | Shows line items and pricing for products included in sales orders. Not available in free or standard ZohoCRM accounts. |
| StageHistories | Returns the timeline of stage changes for a deal, including timestamps and stage names. |
| Territories | Returns a list of sales territories used for organizing and assigning CRM records by region or criteria. |
| Users | Lists user accounts along with details like email, profile, role, and login status. |
| Visits | Returns recent visit activity data, such as website visits or CRM record access logs. |
Returns logs of actions performed on CRM records, including edits, deletions, and automation executions.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
Note : ActionsPerformed cannot be queried until it is enabled from the UI.
SELECT * FROM ActionsPerformed
| Name | Type | Description |
| Id [KEY] | String | Unique identifier of the performed-action record. |
| ActionType | String | Category or type of the action performed, such as Note Added, Field Updated, or Call Logged. |
| Actions | String | Specific actions executed during the activity, represented as a comma-separated list with one space after each comma. |
| TimeSpent | String | Duration spent performing the action, typically recorded in minutes or descriptive time format. |
| ActionPerformedTime | Datetime | Timestamp indicating when the action occurred. |
| ParentID_Id | String | Unique Id of the parent CRM record (such as a deal, contact, or lead) to which the action is linked. |
| ParentID_Name | String | Display name of the parent record associated with the action. |
| ChatAttachment_Id | String | Unique Id of the chat attachment, if the action involved a conversation or file shared during a chat. |
| ChatAttachment_Name | String | Display name or filename of the chat attachment linked to the action. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | Comma-separated field list used for duplicate detection during upsert operations. Insert one space after each comma. The REST API allows multiple fields while the BULK API supports only one. |
| CustomViewId | Long | Id of the custom view used to filter the record. This applies when the useCOQL parameter is set to false. |
Returns a history of changes made to custom fields across modules, supporting field-level audit trails.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
All columns used in the criteria are required. Use FieldName to specify the actual name of the tracked custom field and HistoryName to specify the name of the history tracking section. If you want to retrieve data for a specific entity of a module specify EntityId in the criteria.
For example, the following query is processed server side:
SELECT * FROM [CustomFieldHistoryTracking] WHERE ModuleName = 'Leads' AND FieldName = 'pickListField' AND HistoryName = 'Pick List 1' SELECT * FROM [CustomFieldHistoryTracking] WHERE ModuleName = 'Leads' AND FieldName = 'pickListField' AND HistoryName = 'Pick List 1' AND EntityId = '12345665'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the custom field history record. |
| ModuleName | String | Name of the module associated with this custom field tracking entry. |
| EntityId | String | Identifier of the specific record within the module to which this history applies. |
| FieldName | String | Name of the custom field being tracked. |
| HistoryName | String | Label or identifier for this specific instance of field history. |
| FieldValue | String | Value of the custom field at the time of this historical entry. |
| DurationDays | Integer | Number of days the field remained in the recorded value or stage. |
| ModifiedAt | Datetime | Timestamp indicating when the field value was last modified. |
| ModifiedById | String | Identifier of the user who last modified the field value. |
| ModifiedByName | String | Full name of the user who last modified the field value. |
| CurrencySymbol | String | Currency symbol associated with the field value, if applicable. |
| ProcessFlow | Boolean | Indicates whether this historical value is part of a process flow. |
| Editable | Boolean | Indicates whether this historical value is editable. |
| Approved | Boolean | Indicates whether this historical value has been approved. |
Returns detailed metadata for fields in a specified module, including label, API name, data type, and validation rules.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM Fields WHERE ModuleName = 'Deals'
| Name | Type | Description |
| DisplayValue | String | Display name of the field as shown in the user interface. |
| ActualValue | String | Internal or system name of the field used in API calls and configurations. |
| Id | String | Unique identifier of the field. |
| ModuleName | String | Name of the module to which the field belongs. |
Provides detailed product line item information for invoices. This view is not available in free or standard ZohoCRM accounts.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM InvoiceProductDetails WHERE InvoiceId = '3152079000000301143'
NOTE: ProductDetails has been changed to InvoicedItems after v2
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the invoice product detail record. |
| InvoiceId [KEY] | String | Unique identifier of the invoice associated with this product detail. |
| ProductId | String | Unique identifier of the product listed in this detail entry. |
| ProductCode | String | Code used to identify the product in the system. |
| ProductName | String | Name of the product listed in the invoice. |
| ProductDescription | String | Description of the product as provided in the invoice. |
| Quantity | Double | Number of product units included in this invoice detail. |
| Discount | Double | Discount amount applied to this product line item. |
| TotalAfterDiscount | Double | Total amount after applying the discount to this product line. |
| NetTotal | Double | Net total amount excluding taxes and after discounts. |
| Book | String | Ledger or book associated with this product detail. |
| Tax | Double | Total tax amount applied to this product line item. |
| ListPrice | Double | Original listing price of the product before discounts. |
| UnitPrice | Double | Price per unit of the product. |
| QuantityInStock | Double | Current quantity of the product available in stock. |
| Total | Double | Total price for this product line, including discounts and taxes. |
| LineTax | String | Line-level tax breakdown applied to this product detail. |
Returns layout metadata for modules, including field positioning, section groupings, and layout rules.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM Layouts WHERE ModuleName = 'Deals'
| Name | Type | Description |
| Id | String | Unique identifier for the layout. |
| Name | String | Name of the layout configuration. |
| Type | String | Indicates whether the section is active or used in the layout. |
| ModuleName | String | Name of the module to which the layout belongs. |
Provides metadata about fields used in list views of a given module, including field visibility and display order.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM ListFields WHERE ModuleName = 'Deals'
| Name | Type | Description |
| ApiName | String | API name of the field used in programmatic access. |
| AssociationDetails | String | Details about field associations with other modules or records. |
| BlueprintSupported | Boolean | Indicates whether the field is supported in blueprints. |
| BusinesscardSupported | Boolean | Indicates whether the field appears on the business card view. |
| ConvertMappingAccounts | String | Field mapping configuration used when converting leads to accounts. |
| ConvertMappingContacts | String | Field mapping configuration used when converting leads to contacts. |
| ConvertMappingDeals | String | Field mapping configuration used when converting leads to deals. |
| CreatedSource | String | Source from which the field was originally created. |
| Crypt | String | Encryption configuration or cryptographic settings associated with the field. |
| CurrencyPrecision | Integer | Number of decimal places used for currency precision. |
| CurrencyRoundingOption | String | Rounding option applied to currency values for the field. |
| CustomField | Boolean | Indicates whether the field is a custom field. |
| DataType | String | Data type of the field, such as string, integer, or boolean. |
| DecimalPlace | Integer | Number of decimal places allowed for the field value. |
| DisplayField | Boolean | Indicates whether the field is used as a display field in lookup modules. |
| DisplayLabel | String | Label of the field shown in the user interface. |
| DisplayType | Integer | Code indicating how the field is displayed in the UI. |
| External | String | External mapping or configuration associated with the field. |
| FieldLabel | String | Descriptive label assigned to the field. |
| FieldReadOnly | Boolean | Indicates whether the field is read-only. |
| Filterable | Boolean | Indicates whether the field can be used as a filter in views and reports. |
| HistoryTracking | String | Indicates whether field history tracking is enabled and its configuration. |
| Id | String | Unique identifier of the field. |
| JsonType | String | Data type of the field in JSON format. |
| Length | Integer | Maximum allowed length for the field value. |
| MassUpdate | Boolean | Indicates whether the field supports mass update operations. |
| PickListValues | String | Comma-separated list of allowed values if the field is a picklist. |
| PickListValuesSortedLexically | Boolean | Indicates whether picklist values are sorted alphabetically. |
| Profiles | String | Comma-separated list of profiles with access to this field. |
| QuickSequenceNumber | String | Quick sequence number used for ordering fields in UI. |
| ReadOnly | Boolean | Indicates whether the field is read-only across all profiles. |
| Sortable | Boolean | Indicates whether the field supports sorting in views. |
| Subform | String | Subform configuration if the field represents a subform section. |
| SystemMandatory | Boolean | Indicates whether the field is mandatory at the system level. |
| Tooltip | String | Tooltip text shown when hovering over the field in the UI. |
| Type | String | Type category of the field, such as lookup, text, or currency. |
| UiType | Integer | UI type code that defines how the field is rendered in the interface. |
| ViewTypeCreate | Boolean | Indicates whether the field is shown in the create view. |
| ViewTypeEdit | Boolean | Indicates whether the field is shown in the edit view. |
| ViewTypeQuickCreate | Boolean | Indicates whether the field is shown in the quick create view. |
| ViewTypeView | Boolean | Indicates whether the field is visible in the record detail view. |
| Visible | Boolean | Indicates whether the field is visible in the module. |
| Webhook | Boolean | Indicates whether changes to the field can trigger a webhook. |
| ModuleName | String | Name of the module to which this field belongs. |
Retrieves files that are attached to records within a specific module, such as attachments on deals or contacts.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM ModuleAttachedFiles WHERE ModuleName = "Leads"
Note: The UploadFile and DownloadFile stored procedures will not work as expected if executed in regards to a custom field. They only upload or download files in the "Attachments" section of the module. Uploading and deleting files from a custom field of type "fileupload" can be done only through the UI.
| Name | Type | Description |
| FileId | String | Unique identifier of the file attached to the module record. |
| FileName | String | Name of the file attached to the module record. |
| AttachmentId [KEY] | String | Unique identifier of the attachment entry. |
| CreatorId | String | Identifier of the user who uploaded the attachment. |
| EntityId | String | Identifier of the module record to which the file is attached. |
| DownloadUrl | String | URL to download the attached file. |
| PreviewUrl | String | URL to preview the attached file without downloading. |
| FileSize | String | Size of the attached file. |
| FileExtension | String | The type of file extension. |
| ModuleName | String | Name of the module to which the file is attached. |
Returns metadata for all modules enabled in the account, including API names, module types, and customization status.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM Modules
| Name | Type | Description |
| Id | String | Unique identifier for the module. |
| Name | String | Name of the module being referenced. |
| SequenceNumber | Integer | Order in which the module appears in the CRM interface. |
| ApiName | String | API name used to reference the module programmatically. |
| GlobalSearchSupported | Boolean | Indicates whether the module supports global search functionality. |
| Deletable | Boolean | Specifies whether records in this module can be deleted by the user. |
| Description | String | Description of the module, if one is provided. |
| Creatable | Boolean | Indicates whether users can create new records in this module. |
| InventoryTemplateSupported | Boolean | Indicates whether the module supports inventory templates. Applies only to Quotes, Invoices, Purchase Orders, and Sales Orders. |
| ModifiedDateTime | Datetime | Timestamp of the most recent modification to the module's properties. |
| PluralLabel | String | Plural form of the module name (for example, Leads). |
| SingularLabel | String | Singular form of the module name (for example, Lead). |
| PresenceSubMenu | Boolean | Indicates whether the module appears as a submenu under another module (for example, Tasks in Activities). |
| TriggersSupported | Boolean | Indicates whether the module supports automation triggers from workflows, custom buttons, approvals, and other actions. |
| Visibility | Integer | Visibility level of the module: 1 for visible (default), 2 for hidden, or a composite value representing specific feature visibility. |
| Convertable | Boolean | Indicates whether records in this module can be converted to another module type (for example, converting a Lead to a Deal). |
| Editable | Boolean | Specifies whether records in this module can be edited. |
| EmailTemplateSupport | Boolean | Indicates whether the module supports use of email templates. |
| FilterSupported | Boolean | Indicates whether the module supports custom filters beyond the default system-defined filters. |
| ShowAsTab | Boolean | Specifies whether the module is shown as a tab in the CRM interface. |
| Viewable | Boolean | Indicates whether users can view records in this module. |
| ApiSupported | Boolean | Specifies whether the module is accessible through API. |
| QuickCreate | Boolean | Indicates whether the module supports quick create functionality. |
| ModifiedByName | String | Name of the user who last modified the module's properties. |
| ModifiedById | String | Identifier of the user who last modified the module's properties. |
| GeneratedType | String | Specifies how the module was created, such as system-generated or custom-created. |
| FeedsRequired | Boolean | Indicates whether feed tracking is enabled for this module. |
| ScoringSupported | Boolean | Indicates whether records in the module are eligible for scoring rules, if configured. |
| WebformSupported | Boolean | Indicates whether records in the module can be created via web forms. |
| BusinessCardFieldLimit | Integer | Maximum number of fields that can appear in the business card view for this module. |
| ParentModuleApiName | String | API name of the parent module, if applicable (for example, Activities is the parent of Tasks, Calls, and Events). |
| ParentModuleId | String | Identifier of the parent module, if one exists. |
| WebLink | String | Web URL associated with the module, if applicable (for example, https://extensions.zoho.com/plugin/facebook). |
Displays details about the organization such as name, website, currency settings, and company profile data.
The Cloud processes filters client-side within the Cloud.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the organization. |
| CompanyName | String | Official name of the company associated with the organization. |
| PrimaryEmail | String | Primary email address of the organization. |
| Phone | String | Main phone number of the organization. |
| Mobile | String | Mobile phone number associated with the organization. |
| IsoCode | String | ISO country code representing the organization's location. |
| Description | String | Description or summary about the organization. |
| Country | String | Country where the organization is located. |
| City | String | City where the organization is located. |
| State | String | State or region where the organization is located. |
| Street | String | Street address of the organization. |
| Zip | String | ZIP or postal code of the organization's location. |
| CountryCode | String | Telephone country code for the organization. |
| Alias | String | Alternate name or alias used to identify the organization. |
| Fax | String | Fax number of the organization. |
| EmployeeCount | Int | Total number of employees in the organization. |
| Website | String | Website URL of the organization. |
| CurrencySymbol | String | Symbol of the default currency used by the organization. |
| CurrencyLocale | String | Locale configuration for formatting currency values. |
| PrimaryZuid | String | Primary Zoho User ID (ZUID) for the organization. |
| TimeZone | String | Time zone set for the organization. |
| Zgid | String | Zoho Group ID (ZGID) for the organization. |
| MCStatus | Boolean | Indicates whether the organization has Multi-Currency (MC) status enabled. |
| GappsEnabled | Boolean | Indicates whether Google Workspace (G Suite) integration is enabled. |
| LicenseDetailsPaidExpiry | Datetime | Date and time when the paid subscription expires. |
| LicenseDetailsTrialType | String | Type of trial subscription the organization is using. |
| LicenseDetailsTrialExpiry | Datetime | Date and time when the trial subscription expires. |
| LicenseDetailsPaid | Boolean | Indicates whether the organization has an active paid subscription. |
| LicenseDetailsPaidType | String | Type of paid subscription the organization holds. |
| LicenseDetailsUsersLicensePurchased | Integer | Total number of user licenses purchased by the organization. |
| PhotoId | String | Identifier of the organization's photo file, if uploaded. |
| DomainName | String | Domain name associated with the organization, such as org694902300. |
| TranslationEnabled | Boolean | Indicates whether translation features are enabled for the organization. |
| Currency | String | Base or home currency configured for the organization. |
| ZiaPortalId | String | Identifier of the Zia portal linked to the organization, if available. |
| PrivacySettings | String | Specifies whether privacy settings are enabled for the organization. |
| HipaaComplianceEnabled | Boolean | Indicates whether HIPAA compliance is enabled for the organization. |
Provides pricing details configured within price books. Not available in free or standard Zoho CRM accounts.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM PriceBookPricingDetails WHERE PriceBookId = '3152079000000317001'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the pricing detail record. |
| PriceBookId [KEY] | String | Identifier of the price book associated with this pricing detail. |
| Discount | Double | Discount percentage or amount to be applied within the specified range. |
| FromRange | Double | Minimum value from which the discount becomes applicable. |
| ToRange | Double | Maximum value up to which the discount remains applicable. |
Retrieves information about CRM user profiles, including permission settings and module-level access control.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Profiles WHERE Id = '3152079000000026011'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the profile. |
| Name | String | Name of the profile. |
| Description [KEY] | String | Short description of the profile and its purpose. |
| CreatedByName | String | Full name of the user who created the profile. |
| CreatedById | String | Identifier of the user who created the profile. |
| CreatedAt | Datetime | Timestamp indicating when the profile was created. |
| ModifiedByName | String | Full name of the user who last modified the profile. |
| ModifiedById | String | Identifier of the user who last modified the profile. |
| ModifiedAt | Datetime | Timestamp indicating when the profile was last modified. |
| Category | Boolean | Indicates whether the profile is treated as a category. |
| DisplayLabel | String | Display label for the profile as shown in the user interface. |
Returns item-level purchase order information, such as quantity and unit price. Not available in free or standard accounts.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM PurchaseOrderProductDetails WHERE PurchaseOrderId = '3152079000000317029'
NOTE: ProductDetails has been changed to PurchaseItems after v2.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the purchase order product detail record. |
| PurchaseOrderId [KEY] | String | Identifier of the purchase order associated with this product detail. |
| ProductId | String | Identifier of the product included in the purchase order. |
| ProductCode | String | Code used to identify the product. |
| ProductName | String | Name of the product listed in the purchase order. |
| ProductDescription | String | Description of the product. |
| Quantity | Double | Quantity of the product included in this line item. |
| Discount | Double | Discount applied to this product line. |
| TotalAfterDiscount | Double | Total amount after applying the discount to this product line. |
| NetTotal | Double | Net total amount before taxes for this product detail. |
| Book | String | Ledger or accounting book associated with this product detail. |
| Tax | Double | Total tax amount applied to this product line. |
| ListPrice | Double | Original listed price of the product. |
| UnitPrice | Double | Price per unit of the product. |
| QuantityInStock | Double | Current quantity of the product available in stock. |
| Total | Double | Total price for this product line, including discounts and taxes. |
| LineTax | String | Tax breakdown for this specific product line. |
Displays product-level details for quotes, including discounts, taxes, and quantity. Not available in free or standard accounts.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM QuoteProductDetails WHERE QuoteId = '3152079000000317060'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the quote product detail record. |
| QuoteId [KEY] | String | Identifier of the quote associated with this product detail. |
| ProductId | String | Identifier of the product included in the quote. |
| ProductCode | String | Code used to identify the product. |
| ProductName | String | Name of the product listed in the quote. |
| ProductDescription | String | Description of the product included in the quote. |
| Quantity | Double | Quantity of the product in this line item. |
| Discount | Double | Discount amount or percentage applied to this product line. |
| TotalAfterDiscount | Double | Total amount for this product line after applying the discount. |
| NetTotal | Double | Net total amount for the product line before tax. |
| Book | String | Ledger or accounting book associated with this product detail. |
| Tax | Double | Total tax amount applied to this product line. |
| ListPrice | Double | Original listed price of the product before any discounts. |
| UnitPrice | Double | Price per unit of the product. |
| QuantityInStock | Double | Quantity of the product currently available in stock. |
| Total | Double | Final total price for this product detail, including discounts and taxes. |
| LineTax | String | Tax breakdown applied to this specific product line. |
Returns the total number of records in a given module, useful for data validation or reporting.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The module is a mandatory filter for the Cloud.
Note: It works only with ApiVersion=2.1.
For example, the following queries are processed server-side:
SELECT * FROM RecordCount WHERE ModuleName = 'Leads'
SELECT * FROM RecordCount WHERE ModuleName IN ('Leads','Invoices')
| Name | Type | Description |
| Count [KEY] | Integer | Total number of records available in the specified module. |
| ModuleName | String | Name of the module for which the record count is retrieved. |
Displays the role hierarchy within the CRM organization, including reporting structure and permission scope.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Roles WHERE Id = '3152079000000026008'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the role. |
| Name | String | Name assigned to the role. |
| DisplayLabel [KEY] | String | Label used to display the role in the user interface. |
| ReportingToName | String | Name of the parent role to which this role reports. |
| ReportingToId | String | Unique identifier of the parent role to which this role reports. |
| AdminUser | Boolean | Indicates whether the role has administrative privileges. |
| ForecastManagerName | String | Name of the user designated as the forecast manager for this role. |
| ForecastManagerId | String | Unique identifier of the forecast manager associated with this role. |
| ShareWithPeers | Boolean | Indicates whether users assigned to this role can share records with peers. |
| Description | String | Optional description providing additional context about the role. |
Shows line items and pricing for products included in sales orders. Not available in free or standard ZohoCRM accounts.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM SalesOrderProductDetails WHERE SalesOrderId = '3152079000000355025'
NOTE: ProductDetails has been changed to OrderedItems after v2.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the product detail record. |
| SalesOrderId [KEY] | String | Unique identifier of the sales order this product detail is associated with. |
| ProductId | String | Unique identifier of the product listed in this detail. |
| ProductCode | String | Internal code used to identify the product. |
| ProductName | String | Name of the product listed in this detail. |
| ProductDescription | String | Description of the product listed in this detail. |
| Quantity | Double | Number of product units included in this sales order detail. |
| Discount | Double | Discount amount applied to this line item. |
| TotalAfterDiscount | Double | Total amount for this product line after applying the discount. |
| NetTotal | Double | Net amount before tax for this product detail. |
| Book | String | Ledger or accounting book associated with this product detail. |
| Tax | Double | Tax amount applied to this product detail. |
| ListPrice | Double | Original list price of the product before any adjustments. |
| UnitPrice | Double | Final price per unit of the product. |
| QuantityInStock | Double | Number of units currently available in stock for this product. |
| Total | Double | Final total amount for this product line, including all adjustments. |
| LineTax | String | Breakdown of individual taxes applied to this line item, if applicable. |
Returns the timeline of stage changes for a deal, including timestamps and stage names.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the stage history record. |
| DealId | String | Unique identifier of the deal associated with this stage history. |
| Stage | String | The name or label representing the deal stage at this point in time. |
| Amount | Decimal | The deal amount recorded when this stage was reached. |
| DurationDays | Integer | Number of days the deal remained in this stage. |
| ExpectedRevenue | Decimal | Projected revenue associated with the deal during this stage. |
| Probability | Decimal | Probability of closing the deal when it was in this stage. |
| CloseDate | Date | Date the deal was expected to close during this stage. |
| LastModifiedTime | Datetime | Timestamp of the last update made to this stage history record. |
| ModifiedById | String | Unique identifier of the user who last modified this record. |
| ModifiedByName | String | Full name of the user who last modified this record. |
Returns a list of sales territories used for organizing and assigning CRM records by region or criteria.
All the filters are executed at client side within the Cloud.
SELECT * from Territories;
| Name | Type | Description |
| Id [KEY] | String | Unique identifier of the territory. |
| Name | String | Name of the territory. |
| ParentId | String | Unique identifier of the parent territory, if one exists. |
| Criteria | String | Conditions used to define which records belong to this territory. |
| Managername | String | Full name of the manager assigned to this territory. |
| Managerid | String | Unique identifier of the manager assigned to this territory. |
| CreatedByName | String | Name of the user who created the territory. |
| CreatedById | String | Unique identifier of the user who created the territory. |
| ModifiedByName | String | Name of the user who last updated the territory. |
| ModifiedByid | String | Unique identifier of the user who last updated the territory. |
| CreatedAt | Datetime | Date and time when the territory was created. |
| ModifiedAt | Datetime | Date and time when the territory was last updated. |
| Desription | String | Description of the territory, if provided. |
Lists user accounts along with details like email, profile, role, and login status.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Users WHERE Id = '3152079000000150015'
| Name | Type | Description |
| Id [KEY] | String | Unique numeric identifier for the user. |
| FirstName | String | First name of the user. |
| LastName | String | Last name of the user. |
| FullName | String | Full name of the user. |
| String | Email address of the user. | |
| RoleName | String | Name of the role assigned to the user. |
| RoleId | String | Unique identifier of the role assigned to the user. |
| ProfileName | String | Name of the profile assigned to the user. |
| ProfileId | String | Unique identifier of the profile assigned to the user. |
| Country | String | Country where the user is located. |
| City | String | City where the user is located. |
| Street | String | Street where the user is located. |
| State | String | State where the user is located. |
| Zip | String | Postal code where the user is located. |
| Alias | String | Alias name associated with the user. |
| Signature | String | User's email or document signature. |
| NameFormat | String | Preferred format for displaying the user's name. |
| PersonalAccount | Boolean | Indicates whether the user has a personal account. |
| DefaultTabGroup | String | Default tab group assigned to the user. |
| CountryLocale | String | Country locale setting for the user. |
| Fax | String | Fax number of the user. |
| Website | String | Website associated with the user. |
| Mobile | String | Mobile phone number of the user. |
| Phone | String | Primary phone number of the user. |
| Dob | String | Date of birth of the user. |
| Status | String | Current status of the user. |
| Confirm | Boolean | Indicates whether the user has confirmed their email address. |
| Language | String | Language preference of the user. |
| Locale | String | Locale setting for the user. |
| TimeFormat | String | Preferred format for displaying time. |
| DateFormat | String | Preferred format for displaying dates. |
| DecimalSeparator | String | Preferred decimal separator symbol for numeric values. |
| TimeZone | String | Time zone configured for the user. |
| Zuid | String | Zoho User ID (ZUID) associated with the user. |
| Territories | String | Comma-separated list of territories assigned to the user. |
| CreatedByName | String | Name of the user who created this user record. |
| CreatedById | String | Identifier of the user who created this user record. |
| CreatedAt | Datetime | Timestamp when the user record was created. |
| ModifiedByName | String | Name of the user who last modified this user record. |
| ModifiedById | String | Identifier of the user who last modified this user record. |
| ModifiedAt | Datetime | Timestamp when the user record was last modified. |
| CustomizeInfoNotesDesc | String | Custom notes description for the user interface. |
| CustomizeInfoShowRightPanel | Boolean | Indicates whether the right panel is shown in the user interface. |
| CustomizeInfoShowLeftPanel | Boolean | Indicates whether the left panel is shown in the user interface. |
| CustomizeInfoBcView | String | Custom setting for business card view layout. |
| CustomizeInfoShowHome | Boolean | Indicates whether the home screen is shown to the user. |
| CustomizeInfoShowDetailView | Boolean | Indicates whether the detail view is shown to the user. |
| CustomizeInfoUnpinRecentItem | String | Custom setting for unpinning recently accessed items. |
| Microsoft | Boolean | Indicates whether the user is linked to a Microsoft account. |
| ThemeBackground | String | Current background theme applied to the user interface. |
| ThemeNewBackground | String | Updated background theme applied to the user interface. |
| ThemeNormalTabBackground | String | Background color for non-selected tabs. |
| ThemeNormalTabFontColor | String | Font color for non-selected tabs. |
| ThemeScreen | String | Theme configuration for the main screen layout. |
| ThemeSelectedTabBackground | String | Background color for the currently selected tab. |
| ThemeSelectedTabFontColor | String | Represents the font color used for the selected tab in the user's chosen theme. |
| ThemeType | String | Type of theme being used by the user. |
| ReportingToName | String | Name of the user to whom this user reports. |
| ReportingToId | String | Identifier of the user to whom this user reports. |
| Offset | Integer | Record offset value used for pagination. |
| SandboxDeveloper | Boolean | Indicates whether the user is marked as a sandbox developer. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| Type | String | Restricts results to users of the specified type.
The allowed values are AllUsers, ActiveUsers, DeactiveUsers, ConfirmedUsers, NotConfirmedUsers, DeletedUsers, ActiveConfirmedUsers, AdminUsers, ActiveConfirmedAdmins, CurrentUser. |
Returns recent visit activity data, such as website visits or CRM record access logs.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the visit record. |
| PageVisited | String | Name of the web page that was visited. |
| VisitedBy_Id | String | Unique identifier of the visitor. |
| VisitedBy_FirstName | String | First name of the visitor. |
| VisitedBy_LastName | String | Last name of the visitor. |
| IPAddress | String | IP address from which the visit originated. |
| TimeSpent(Minutes) | String | Duration of the visit in minutes. |
| Referrer | String | URL or domain that referred the visitor to the site. |
| VisitedPageURL | String | URL of the specific page that was visited. |
| CreatedBy_Id | String | Identifier of the user or system that created the visit record. |
| ModifiedBy_Id | String | Identifier of the user or system that last modified the visit record. |
| ModifiedBy_FirstName | String | First name of the user or system that last modified the visit. |
| ModifiedBy_LastName | String | Last name of the user or system that last modified the visit. |
| CreatedTime | Datetime | Date and time when the visit record was created. |
| ModifiedTime | Datetime | Date and time when the visit record was last modified. |
| AttendedBy | String | User who attended or responded to the visit. |
| UserDetails | String | Details about the user associated with the visit. |
| Browser | String | Browser used during the visit. |
| TimeVisited | Datetime | Exact date and time when the visit occurred. |
| VisitorType | String | Category of visitor, such as new or returning. |
| Revenue | Decimal | Revenue amount attributed to this visit. |
| NumberofPages | Int | Number of pages viewed during the visit. |
| PortalName | String | Name of the portal used during the visit. |
| SearchKeyword | String | Keyword entered by the visitor in a search engine. |
| SearchEngine | String | Name of the search engine used before the visit. |
| OperatingSystem | String | Operating system of the visitor's device. |
| Gclid | String | Google Click Identifier associated with the visit. |
| Keyword | String | Search or campaign keyword associated with the visit. |
| ClickType | String | Type of ad click that led to the visit. |
| Devicetype | String | Type of device used during the visit, such as mobile or desktop. |
| AdNetwork | String | Advertising network associated with the visit. |
| SearchPartnerNetwork | String | Search partner network responsible for the visit. |
| AdCampaignName | String | Name of the advertising campaign linked to the visit. |
| AdGroupName | String | Name of the ad group responsible for the visit. |
| Ad | String | Specific ad that led to the visit. |
| AdClickDate | Date | Date and time when the ad was clicked. |
| VisitSource | String | Source channel that brought the visitor, such as direct, organic, or paid. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | Fields used to identify duplicate records during upsert. Only one field is allowed for bulk upserts. |
| CustomViewId | Long | Identifier for a custom view used to filter the record. Applies when the useCOQL parameter is set to false. |
Stored procedures are function-like interfaces that extend the functionality of the Cloud beyond simple SELECT/INSERT/UPDATE/DELETE operations with Zoho CRM.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Zoho CRM, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| ConvertLead | Converts a lead record into associated contact, account, and deal records in a single operation. |
| DeleteFile | Removes a file that is currently attached to a CRM record. |
| DelinkRelatedRecords | Removes the established link between two related records across different modules. |
| LinkRelatedRecords | Creates a relationship between two records from different modules, such as linking a contact to a deal. |
| TransferAndDeletePipeline | Deletes a specified pipeline in the Deals module and moves all of its stages to a target pipeline, ensuring existing deals keep their stage history. |
Converts a lead record into associated contact, account, and deal records in a single operation.
| Name | Type | Description |
| LeadId | String | Unique identifier of the lead record to be converted. |
| Overwrite | String | Indicates whether the conversion process overwrites existing records.
The default value is true. |
| NotifyLeaderOwner | String | Specifies whether to notify the original lead owner after conversion.
The default value is false. |
| NotifyNewEntityOwner | String | Specifies whether to notify the owner of the newly created record after conversion.
The default value is false. |
| AccountId | String | Identifier of the existing account to associate with the converted lead. |
| ContactId | String | Identifier of the existing contact to associate with the converted lead. |
| UserId | String | Identifier of the user to whom the converted lead is assigned. |
| CampaignSource | String | Campaign source associated with the lead. This field maps to the campaign on the deal. |
| DealName | String | Name to assign to the new deal created from the lead. |
| ClosingDate | String | Expected closing date of the deal. |
| Stage | String | Identifier of the deal stage to assign after conversion. |
| Amount | String | Total monetary value to associate with the new deal. |
| Name | Type | Description |
| Contacts | String | Identifier of the contact created or used during the lead conversion. |
| Deals | String | Identifier of the deal created during the lead conversion. |
| Accounts | String | Identifier of the account created or used during the lead conversion. |
Removes a file that is currently attached to a CRM record.
| Name | Type | Description |
| ModuleName | String | API name of the module from which the attachment is deleted. |
| RecordID | String | Unique identifier of the record associated with the attachment. |
| AttachmentID | String | Unique identifier of the attachment to be deleted. |
| Name | Type | Description |
| Message | String | Message returned by Zoho CRM indicating the outcome of the deletion operation. |
| Status | String | Status returned by Zoho CRM, such as success or failure, for the deletion request. |
Deletes a specified pipeline in the Deals module and moves all of its stages to a target pipeline, ensuring existing deals keep their stage history.
ZohoCRM Supports deleting a pipeline and transferring the associated stages to another pipeline by providing the FromId, ToId,Stages and LayoutId of the related pipeline.
Note: It works only with ApiVersion=2.1.
For Example:
EXEC TransferAndDeletePipeline FromId = '228122000000252002',ToId = '228122000000202388', Stages = '[\n" +
" {\n" +
" \"from\": \"4917206000000006801\",\n" +
" \"to\": \"4917206000000006801\"\n" +
" }\n" +
" ]', LayoutId = '228122000000202258'
| Name | Type | Description |
| FromId | String | Unique identifier of the pipeline to delete and from which associated deals is transferred. |
| ToId | String | Unique identifier of the target pipeline where the deals is transferred. |
| Stages | String | List of stage mappings from the old pipeline to the new pipeline. |
| LayoutId | String | Unique identifier of the layout in the Deals module used to retrieve pipeline details. |
| Name | Type | Description |
| Status | String | Indicates whether the transfer operation was successful. |
| JobId | String | The job identifier of the newly created transfer operation. |
| Message | String | The message from the Zoho CRM API indicating if the operation was successful. |
The CData Cloud models Zoho CRM API v2.1 data as an easy-to-use SQL database. There are three parts to the data model: tables, views, and stored procedures. Any changes you make to your Zoho CRM account, such as adding a custom module, adding a custom field, or changing the data type of a field, occur immediately when you connect using the Cloud.
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Zoho CRM account.
Common tables include:
| Table | Description |
| Accounts | Manages company or customer account records, supporting operations to create, update, delete, and retrieve account data. |
| Activities | Stores CRM activities such as tasks, calls, and events, with support for deletion and retrieval. |
| Attachments | Handles files attached to CRM records, supporting deletion and queries by record or module. |
| Calls | Stores logged call records, enabling full lifecycle management including creation, updates, and deletions. |
| Campaigns | Maintains marketing campaign records and supports linking to leads, contacts, or deals for engagement tracking. |
| Cases | Tracks customer service tickets or support requests, including case creation, updates, and resolution status. |
| Contacts | Stores contact records representing individuals, with full support for data operations including phone, email, and job role details. |
| Deals | Stores information about sales opportunities, including stage, expected revenue, and related accounts or contacts. |
| Invoices | Stores customer invoice records including itemized charges, taxes, and payment tracking. Not available in free or standard accounts. |
| Leads | Manages unqualified prospect records, allowing conversion into contacts, accounts, or deals after qualification. |
| Meetings | Stores scheduled meetings with agenda, participants, start/end times, and follow-up status. |
| Notes | Handles note entries linked to CRM records, allowing users to create, edit, delete, or retrieve notes. |
| Pipeline | Stores definitions of deal pipelines and their stages, enabling retrieval of all pipelines or a specific one for the Deals module. |
| PriceBooks | Manages price book records for assigning specific product pricing tiers. Not supported in free or standard accounts. |
| Products | Stores product catalog records including item name, SKU, price, and stock information. Not available in free or standard accounts. |
| Quotes | Stores quote records issued to customers with pricing, taxes, and terms. Not supported in free or standard accounts. |
| SalesOrders | Manages sales order transactions including items, billing, and shipping details. Not available in free or standard accounts. |
| Tasks | Stores task records linked to CRM entities, including priority, due date, and reminder settings. |
| Vendors | Stores vendor records used in purchase-related transactions such as purchase orders or stock replenishment. |
| Users | Lists user accounts along with details like email, profile, role, and login status. |
Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard create, read, update, delete (CRUD) operations, including working with files.
The Cloud models the data in Zoho CRM as a list of tables in a relational database that can be queried using standard SQL statements.
| Name | Description |
| Accounts | Represents companies or customers your business deals with; supports full creation, update, deletion, and detailed querying of account data. |
| Activities | Stores activities such as tasks, calls, and events and lets you delete or query these records for scheduling and reporting. |
| Attachments | Manages files attached to CRM records, allowing deletion or retrieval based on module, record, or filename. |
| Calls | Captures inbound and outbound call logs, including duration, outcome, and related contacts or deals. |
| Campaigns | Tracks marketing campaigns, linking them to leads, contacts, and deals for measuring engagement and revenue impact. |
| Cases | Handles customer support tickets with fields for status, priority, and resolution details; supports full CRUD operations. |
| ContactRoles | Defines and maintains the role a contact plays in relation to an account or deal, with add, update, and delete support. |
| Contacts | Stores individual contact information (including names, emails, phone numbers, and titles) supporting comprehensive record management. |
| Currencies | Maintains active currencies for your organization, including symbols and exchange rates used in deals and invoices. |
| Deals | Stores sales opportunities with fields for stage, amount, probability, and related accounts or contacts. |
| Invoices | Stores invoice header data and totals; includes billing address, due dates, and payment status. Not available in free or standard editions. |
| Leads | Captures unqualified prospects with fields for source, rating, and follow-up dates; supports conversion into contacts and deals. |
| Meetings | Stores scheduled meetings with agenda, participants, start/end times, and follow-up status. |
| Notes | Holds free-form textual notes linked to CRM records, with support for rich text, authorship, and timestamps. |
| Pipeline | Stores definitions of deal pipelines and their stages, enabling retrieval of all pipelines or a specific one for the Deals module. |
| PriceBooks | Maintains price book records that apply custom price tiers to products; not available in free or standard editions. |
| Products | Contains product catalog entries, including SKU, category, price, and stock; unavailable in free or standard editions. |
| PurchaseOrders | Stores purchase orders issued to vendors for inventory or services; not accessible in free or standard editions. |
| Quotes | Maintains quote records sent to customers with pricing, validity dates, and status; not available in free or standard editions. |
| SalesOrders | Tracks confirmed sales orders with shipment status, billing terms, and linked invoices; not available in free or standard editions. |
| Solutions | Stores knowledge-base articles and troubleshooting guides used for resolving support cases. |
| Tasks | Holds to-do items linked to records, with due dates, reminders, and priority levels. |
| Vendors | Stores vendor contact information, used in purchase orders and inventory workflows. |
Represents companies or customers your business deals with; supports full creation, update, deletion, and detailed querying of account data.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side. The rest of the filter is executed client-side within the Cloud.
INSERT INTO Accounts(AccountName) VALUES('my name')
Required fields: AccountName.
Any field which is not read-only (ReadOnly = false in the table below below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Accounts WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Accounts SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the account. |
| AccountOwner_Id | String | False |
Identifier of the user who owns the account. |
| AccountOwner_FirstName | String | True |
First name of the account owner. |
| AccountOwner_LastName | String | True |
Last name of the account owner. |
| AccountOwner_Email | String | True |
Email address of the account owner. |
| AccountOwner_Name | String | True |
Full name of the account owner. |
| Rating | String | False |
Internal rating assigned to the account. |
| AccountName | String | False |
Name of the organization or business account. |
| Phone | String | False |
Primary phone number of the account. |
| Fax | String | False |
Fax number associated with the account. |
| ParentAccount_Id | String | False |
Identifier of the parent account, if this is a sub-account. |
| ParentAccount_Name | String | True |
Name of the parent account, if applicable. |
| Website | String | False |
Website URL of the account. |
| TickerSymbol | String | False |
Stock ticker symbol of the account, if publicly traded. |
| AccountType | String | False |
Type of the account, such as customer, partner, or vendor. |
| Ownership | String | False |
Ownership type of the account, such as private or public. |
| Industry | String | False |
Industry category to which the account belongs. |
| Employees | Int | False |
Number of employees in the organization. |
| AnnualRevenue | Decimal | False |
Reported annual revenue of the account. |
| SICCode | Int | False |
Standard Industrial Classification (SIC) code for the account. |
| CreatedBy_Id | String | False |
Identifier of the user who created the account record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the account record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the account record. |
| CreatedBy_Email | String | True |
Email address of the user who created the account. |
| CreatedBy_Name | String | True |
Full name of the user who created the account. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the account. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the account. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the account. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the account. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the account. |
| CreatedTime | Datetime | False |
Date and time when the account was created. |
| ModifiedTime | Datetime | False |
Date and time when the account was last modified. |
| LastActivityTime | Datetime | True |
Timestamp of the most recent activity related to the account. |
| AccountNumber | Long | False |
Account number assigned internally or by the organization. |
| AccountSite | String | False |
Site or location reference for the account. |
| Tag | String | False |
Custom tags or labels associated with the account. |
| BillingStreet | String | False |
Street address for billing. |
| ShippingStreet | String | False |
Street address for shipping. |
| BillingCity | String | False |
City for billing address. |
| ShippingCity | String | False |
City for shipping address. |
| BillingState | String | False |
State or province for billing address. |
| ShippingState | String | False |
State or province for shipping address. |
| BillingCode | String | False |
Postal code for billing address. |
| ShippingCode | String | False |
Postal code for shipping address. |
| BillingCountry | String | False |
Country for billing address. |
| ShippingCountry | String | False |
Country for shipping address. |
| Description | String | False |
Freeform text describing the account. |
| AccountImage | String | False |
URL or path to an image representing the account. |
| ChangeLogTime | Datetime | True |
Timestamp of the most recent change log entry for the account. |
| Locked | Bool | True |
Indicates whether the account record is locked from editing. |
| LastEnrichedTime | Datetime | True |
Date and time when enrichment data was last applied to the account. |
| EnrichStatus | String | True |
Current status of third-party enrichment for the account. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to identify duplicate records during an upsert. Only one field is supported for bulk upserts. |
| Trigger | String |
Indicates whether to trigger associated automation rules when inserting this record into the CRM. |
| CustomViewId | Long |
Identifier of the custom view used for filtering this record. Applies when the useCOQL parameter is set to false. |
Stores activities such as tasks, calls, and events and lets you delete or query these records for scheduling and reporting.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Activities WHERE Id = '3152079000000154214' SELECT * FROM Activities WHERE Subject = 'event'
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Activities WHERE Id = '3152079000000156229'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the activity. |
| ActivityOwner_Id | String | False |
Identifier of the user who owns the activity. |
| ActivityOwner_FirstName | String | True |
First name of the activity owner. |
| ActivityOwner_LastName | String | True |
Last name of the activity owner. |
| ActivityOwner_Email | String | True |
Email address of the activity owner. |
| ActivityOwner_Name | String | True |
Full name of the activity owner. |
| Subject | String | False |
Title or subject line of the activity. |
| CreatedBy_Id | String | False |
Identifier of the user who created the activity. |
| CreatedBy_FirstName | String | True |
First name of the user who created the activity. |
| CreatedBy_LastName | String | True |
Last name of the user who created the activity. |
| CreatedBy_Email | String | True |
Email address of the user who created the activity. |
| CreatedBy_Name | String | True |
Full name of the user who created the activity. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the activity. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the activity. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the activity. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the activity. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the activity. |
| CreatedAt | Datetime | False |
Date and time when the activity was created. |
| ModifiedAt | Datetime | False |
Date and time when the activity was last modified. |
| ActivityType | String | False |
Type of activity, such as call or meeting. |
| ContactName_Id | String | False |
Identifier of the contact associated with the activity. |
| ContactName_Name | String | True |
Name of the contact associated with the activity. |
| RelatedTo_Id | String | False |
Identifier of the related record for this activity. |
| RelatedTo_Name | String | True |
Name of the related record for this activity. |
| Description | String | False |
Detailed description of the activity. |
| DueDate | Date | False |
Due date for the activity to be completed. |
| Status | String | False |
Current status of the activity. |
| Priority | String | False |
Priority level assigned to the activity. |
| ClosedTime | Datetime | True |
Date and time when the activity was closed. |
| Repeat_Id | String | False |
Identifier of the repeat rule linked to the activity. |
| Repeat_Name | String | True |
Name of the repeat rule linked to the activity. |
| Tag | String | False |
Tags associated with the activity for categorization. |
| Locked | Bool | True |
Indicates whether the activity is locked from edits. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity update. |
| Location | String | False |
Location where the activity is scheduled. |
| Allday | Bool | False |
Indicates whether the activity lasts all day. |
| From | Datetime | False |
Start time of the activity. |
| To | Datetime | False |
End time of the activity. |
| Participants | String | False |
List of participants involved in the activity. |
| Check-InTime | Datetime | True |
Time when the user checked in to the activity. |
| Check-InBy_Id | String | False |
Identifier of the user who performed the check-in. |
| Check-InBy_Name | String | True |
Name of the user who performed the check-in. |
| Check-InComment | String | True |
Comments added during the check-in. |
| Check-InSub-Locality | String | True |
Sub-locality information for the check-in. |
| Check-InCity | String | True |
City where the check-in occurred. |
| Check-InState | String | True |
State where the check-in occurred. |
| Check-InCountry | String | True |
Country where the check-in occurred. |
| Latitude | Double | True |
Latitude coordinate of the check-in location. |
| Longitude | Double | True |
Longitude coordinate of the check-in location. |
| ZipCode | String | True |
Postal code of the check-in location. |
| Check-InAddress | String | True |
Full address of the check-in location. |
| CheckedInStatus | String | True |
Status of the check-in, such as completed or pending. |
| CallType | String | False |
Type of call, such as outbound or inbound. |
| CallPurpose | String | False |
Purpose of the call, such as follow-up or demo. |
| CallStartTime | Datetime | False |
Start time of the call activity. |
| CallDuration | String | False |
Duration of the call in human-readable format. |
| CallDuration(inseconds) | Int | False |
Duration of the call in seconds. |
| CallResult | String | False |
Outcome of the call, such as successful or missed. |
| CTIEntry | Bool | False |
Indicates whether the call was logged using CTI integration. |
| Reminder | String | False |
Reminder details for the activity. |
| OutgoingCallStatus | String | False |
Status of the outgoing call. |
| ScheduledinCRM | String | True |
Indicates whether the call was scheduled in the CRM. |
| CallAgenda | String | False |
Agenda or topics to be discussed during the call. |
| CallerID | String | True |
Caller ID information displayed during the call. |
| DialledNumber | String | True |
Phone number that was dialed. |
| VoiceRecording | String | False |
Link or reference to the voice recording of the call. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to check for duplicates during an upsert operation. The REST API allows multiple fields, but the BULK API allows only one. |
| Trigger | String |
Indicates whether automation rules are triggered upon inserting the record. |
| Converted | Bool |
When true, returns only converted records. |
| Approved | Bool |
When true, returns only approved records. Default is true. |
| CustomViewId | Long |
Custom view identifier used for filtering when the useCOQL parameter is set to false. |
Manages files attached to CRM records, allowing deletion or retrieval based on module, record, or filename.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
SELECT * FROM Attachments
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Attachments WHERE Id = '3152079000000431011'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the attachment. |
| AttachmentOwner_Id | String | False |
Identifier of the user who owns the attachment. |
| AttachmentOwner_FirstName | String | True |
First name of the attachment owner. |
| AttachmentOwner_LastName | String | True |
Last name of the attachment owner. |
| AttachmentOwner_Email | String | True |
Email address of the attachment owner. |
| AttachmentOwner_Name | String | True |
Full name of the attachment owner. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the attachment. |
| ModifiedBy_FirstName | String | True |
First name of the user who modified the attachment. |
| ModifiedBy_LastName | String | True |
Last name of the user who modified the attachment. |
| ModifiedBy_Email | String | True |
Email address of the user who modified the attachment. |
| ModifiedBy_Name | String | True |
Full name of the user who modified the attachment. |
| CreatedBy_Id | String | False |
Identifier of the user who created the attachment. |
| CreatedBy_FirstName | String | True |
First name of the user who created the attachment. |
| CreatedBy_LastName | String | True |
Last name of the user who created the attachment. |
| CreatedBy_Email | String | True |
Email address of the user who created the attachment. |
| CreatedBy_Name | String | True |
Full name of the user who created the attachment. |
| CreatedAt | Datetime | True |
Date and time when the attachment was created. |
| ModifiedAt | Datetime | True |
Date and time when the attachment was last modified. |
| FileName | String | False |
Name of the attached file. |
| Size | String | False |
Size of the file. |
| ParentID_Id | String | False |
Identifier of the parent record this attachment is linked to. |
| ParentID_Name | String | True |
Name of the parent record this attachment is linked to. |
| ModuleName | String | False |
Name of the module that contains the parent record. |
| Editable | String | False |
Specifies whether the file can be edited. |
| FileId | String | False |
Identifier of the file in storage. |
| Type | String | False |
File type or extension. |
| State | String | False |
Current state or status of the attachment. |
| LinkUrl | String | False |
URL link to access the attachment. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicate records during upsert. The REST API supports multiple fields, but the BULK API supports only one. |
| Trigger | String |
Indicates whether to trigger automation rules when inserting the record into the CRM. |
| Converted | Bool |
Returns whether the record has been converted. |
| Approved | Bool |
Returns whether the record is approved. The default value is true. |
| CustomViewId | Long |
Custom view Id used for filtering records. Applies when the useCOQL parameter is false. |
Captures inbound and outbound call logs, including duration, outcome, and related contacts or deals.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Calls (Subject, ModuleName, RelatedTo_Id,CallType,CallStartTime) VALUES ('A test call', 'Accounts', '5768552000000433001','Outbound','May 20, 2023 12:00 AM')
Required fields: Subject, ModuleName, CallType, CallStartTime and ContactName_Id if ModuleName = Contacts and RelatedTo_Id if any other modulename is specified.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Calls WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Calls SET Subject = 'Updated from API' WHERE Id = '3152079000000484001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the call record. |
| CallOwner_Id | String | False |
Identifier of the user who owns the call record. |
| CallOwner_FirstName | String | True |
First name of the call owner. |
| CallOwner_LastName | String | True |
Last name of the call owner. |
| CallOwner_Email | String | True |
Email address of the call owner. |
| CallOwner_Name | String | True |
Full name of the call owner. |
| Subject | String | False |
Title or subject of the call. |
| CallType | String | False |
Type of call, such as inbound or outbound. |
| CallPurpose | String | False |
Purpose or intent of the call. |
| ContactName_Id | String | False |
Identifier of the contact person associated with the call. |
| ContactName_Name | String | True |
Full name of the contact person associated with the call. |
| RelatedTo_Id | String | False |
Identifier of the related record linked to the call. |
| RelatedTo_Name | String | True |
Name of the related record linked to the call. |
| CallStartTime | Datetime | False |
Date and time when the call started. |
| CallDuration | String | False |
Duration of the call in formatted text. |
| CallDuration(inseconds) | Int | False |
Duration of the call in seconds. |
| Description | String | False |
Additional details or notes about the call. |
| CallResult | String | False |
Outcome or result of the call. |
| CTIEntry | Bool | False |
Indicates whether the call was recorded through a computer telephony integration (CTI) system. |
| CreatedBy_Id | String | False |
Identifier of the user who created the call record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the call record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the call record. |
| CreatedBy_Email | String | True |
Email address of the user who created the call record. |
| CreatedBy_Name | String | True |
Full name of the user who created the call record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the call record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the call record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the call record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the call record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the call record. |
| CreatedTime | Datetime | False |
Timestamp of when the call record was created. |
| ModifiedTime | Datetime | False |
Timestamp of the most recent modification to the call record. |
| Reminder | String | False |
Reminder settings associated with the call. |
| Tag | String | False |
User-defined tag associated with the call. |
| OutgoingCallStatus | String | False |
Status of the outgoing call, such as completed or missed. |
| ScheduledinCRM | String | True |
Indicates whether the call was scheduled in the CRM system. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to the call. |
| CallAgenda | String | False |
Agenda or topic discussed during the call. |
| CallerID | String | True |
Caller identifier number displayed during the call. |
| DialledNumber | String | True |
Phone number that was dialed during the call. |
| ModuleName | String | False |
Name of the module in which the call record resides. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to identify duplicate records during an upsert operation. The REST API allows multiple fields, while the BULK API allows only one. |
| Trigger | String |
Indicates whether to trigger automation rules when inserting the call record. |
| CustomViewId | Long |
Custom view Id used for filtering records. Applies when the useCOQL parameter is false. |
Tracks marketing campaigns, linking them to leads, contacts, and deals for measuring engagement and revenue impact.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Campaigns (CampaignName) VALUES ('a test campaign')
Required fields: CampaignName.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Campaigns WHERE Id = '3152079000000485001'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Campaigns SET CampaignName = 'Updated from API' WHERE Id = '3152079000000485001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the campaign. |
| CampaignOwner_Id | String | False |
Identifier of the user who owns the campaign. |
| CampaignOwner_FirstName | String | True |
First name of the campaign owner. |
| CampaignOwner_LastName | String | True |
Last name of the campaign owner. |
| CampaignOwner_Email | String | True |
Email address of the campaign owner. |
| CampaignOwner_Name | String | True |
Full name of the campaign owner. |
| Type | String | False |
Type or category of the campaign, such as email, webinar, or advertisement. |
| CampaignName | String | False |
Name of the campaign. |
| Status | String | False |
Current status of the campaign, such as active or completed. |
| StartDate | Date | False |
Start date of the campaign. |
| EndDate | Date | False |
End date of the campaign. |
| ExpectedRevenue | Decimal | False |
Estimated revenue expected to be generated by the campaign. |
| BudgetedCost | Decimal | False |
Planned budget or cost allocated for the campaign. |
| ActualCost | Decimal | False |
Actual amount spent on the campaign. |
| ExpectedResponse | Long | False |
Projected number of responses the campaign is expected to receive. |
| Numberssent | Long | False |
Total number of messages or materials sent as part of the campaign. |
| CreatedBy_Id | String | False |
Identifier of the user who created the campaign record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the campaign record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the campaign record. |
| CreatedBy_Email | String | True |
Email address of the user who created the campaign record. |
| CreatedBy_Name | String | True |
Full name of the user who created the campaign record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the campaign record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the campaign record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the campaign record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the campaign record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the campaign record. |
| CreatedTime | Datetime | False |
Date and time when the campaign record was created. |
| ModifiedTime | Datetime | False |
Date and time when the campaign record was last updated. |
| Tag | String | False |
Tag associated with the campaign, used for categorization or filtering. |
| Description | String | False |
Textual description providing additional information about the campaign. |
| ParentCampaign_Id | String | False |
Identifier of the parent campaign if this campaign is part of a campaign hierarchy. |
| ParentCampaign_Name | String | True |
Name of the parent campaign. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to the campaign. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to detect duplicates during an upsert operation. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Flag to trigger automation rules during the insertion of the campaign record. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record when the useCOQL parameter is set to false. |
Handles customer support tickets with fields for status, priority, and resolution details; supports full CRUD operations.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new case with an email address, a medium priority, and a short description
INSERT INTO Cases (Email, Priority, Description) VALUES ('[email protected]', 'Medium', 'A simple test case')
Required fields: While no fields are strictly required, it is common to include fields such as Email, Priority, and Description when inserting new records.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a case by its unique ID
DELETE FROM Cases WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the priority field for a specific case using its ID
UPDATE Cases SET Priority = 'Low' WHERE Id = '3152079000000473022'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the support case. |
| CaseReason | String | False |
Reason or cause associated with the case. |
| CaseNumber | String | True |
System-generated number assigned to the case. |
| CaseOwner_Id | String | False |
Identifier of the user responsible for managing the case. |
| CaseOwner_FirstName | String | True |
First name of the user who owns the case. |
| CaseOwner_LastName | String | True |
Last name of the user who owns the case. |
| CaseOwner_Email | String | True |
Email address of the user who owns the case. |
| CaseOwner_Name | String | True |
Full name of the user who owns the case. |
| Status | String | False |
Current status of the case, such as open, closed, or in progress. |
| ProductName_Id | String | False |
Identifier of the product associated with the case. |
| ProductName_Name | String | True |
Name of the product associated with the case. |
| Priority | String | False |
Level of urgency assigned to the case, such as high, medium, or low. |
| Type | String | False |
Classification of the case, such as question, issue, or request. |
| CaseOrigin | String | False |
Source from which the case originated, such as email, phone, or portal. |
| Subject | String | False |
Brief subject or title describing the case. |
| RelatedTo_Id | String | False |
Identifier of the related entity, such as a contact or lead. |
| RelatedTo_Name | String | True |
Name of the related entity. |
| AccountName_Id | String | False |
Identifier of the account associated with the case. |
| AccountName_Name | String | True |
Name of the account associated with the case. |
| DealName_Id | String | False |
Identifier of the deal related to the case. |
| DealName_Name | String | True |
Name of the deal related to the case. |
| No.ofcomments | Int | True |
Number of comments associated with the case. |
| ReportedBy | String | False |
Name of the individual who reported the case. |
| String | False |
Email address used to report the case. | |
| Phone | String | False |
Phone number used to report the case. |
| CreatedBy_Id | String | False |
Identifier of the user who created the case record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the case record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the case record. |
| CreatedBy_Email | String | True |
Email address of the user who created the case record. |
| CreatedBy_Name | String | True |
Full name of the user who created the case record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the case record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the case record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the case record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the case record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the case record. |
| CreatedTime | Datetime | False |
Date and time when the case record was created. |
| ModifiedTime | Datetime | False |
Date and time when the case record was last updated. |
| Tag | String | False |
Tag associated with the case, used for filtering or categorization. |
| Description | String | False |
Detailed description of the case. |
| InternalComments | String | False |
Internal-only comments about the case, not visible to the customer. |
| Solution | String | False |
Proposed or applied solution to resolve the case. |
| AddComment | String | False |
Comment added to the case during follow-up or resolution. |
| Comments | String | True |
All comments recorded for the case. |
| Locked | Bool | True |
Indicates whether the case record is locked from further modifications. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity on the case. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicate case records during upsert. The REST API allows multiple fields, while the BULK API supports only one. |
| Trigger | String |
Flag to determine whether to execute automation rules during record insertion. |
| CustomViewId | Long |
Identifier of the custom view used to filter the record when the useCOQL parameter is set to false. |
Defines and maintains the role a contact plays in relation to an account or deal, with add, update, and delete support.
SELECT * FROM ContactRoles
Insert INTO ContactRoles(SequenceNumber, Name) VALUES(8, 'TEST3')
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM ContactRoles WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE ContactRoles SET Name='Sales Lead 1' where Id= '2732548000006917001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the contact role. |
| SequenceNumber | Int | False |
Position of the contact role in the CRM user interface picklist. |
| Name | String | False |
Name assigned to the contact role. |
Stores individual contact information (including names, emails, phone numbers, and titles) supporting comprehensive record management.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
Note: When UseCOQL is set to true, a SELECT * query may fail due to the large number of columns in this table. To avoid this error:
You must specify the LastName column when inserting a new contact. The following example demonstrates an insert operation:
-- Insert a contact with a first name, last name, and email address
INSERT INTO Contacts (FirstName, LastName, Email) VALUES ('John', 'Smith', '[email protected]')
Required fields: LastName is required.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a contact by its unique ID
DELETE FROM Contacts WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description field for a specific contact
UPDATE Contacts SET Description = 'John helped us in the past with setting up the servers.' WHERE Id = '3152079000000484021'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the contact. |
| ContactOwner_Id | String | False |
Identifier of the user who owns the contact. |
| ContactOwner_FirstName | String | True |
First name of the user who owns the contact. |
| ContactOwner_LastName | String | True |
Last name of the user who owns the contact. |
| ContactOwner_Email | String | True |
Email address of the user who owns the contact. |
| ContactOwner_Name | String | True |
Full name of the user who owns the contact. |
| LeadSource | String | False |
Source from which the lead for this contact originated. |
| FirstName | String | False |
First name of the contact. |
| LastName | String | False |
Last name of the contact. |
| FullName | String | False |
Full name of the contact. |
| AccountName_Id | String | False |
Identifier of the associated account. |
| AccountName_Name | String | True |
Name of the associated account. |
| VendorName_Id | String | False |
Identifier of the associated vendor. |
| VendorName_Name | String | True |
Name of the associated vendor. |
| String | False |
Primary email address of the contact. | |
| Title | String | False |
Job title of the contact. |
| Department | String | False |
Department the contact belongs to. |
| Phone | String | False |
Primary phone number of the contact. |
| HomePhone | String | False |
Home phone number of the contact. |
| OtherPhone | String | False |
Other phone number for the contact. |
| Fax | String | False |
Fax number of the contact. |
| Mobile | String | False |
Mobile number of the contact. |
| DateofBirth | Date | False |
Date of birth of the contact. |
| Assistant | String | False |
Name of the contact's assistant. |
| AsstPhone | String | False |
Phone number of the assistant. |
| EmailOptOut | Bool | False |
Indicates whether the contact has opted out of email communications. |
| SkypeID | String | False |
Skype identifier of the contact. |
| CreatedBy_Id | String | False |
Identifier of the user who created the contact. |
| CreatedBy_FirstName | String | True |
First name of the user who created the contact. |
| CreatedBy_LastName | String | True |
Last name of the user who created the contact. |
| CreatedBy_Email | String | True |
Email address of the user who created the contact. |
| CreatedBy_Name | String | True |
Full name of the user who created the contact. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the contact. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the contact. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the contact. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the contact. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the contact. |
| CreatedTime | Datetime | False |
Date and time when the contact was created. |
| ModifiedTime | Datetime | False |
Date and time when the contact was last modified. |
| Salutation | String | False |
Salutation used for the contact, such as Mr. or Ms. |
| SecondaryEmail | String | False |
Secondary email address of the contact. |
| LastActivityTime | Datetime | True |
Date and time of the last activity involving this contact. |
| String | False |
Twitter handle of the contact. | |
| Tag | String | False |
Tags associated with the contact for categorization. |
| MailingStreet | String | False |
Mailing street address of the contact. |
| OtherStreet | String | False |
Alternative street address of the contact. |
| MailingCity | String | False |
City of the mailing address. |
| OtherCity | String | False |
City of the alternative address. |
| MailingState | String | False |
State of the mailing address. |
| OtherState | String | False |
State of the alternative address. |
| MailingZip | String | False |
ZIP or postal code of the mailing address. |
| OtherZip | String | False |
ZIP or postal code of the alternative address. |
| MailingCountry | String | False |
Country of the mailing address. |
| OtherCountry | String | False |
Country of the alternative address. |
| Description | String | False |
Additional details about the contact. |
| ContactImage | String | False |
Image associated with the contact. |
| ReportingTo_Id | String | False |
Identifier of the contact this person reports to. |
| ReportingTo_Name | String | True |
Name of the contact this person reports to. |
| UnsubscribedMode | String | True |
Indicates how the contact unsubscribed from communication. |
| UnsubscribedTime | Datetime | True |
Date and time when the contact unsubscribed. |
| ChangeLogTime | Datetime | True |
Timestamp of the most recent change to the contact record. |
| Locked | Bool | True |
Indicates whether the contact record is locked. |
| LastEnrichedTime | Datetime | True |
Date and time when the contact was last enriched with external data. |
| EnrichStatus | String | True |
Status of the enrichment process for this contact. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicate contact records during upsert. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Indicates whether automation rules are triggered when inserting the contact. |
| CustomViewId | Long |
Custom view identifier used to filter the contact record. Applies only when the useCOQL parameter is set to false. |
Maintains active currencies for your organization, including symbols and exchange rates used in deals and invoices.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Currencies WHERE Id = '1234';
INSERT INTO Currencies (ISO_Code, Name, ExchangeRate) VALUES ('1234', 'hello','1.000');
Bulk Insert operation:
INSERT INTO Currencies#TEMP (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) VALUES ('4150868000000236307', 'cdata1','$','true','1.0000','period','comma','2','true','2');
INSERT INTO Currencies#TEMP (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) VALUES ('1234', 'cdata','$','true','2.0000','period','comma','3','true','3');
INSERT INTO Currencies (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) SELECT id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code FROM currencies#TEMP;
Required fields: Name, ISO_Code, ExchangeRate.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
UPDATE Currencies SET symbol = 'hello', FormatDecimalSeparator = 'period', FormatThousandSeparator = 'comma',FormatDecimalPlaces = '2',prefixsymbol = 'true',exchangerate = '1.0000' WHERE Id = '1234';
Bulk Update Operation:
UPDATE Currencies SET symbol = '$',FormatDecimalSeparator = 'period',FormatThousandSeparator = 'comma',FormatDecimalPlaces = '2';
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated. NOTE: if Id field is not specified in the query, PostData will be created for each id ( driver will execute bulk update operation for each currency id).
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the currency. |
| Name | String | False |
Name of the currency. |
| Symbol | String | False |
Symbol used to represent the currency. |
| IsActive | Bool | False |
Indicates whether the currency is active. |
| ExchangeRate | Double | False |
Exchange rate relative to the base currency. |
| FormatDecimalSeparator | String | False |
Character used to separate the whole number from the decimal portion. |
| FormatThousandSeparator | String | False |
Character used to separate groups of thousands in the currency format. |
| FormatDecimalPlaces | String | False |
Number of decimal places allowed when displaying the currency. |
| ModifiedByName | String | True |
Name of the user who last modified the currency information. |
| ModifiedByid | String | True |
Identifier of the user who last modified the currency information. |
| PrefixSymbol | Bool | False |
Indicates whether the currency symbol appears before the amount. |
| IsBase | Bool | True |
Indicates whether the currency is designated as the base currency. |
| CreatedAt | Datetime | True |
Date and time when the currency was created. |
| ModifiedAt | Datetime | True |
Date and time when the currency was last modified. |
| ISO_Code | String | False |
Standard ISO code representing the currency. |
Stores sales opportunities with fields for stage, amount, probability, and related accounts or contacts.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Deals (DealName, Stage) VALUES ('Converting company XYZ into our client.', 'Qualification')
Required fields: DealName.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Deals WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Deals SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the deal record. |
| DealOwner_Id | String | False |
Identifier of the user who owns the deal. |
| DealOwner_FirstName | String | True |
First name of the user who owns the deal. |
| DealOwner_LastName | String | True |
Last name of the user who owns the deal. |
| DealOwner_Email | String | True |
Email address of the user who owns the deal. |
| DealOwner_Name | String | True |
Full name of the user who owns the deal. |
| Amount | Decimal | False |
Monetary value associated with the deal. |
| DealName | String | False |
Name assigned to the deal. |
| ClosingDate | Date | False |
Expected closing date for the deal. |
| AccountName_Id | String | False |
Identifier of the associated account. |
| AccountName_Name | String | True |
Name of the associated account. |
| Stage | String | False |
Current stage of the deal in the sales pipeline. |
| Type | String | False |
Type classification for the deal. |
| Probability(%) | Int | False |
Probability percentage of successfully closing the deal. |
| ExpectedRevenue | Decimal | True |
Projected revenue based on the deal's probability and amount. |
| NextStep | String | False |
Planned next step for progressing the deal. |
| LeadSource | String | False |
Source from which the deal originated. |
| CampaignSource_Id | String | False |
Identifier of the related marketing campaign. |
| CampaignSource_Name | String | True |
Name of the related marketing campaign. |
| ContactName_Id | String | False |
Identifier of the associated contact. |
| ContactName_Name | String | True |
Name of the associated contact. |
| CreatedBy_Id | String | False |
Identifier of the user who created the deal record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the deal record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the deal record. |
| CreatedBy_Email | String | True |
Email address of the user who created the deal record. |
| CreatedBy_Name | String | True |
Full name of the user who created the deal record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the deal record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the deal record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the deal record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the deal record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the deal record. |
| CreatedTime | Datetime | False |
Date and time when the deal record was created. |
| ModifiedTime | Datetime | False |
Date and time when the deal record was last modified. |
| LastActivityTime | Datetime | True |
Timestamp of the most recent activity related to the deal. |
| LeadConversionTime | Int | True |
Number of days between lead creation and conversion. |
| SalesCycleDuration | Int | True |
Number of days the deal remained in the sales pipeline. |
| OverallSalesDuration | Int | True |
Total duration of the deal from lead creation to closure. |
| Tag | String | False |
Tags assigned to the deal for classification or filtering. |
| Description | String | False |
Additional information or notes about the deal. |
| ChangeLogTime | Datetime | True |
Timestamp of the last change made to the deal. |
| Locked | Bool | True |
Indicates whether the deal record is locked from updates. |
| ReasonForLoss | String | False |
Explanation for why the deal was marked as lost. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to identify duplicate records during an upsert operation. The REST API allows multiple fields while the BULK API supports only one. |
| Trigger | String |
Specifies whether to activate automation rules when inserting the record. |
| CustomViewId | Long |
Custom view identifier used for filtering this record. Applies when the useCOQL parameter is set to false. |
Stores invoice header data and totals; includes billing address, due dates, and payment status. Not available in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Invoices (Subject, AccountName_Id, InvoicedItems) VALUES ('test2', '1021046000000427106', '[
{
"Product_Name": {
"id": "1021046000000414457"
},
"Quantity": 1024,
"Discount": 12,
"Price_Book_Name": {
"id": "1021366103040414494"
},
"Tax": 0,
"List_Price": 1.21,
"Description": "test desc"
}
]');
Required fields for REST API: Subject, InvoicedItems.
Required fields for BULK API: Subject, InvoicedItems, AccountName_Id.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
Please note that the REST API honors only the 'id' field of the 'Product_Name' aggregate in the InvoicedItems column. The BULK API does not accept any other field in this aggregate.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Invoices WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Invoices SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the invoice. |
| InvoiceOwner_Id | String | False |
Unique identifier of the user who owns the invoice. |
| InvoiceOwner_FirstName | String | True |
First name of the user who owns the invoice. |
| InvoiceOwner_LastName | String | True |
Last name of the user who owns the invoice. |
| InvoiceOwner_Email | String | True |
Email address of the user who owns the invoice. |
| InvoiceOwner_Name | String | True |
Full name of the user who owns the invoice. |
| InvoiceNumber | String | True |
The unique number assigned to the invoice. |
| Subject | String | False |
The subject or title of the invoice. |
| SalesOrder_Id | String | False |
Unique identifier of the associated sales order. |
| SalesOrder_Name | String | True |
Name of the associated sales order. |
| InvoiceDate | Date | False |
The date on which the invoice was issued. |
| PurchaseOrder | String | False |
Reference number of the related purchase order. |
| DueDate | Date | False |
The date by which the invoice must be paid. |
| ExciseDuty | Decimal | False |
The excise duty amount applied to the invoice. |
| SalesCommission | Decimal | False |
The sales commission amount related to the invoice. |
| Status | String | False |
Current status of the invoice. |
| AccountName_Id | String | False |
Unique identifier of the account associated with the invoice. |
| AccountName_Name | String | True |
Name of the account associated with the invoice. |
| ContactName_Id | String | False |
Unique identifier of the contact associated with the invoice. |
| ContactName_Name | String | True |
Name of the contact associated with the invoice. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the invoice. |
| CreatedBy_FirstName | String | True |
First name of the user who created the invoice. |
| CreatedBy_LastName | String | True |
Last name of the user who created the invoice. |
| CreatedBy_Email | String | True |
Email address of the user who created the invoice. |
| CreatedBy_Name | String | True |
Full name of the user who created the invoice. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the invoice. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the invoice. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the invoice. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the invoice. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the invoice. |
| CreatedTime | Datetime | False |
The date and time when the invoice was created. |
| ModifiedTime | Datetime | False |
The date and time when the invoice was last modified. |
| Tag | String | False |
User-defined tags associated with the invoice. |
| BillingStreet | String | False |
Billing street address. |
| ShippingStreet | String | False |
Shipping street address. |
| BillingCity | String | False |
Billing city. |
| ShippingCity | String | False |
Shipping city. |
| BillingState | String | False |
Billing state. |
| ShippingState | String | False |
Shipping state. |
| BillingCode | String | False |
Billing postal code. |
| ShippingCode | String | False |
Shipping postal code. |
| BillingCountry | String | False |
Billing country. |
| ShippingCountry | String | False |
Shipping country. |
| SubTotal | String | True |
Total amount before applying tax, discount, or adjustments. |
| Discount | Decimal | False |
Discount applied to the invoice. |
| Tax | Decimal | False |
Total tax amount applied to the invoice. |
| Adjustment | Decimal | False |
Any adjustments made to the invoice total. |
| GrandTotal | String | True |
Final total amount after applying discounts, tax, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions related to the invoice. |
| Description | String | False |
Additional notes or description of the invoice. |
| InvoicedItems | String | False |
List of items included in the invoice. |
| DealName_Id | String | False |
Unique identifier of the associated deal. |
| DealName_Name | String | True |
Name of the associated deal. |
| Locked | Bool | True |
Indicates whether the invoice record is locked for editing. |
| LastActivityTime | Datetime | False |
The date and time of the last activity related to the invoice. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The field or fields used for checking duplicate records during upsert operations. |
| Trigger | String |
Triggers the rule when inserting the record into the CRM account. |
| CustomViewId | Long |
The custom view identifier used to filter this record. Works when the useCOQL parameter is set to false. |
Captures unqualified prospects with fields for source, rating, and follow-up dates; supports conversion into contacts and deals.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
Note: When UseCOQL is set to true, a SELECT * query may fail due to the large number of columns in this table. To avoid this error:
You must specify the LastName column when inserting a new lead. The following examples demonstrate valid insert operations:
-- Insert a lead with a first name, last name, and title
INSERT INTO Leads (FirstName, LastName, Title) VALUES ('Alert', 'Bat', 'Mr')
-- Insert a lead and trigger associated workflows, approvals, or blueprints
INSERT INTO Leads (FirstName, LastName, Email, Trigger) VALUES ('Enthusiastic', 'Panda', '[email protected]', 'workflow,approval,blueprint')
Required fields: LastName is required.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a lead by its unique ID
DELETE FROM Leads WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description field for a specific lead
UPDATE Leads SET Description = 'Changed from the API.' WHERE Id = '3152079000000488014'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the lead. |
| LeadOwner_Id | String | False |
Unique identifier of the lead owner. |
| LeadOwner_FirstName | String | True |
First name of the lead owner. |
| LeadOwner_LastName | String | True |
Last name of the lead owner. |
| LeadOwner_Email | String | True |
Email address of the lead owner. |
| LeadOwner_Name | String | True |
Full name of the lead owner. |
| Company | String | False |
Name of the company associated with the lead. |
| FirstName | String | False |
First name of the lead. |
| LastName | String | False |
Last name of the lead. |
| FullName | String | False |
Full name of the lead. |
| Title | String | False |
Job title of the lead. |
| String | False |
Email address of the lead. | |
| Phone | String | False |
Business phone number of the lead. |
| Fax | String | False |
Fax number of the lead. |
| Mobile | String | False |
Mobile phone number of the lead. |
| Website | String | False |
Website associated with the lead. |
| LeadSource | String | False |
Source from which the lead was acquired. |
| LeadStatus | String | False |
Current status of the lead. |
| Industry | String | False |
Industry associated with the lead. |
| No.ofEmployees | Int | False |
Number of employees at the lead's company. |
| AnnualRevenue | Decimal | False |
Estimated annual revenue of the lead's company. |
| Rating | String | False |
Rating assigned to the lead. |
| EmailOptOut | Bool | False |
Indicates whether the lead has opted out of email communications. |
| SkypeID | String | False |
Skype Id of the lead. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the record. |
| CreatedBy_Email | String | True |
Email address of the user who created the record. |
| CreatedBy_Name | String | True |
Full name of the user who created the record. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the record. |
| CreatedTime | Datetime | False |
Date and time the record was created. |
| ModifiedTime | Datetime | False |
Date and time the record was last modified. |
| Salutation | String | False |
Salutation for the lead, such as Mr. or Ms. |
| SecondaryEmail | String | False |
Secondary email address of the lead. |
| LastActivityTime | Datetime | True |
Timestamp of the last activity related to the lead. |
| String | False |
Twitter handle of the lead. | |
| Tag | String | False |
Tag or label associated with the lead. |
| Street | String | False |
Street address of the lead. |
| City | String | False |
City of the lead's address. |
| State | String | False |
State or province of the lead's address. |
| ZipCode | String | False |
Postal or ZIP code of the lead's address. |
| Country | String | False |
Country of the lead's address. |
| Description | String | False |
Additional information or notes about the lead. |
| LeadImage | String | False |
Image or avatar associated with the lead. |
| LeadConversionTime | Int | True |
Time taken to convert the lead. |
| UnsubscribedMode | String | True |
Indicates how the lead unsubscribed from communications. |
| UnsubscribedTime | Datetime | True |
Timestamp when the lead unsubscribed. |
| ChangeLogTime | Datetime | True |
Timestamp of the last change to the record. |
| Locked | Bool | True |
Indicates whether the record is locked from editing. |
| LastEnrichedTime | Datetime | True |
Timestamp of the most recent enrichment of the lead data. |
| EnrichStatus | String | True |
Status of the data enrichment for the lead. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to check for duplicate records during an upsert. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Used to trigger workflow rules when inserting a record into the CRM account. |
| CustomViewId | Long |
Custom view Id used to filter the record. Applies when the useCOQL parameter is false. |
Stores scheduled meetings with agenda, participants, start/end times, and follow-up status.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Meetings (Title, `From`, To) VALUES ('A test event', '2018/05/29 18:00:00', '2018/05/29 20:30:00')
Required fields: Title, From, To.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Meetings WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Meetings SET Description = 'Changed from the API.' WHERE Id = '3152079000000154219'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the meeting. |
| Title | String | False |
The subject or title of the meeting. |
| Location | String | False |
The location where the meeting is scheduled. |
| Allday | Bool | False |
Indicates whether the meeting lasts the entire day. |
| From | Datetime | False |
The start date and time of the meeting. |
| To | Datetime | False |
The end date and time of the meeting. |
| Host_Id | String | False |
The unique identifier of the meeting host. |
| Host_FirstName | String | True |
The first name of the meeting host. |
| Host_LastName | String | True |
The last name of the meeting host. |
| Host_Email | String | True |
The email address of the meeting host. |
| Host_Name | String | True |
The full name of the meeting host. |
| ContactName_Id | String | False |
The unique identifier of the associated contact. |
| ContactName_Name | String | True |
The name of the associated contact. |
| RelatedTo_Id | String | False |
The unique identifier of the related entity. |
| RelatedTo_Name | String | True |
The name of the related entity. |
| Repeat_Id | String | False |
The unique identifier of the recurrence rule. |
| Repeat_Name | String | True |
The name of the recurrence rule. |
| Reminder | String | False |
Details of the reminder set for the meeting. |
| CreatedBy_Id | String | False |
The unique identifier of the user who created the meeting record. |
| CreatedBy_FirstName | String | True |
The first name of the user who created the meeting record. |
| CreatedBy_LastName | String | True |
The last name of the user who created the meeting record. |
| CreatedBy_Email | String | True |
The email address of the user who created the meeting record. |
| CreatedBy_Name | String | True |
The full name of the user who created the meeting record. |
| ModifiedBy_Id | String | False |
The unique identifier of the user who last modified the meeting record. |
| ModifiedBy_FirstName | String | True |
The first name of the user who last modified the meeting record. |
| ModifiedBy_LastName | String | True |
The last name of the user who last modified the meeting record. |
| ModifiedBy_Email | String | True |
The email address of the user who last modified the meeting record. |
| ModifiedBy_Name | String | True |
The full name of the user who last modified the meeting record. |
| CreatedTime | Datetime | False |
The date and time when the meeting record was created. |
| ModifiedTime | Datetime | False |
The date and time when the meeting record was last modified. |
| Participants | String | False |
List of participants invited to the meeting. |
| Description | String | False |
Additional details or notes about the meeting. |
| Check-InTime | Datetime | True |
The date and time when the check-in occurred. |
| Check-InBy_Id | String | False |
The unique identifier of the user who performed the check-in. |
| Check-InBy_Name | String | True |
The name of the user who performed the check-in. |
| Check-InComment | String | True |
Comments provided at the time of check-in. |
| Check-InSub-Locality | String | True |
Sub-locality recorded at the time of check-in. |
| Check-InCity | String | True |
City recorded at the time of check-in. |
| Check-InState | String | True |
State recorded at the time of check-in. |
| Check-InCountry | String | True |
Country recorded at the time of check-in. |
| Latitude | Double | True |
Latitude coordinates of the check-in location. |
| Longitude | Double | True |
Longitude coordinates of the check-in location. |
| ZipCode | String | True |
Postal code recorded at the time of check-in. |
| Check-InAddress | String | True |
Full address recorded during check-in. |
| CheckedInStatus | String | True |
Indicates the check-in status of the meeting. |
| Tag | String | False |
Labels or tags associated with the meeting record. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity on this record. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields used to detect duplicate records during an upsert. The REST API supports multiple fields while the BULK API supports only one. |
| Trigger | String |
Used to trigger workflow rules when inserting a new record into the CRM account. |
| CustomViewId | Long |
Custom view identifier used for filtering records. Works only when the useCOQL parameter is set to false. |
Holds free-form textual notes linked to CRM records, with support for rich text, authorship, and timestamps.
Note: The Bulk API is not supported by the Notes table. Due to this, if you are using the Bulk API (UseCOQL set to False and APIType set to Bulk), the Cloud will instead use the REST API (with its associated limitations) when working with notes data. Refer to v2, v2.1, or v4 (in accordance with the value you set for Schema) to see the limits imposed by the REST API.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Notes WHERE Id = '3152079000000153079' SELECT * FROM Notes WHERE NoteTitle = 'Deal details'
INSERT INTO Notes (ParentID_Id, ModuleName, NoteContent) VALUES ('3276571000000184007', 'Leads', 'Janet converted this lead.')
Required fields: ParentID_Id (the Id of the item in which you are inserting the note to), ModuleName (the API name of the module you are inserting the note to), NoteContent.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Notes WHERE Id = '3152079000000488014'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Notes SET NoteTitle = 'Changed from the API.' WHERE Id = '3152079000000304003'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the note record. |
| NoteOwner_Id | String | False |
Identifier of the user who owns the note. |
| NoteOwner_FirstName | String | True |
First name of the user who owns the note. |
| NoteOwner_LastName | String | True |
Last name of the user who owns the note. |
| NoteOwner_Email | String | True |
Email address of the user who owns the note. |
| NoteOwner_Name | String | True |
Full name of the user who owns the note. |
| NoteTitle | String | False |
The title or subject line of the note. |
| NoteContent | String | False |
The main content or body of the note. |
| ParentID_Id | String | False |
Identifier of the parent record that this note is associated with. |
| ParentID_Name | String | True |
Name of the parent record that this note is associated with. |
| CreatedBy_Id | String | False |
Identifier of the user who created the note. |
| CreatedBy_FirstName | String | True |
First name of the user who created the note. |
| CreatedBy_LastName | String | True |
Last name of the user who created the note. |
| CreatedBy_Email | String | True |
Email address of the user who created the note. |
| CreatedBy_Name | String | True |
Full name of the user who created the note. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the note. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the note. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the note. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the note. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the note. |
| CreatedTime | Datetime | False |
Date and time when the note was created. |
| ModifiedTime | Datetime | False |
Date and time when the note was last modified. |
| Associated_Id | Long | False |
Identifier of the related entity associated with the note. |
| ModuleName | String | False |
Name of the module to which this note belongs. |
| Attachments | String | False |
List of attachments linked to the note. |
| Editable | String | False |
Indicates whether the note can be edited. |
| IsSharedToClient | String | False |
Indicates whether the note is visible to the client. |
| State | String | False |
State or status of the note record. |
| VoiceNote | String | False |
Information about any associated voice note. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields to be used for checking duplicate records during upsert operations. The REST API supports multiple fields while the BULK API supports only one. |
| Trigger | String |
Specifies whether to trigger automation rules while inserting this note into the CRM account. |
| CustomViewId | Long |
The custom view identifier used to filter this note record. Only works when the useCOQL parameter is set to false. |
Stores definitions of deal pipelines and their stages, enabling retrieval of all pipelines or a specific one for the Deals module.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM Pipeline WHERE Id = '228122000000223002' AND LayoutId = '228122000000000173' SELECT * FROM Pipeline WHERE LayoutId = '228122000000000173'
Insert Into Pipeline (LayoutId,DisplayValue,default,maps) VALUES ('4917206000000318488','Test_pipee11','true','[\n" +
" {\n" +
" \"display_value\": \"Qualification\",\n" +
" \"sequence_number\": \"2\",\n" +
" \"id\": \"4917206000000006801\"\n" +
" },\n" +
" {\n" +
" \"display_value\": \"Needs Analysis\",\n" +
" \"sequence_number\": \"1\",\n" +
" \"id\": \"4917206000000006803\"\n" +
" }\n" +
" ]')
Required fields: LayoutId, DisplayValue, Default and maps.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id and LayoutId in the WHERE clause when executing an update against this table.
UPDATE Pipeline Set DisplayValue = 'Pipeline_test12', default = 'false', maps = '[\n" +
" {\n" +
" \"display_value\": \"Qualification\",\n" +
" \"sequence_number\": \"2\",\n" +
" \"id\": \"4917206000000006801\"\n" +
" },\n" +
" {\n" +
" \"display_value\": \"Needs Analysis\",\n" +
" \"sequence_number\": \"1\",\n" +
" \"id\": \"4917206000000006803\"\n" +
" }\n" +
" ]' WHERE Id = '4917206000000357004' AND LayoutId = '4917206000000318488' ")
Required fields: Id,LayoutId.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
The users can use the TransferAndDeltePipeline stored procedure to delete the pipeline.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the pipeline profile. |
| DisplayValue | String | False |
Display name of the pipeline. |
| Default | Boolean | False |
Indicates whether this pipeline is the default selection. |
| ActualValue | String | False |
Internal or system-defined name of the pipeline. |
| Maps | String | False |
List of stages that a deal progresses through within the sales pipeline. |
| LayoutId [KEY] | String | False |
Unique identifier of the layout in the Deals module used to retrieve the pipeline details. |
Maintains price book records that apply custom price tiers to products; not available in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new price book with a name and set it to active
INSERT INTO PriceBooks (PriceBookName, Active) VALUES ('pricebook_2018', true)
Required fields: PriceBookName is required. This is the name of the price book and must be provided to create a new record.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a price book by its unique ID
DELETE FROM PriceBooks WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific price book using its ID
UPDATE PriceBooks SET Description = 'Changed from the API.' WHERE Id = '3152079000000488023'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the price book. |
| PriceBookOwner_Id | String | False |
Unique identifier for the owner of the price book. |
| PriceBookOwner_FirstName | String | True |
First name of the price book owner. |
| PriceBookOwner_LastName | String | True |
Last name of the price book owner. |
| PriceBookOwner_Email | String | True |
Email address of the price book owner. |
| PriceBookOwner_Name | String | True |
Full name of the price book owner. |
| CreatedBy_Id | String | False |
Unique identifier for the user who created the price book. |
| CreatedBy_FirstName | String | True |
First name of the user who created the price book. |
| CreatedBy_LastName | String | True |
Last name of the user who created the price book. |
| CreatedBy_Email | String | True |
Email address of the user who created the price book. |
| CreatedBy_Name | String | True |
Full name of the user who created the price book. |
| ModifiedBy_Id | String | False |
Unique identifier for the user who last modified the price book. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the price book. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the price book. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the price book. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the price book. |
| CreatedTime | Datetime | False |
Date and time when the price book was created. |
| ModifiedTime | Datetime | False |
Date and time when the price book was last modified. |
| PriceBookName | String | False |
Name of the price book. |
| Active | Bool | False |
Indicates whether the price book is active. |
| PricingModel | String | False |
The pricing model used in the price book. |
| Tag | String | False |
Tags associated with the price book. |
| PricingDetails | String | False |
Details of the pricing structure in the price book. |
| Description | String | False |
Description of the price book. |
| Locked | Bool | True |
Indicates whether the price book is locked from changes. |
| LastActivityTime | Datetime | False |
Date and time of the last activity related to this price book. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The field or fields used to check for duplicate records during an upsert. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Used to trigger rules when inserting a record into the CRM account. |
| CustomViewId | Long |
The custom view identifier used to filter this record. Works only when the useCOQL parameter is false. |
Contains product catalog entries, including SKU, category, price, and stock; unavailable in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new product and mark it as active
INSERT INTO Products (ProductName, ProductActive) VALUES ('C-3PO', true)
Required fields: ProductName is required. This is the name of the product and must be provided to create a new record.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a product by its unique ID
DELETE FROM Products WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific product using its ID
UPDATE Products SET Description = 'Changed from the API.' WHERE Id = '3152079000000487023'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the product. |
| ProductOwner_Id | String | False |
Unique identifier for the user who owns the product. |
| ProductOwner_FirstName | String | True |
First name of the product owner. |
| ProductOwner_LastName | String | True |
Last name of the product owner. |
| ProductOwner_Email | String | True |
Email address of the product owner. |
| ProductOwner_Name | String | True |
Full name of the product owner. |
| ProductName | String | False |
Name of the product. |
| ProductCode | String | False |
Code assigned to the product. |
| VendorName_Id | String | False |
Unique identifier of the vendor associated with the product. |
| VendorName_Name | String | True |
Name of the vendor associated with the product. |
| ProductActive | Bool | False |
Indicates whether the product is currently active. |
| Manufacturer | String | False |
Name of the manufacturer of the product. |
| ProductCategory | String | False |
Category to which the product belongs. |
| SalesStartDate | Date | False |
Date on which sales for this product began. |
| SalesEndDate | Date | False |
Date on which sales for this product ended or will end. |
| SupportStartDate | Date | False |
Date on which support for this product began. |
| SupportEndDate | Date | False |
Date on which support for this product ends or ended. |
| CreatedBy_Id | String | False |
Unique identifier for the user who created the product record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the product record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the product record. |
| CreatedBy_Email | String | True |
Email address of the user who created the product record. |
| CreatedBy_Name | String | True |
Full name of the user who created the product record. |
| ModifiedBy_Id | String | False |
Unique identifier for the user who last modified the product record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the product record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the product record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the product record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the product record. |
| CreatedTime | Datetime | False |
Date and time when the product record was created. |
| ModifiedTime | Datetime | False |
Date and time when the product record was last modified. |
| Tag | String | False |
Tag associated with the product. |
| UnitPrice | Decimal | False |
Unit price of the product. |
| CommissionRate | Decimal | False |
Commission rate applicable to the product. |
| Tax | String | False |
Tax details associated with the product. |
| Taxable | Bool | False |
Indicates whether the product is taxable. |
| UsageUnit | String | False |
Unit used to measure the product. |
| QtyOrdered | Double | False |
Total quantity of the product that has been ordered. |
| QuantityinStock | Double | False |
Current stock quantity available for the product. |
| ReorderLevel | Double | False |
Stock level at which a reorder is placed. |
| Handler_Id | String | False |
Unique identifier for the user handling the product. |
| Handler_Name | String | True |
Full name of the user handling the product. |
| QuantityinDemand | Double | False |
Quantity of the product currently in demand. |
| Description | String | False |
Description of the product. |
| ProductImage | String | False |
Image of the product. |
| Locked | Bool | True |
Indicates whether the product record is locked from editing. |
| LastActivityTime | Datetime | False |
Date and time of the last activity related to this product. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The field or fields used to check for duplicate records during an upsert. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Used to trigger rules when inserting a record into the CRM account. |
| CustomViewId | Long |
The custom view identifier used to filter this record. Works only when the useCOQL parameter is false. |
Stores purchase orders issued to vendors for inventory or services; not accessible in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation with line item details:
-- Insert a new purchase order with a subject and product line items
INSERT INTO PurchaseOrders (Subject, VendorName_Id, PurchaseItems) VALUES (
-- This is the value for the Subject column
'Purchase Order',
-- This is the value for the VendorName_Id column
'1021046000000513014',
-- This is the JSON string for PurchaseItems
'[
{
"Product_Name": {
"id": "1021046000000414457"
},
"Quantity": 1024,
"Discount": 99,
"Tax": 13,
"List_Price": 176.21,
"Description": "test description 1"
}
]'
)
Required fields for REST API: Subject and PurchaseItems are required. These provide the order summary and line item data needed to create a purchase order.
Required fields for BULK API: Subject, VendorName_Id and PurchaseItems are required. These provide the order summary, the vendor's identifier and line item data needed to create a purchase order.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
Please note that the REST API honors only the 'id' field of the 'Product_Name' aggregate in the PurchaseItems column. The BULK API does not accept any other field in this aggregate.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a purchase order by its unique ID
DELETE FROM PurchaseOrders WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific purchase order using its ID
UPDATE PurchaseOrders SET Description = 'Changed from the API.' WHERE Id = '3152079000000492001'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the purchase order. |
| RequisitionNumber | String | False |
Requisition number for the purchase order. |
| TrackingNumber | String | False |
Tracking number associated with the purchase order. |
| PONumber | String | False |
Purchase order number. |
| Subject | String | False |
Subject line of the purchase order. |
| VendorName_Id | String | False |
Unique identifier of the vendor. |
| VendorName_Name | String | True |
Name of the vendor. |
| ContactName_Id | String | False |
Unique identifier of the contact linked to the purchase order. |
| ContactName_Name | String | True |
Name of the contact linked to the purchase order. |
| PODate | Date | False |
Date the purchase order was created. |
| DueDate | Date | False |
Due date for the purchase order. |
| Carrier | String | False |
Shipping carrier for the purchase order. |
| ExciseDuty | Decimal | False |
Excise duty charged on the purchase order. |
| SalesCommission | Decimal | False |
Sales commission applied to the purchase order. |
| Status | String | False |
Current status of the purchase order. |
| PurchaseOrderOwner_Id | String | False |
Unique identifier of the purchase order owner. |
| PurchaseOrderOwner_FirstName | String | True |
First name of the purchase order owner. |
| PurchaseOrderOwner_LastName | String | True |
Last name of the purchase order owner. |
| PurchaseOrderOwner_Email | String | True |
Email address of the purchase order owner. |
| PurchaseOrderOwner_Name | String | True |
Full name of the purchase order owner. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the record. |
| CreatedBy_Email | String | True |
Email address of the user who created the record. |
| CreatedBy_Name | String | True |
Full name of the user who created the record. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the record. |
| CreatedTime | Datetime | False |
Timestamp when the record was created. |
| ModifiedTime | Datetime | False |
Timestamp when the record was last modified. |
| Tag | String | False |
Tags associated with the purchase order. |
| BillingStreet | String | False |
Billing street address. |
| ShippingStreet | String | False |
Shipping street address. |
| BillingCity | String | False |
Billing city. |
| ShippingCity | String | False |
Shipping city. |
| BillingState | String | False |
Billing state or region. |
| ShippingState | String | False |
Shipping state or region. |
| BillingCode | String | False |
Billing postal code. |
| ShippingCode | String | False |
Shipping postal code. |
| BillingCountry | String | False |
Billing country. |
| ShippingCountry | String | False |
Shipping country. |
| SubTotal | String | True |
Subtotal amount before discounts and taxes. |
| Discount | Decimal | False |
Discount amount applied to the purchase order. |
| Tax | Decimal | False |
Tax amount applied to the purchase order. |
| Adjustment | Decimal | False |
Any adjustment amount applied. |
| GrandTotal | String | True |
Final total amount of the purchase order after all calculations. |
| TermsandConditions | String | False |
Terms and conditions associated with the purchase order. |
| Description | String | False |
Additional description or notes for the purchase order. |
| PurchaseItems | String | False |
List of items included in the purchase order. |
| Locked | Bool | True |
Indicates whether the record is locked for editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity on the record. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields used to check for duplicate records during an upsert operation. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Used to trigger automation rules when inserting the record into the CRM account. |
| CustomViewId | Long |
Custom view identifier used to filter this record. Only works when the useCOQL parameter is set to false. |
Maintains quote records sent to customers with pricing, validity dates, and status; not available in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Quotes (Subject, AccountName_Id, QuotedItems) VALUES ('QuotedItems', '1021046000000427103', '[
{
"Product_Name": {
"id": "1021046000000414457"
},
"Quantity": 1024,
"Discount": 99,
"Tax": 13,
"List_Price": 176.21,
"Description": "test"
}
]');
Required fields for REST API: Subject, QuotedItems.
Required fields for BULK API: Subject, AccountName_Id, QuotedItems.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
Please note that the REST API honors only the 'id' field of the 'Product_Name' aggregate in the QuotedItems column. The BULK API does not accept any other field in this aggregate.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Quotes WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Quotes SET Description = 'Changed from the API.' WHERE Id = '3152079000000490009'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the quote record. |
| Team | String | False |
Name of the team associated with the quote. |
| QuoteNumber | String | True |
Reference number assigned to the quote. |
| Subject | String | False |
Subject line or title of the quote. |
| DealName_Id | String | False |
Unique identifier of the related deal. |
| DealName_Name | String | True |
Name of the related deal. |
| QuoteStage | String | False |
Current stage or status of the quote. |
| ValidUntil | Date | False |
Date until which the quote remains valid. |
| ContactName_Id | String | False |
Unique identifier of the contact associated with the quote. |
| ContactName_Name | String | True |
Name of the contact associated with the quote. |
| Carrier | String | False |
Shipping carrier for the quoted items. |
| AccountName_Id | String | False |
Unique identifier of the associated account. |
| AccountName_Name | String | True |
Name of the associated account. |
| QuoteOwner_Id | String | False |
Unique identifier of the user who owns the quote. |
| QuoteOwner_FirstName | String | True |
First name of the quote owner. |
| QuoteOwner_LastName | String | True |
Last name of the quote owner. |
| QuoteOwner_Email | String | True |
Email address of the quote owner. |
| QuoteOwner_Name | String | True |
Full name of the quote owner. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the quote. |
| CreatedBy_FirstName | String | True |
First name of the user who created the quote. |
| CreatedBy_LastName | String | True |
Last name of the user who created the quote. |
| CreatedBy_Email | String | True |
Email address of the user who created the quote. |
| CreatedBy_Name | String | True |
Full name of the user who created the quote. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the quote. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the quote. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the quote. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the quote. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the quote. |
| CreatedTime | Datetime | False |
Timestamp when the quote was created. |
| ModifiedTime | Datetime | False |
Timestamp when the quote was last modified. |
| Tag | String | False |
Tags or labels associated with the quote. |
| BillingStreet | String | False |
Street address for billing. |
| ShippingStreet | String | False |
Street address for shipping. |
| BillingCity | String | False |
City for billing address. |
| ShippingCity | String | False |
City for shipping address. |
| BillingState | String | False |
State or region for billing address. |
| ShippingState | String | False |
State or region for shipping address. |
| BillingCode | String | False |
Postal or zip code for billing address. |
| ShippingCode | String | False |
Postal or zip code for shipping address. |
| BillingCountry | String | False |
Country for billing address. |
| ShippingCountry | String | False |
Country for shipping address. |
| SubTotal | String | True |
Subtotal amount before discounts and taxes. |
| Discount | Decimal | False |
Discount amount applied to the quote. |
| Tax | Decimal | False |
Tax amount applied to the quote. |
| Adjustment | Decimal | False |
Adjustment amount added to or subtracted from the total. |
| GrandTotal | String | True |
Final total amount after all adjustments. |
| TermsandConditions | String | False |
Terms and conditions associated with the quote. |
| Description | String | False |
Description or notes related to the quote. |
| QuotedItems | String | False |
List of items included in the quote. |
| Locked | Bool | True |
Indicates whether the quote is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to the quote. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields used to check for duplicate records during an upsert operation. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Used to trigger automation rules when inserting the record into the CRM account. |
| CustomViewId | Long |
Custom view identifier used to filter this record. Only works when the useCOQL parameter is set to false. |
Tracks confirmed sales orders with shipment status, billing terms, and linked invoices; not available in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO SalesOrders (Subject, AccountName_Id, OrderedItems) VALUES ('Sales Order', '1021046000000427104', '[
{
"Product_Name": {
"id": "1021046000000414457"
},
"Quantity": 1024,
"Discount": 99,
"Tax": 13,
"List_Price": 176.21,
"Description": "test description 3"
}
]');
Required fields for REST API: Subject, OrderedItems.
Required fields for BULK API: Subject, AccountName_Id, OrderedItems.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
Please note that the REST API honors only the 'id' field of the 'Product_Name' aggregate in the OrderedItems column. The BULK API does not accept any other field in this aggregate.
Required fields: Subject, OrderedItems
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM SalesOrders WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE SalesOrders SET Description = 'Changed from the API.' WHERE Id = '3152079000000493027'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the sales order. |
| CustomerNo. | String | False |
Customer number associated with the sales order. |
| SONumber | String | True |
Sales order number. |
| Subject | String | False |
Subject line or title for the sales order. |
| DealName_Id | String | False |
Identifier of the related deal. |
| DealName_Name | String | True |
Name of the related deal. |
| PurchaseOrder | String | False |
Purchase order number associated with this sales order. |
| QuoteName_Id | String | False |
Identifier of the related quote. |
| QuoteName_Name | String | True |
Name of the related quote. |
| DueDate | Date | False |
Date by which the order is due. |
| Pending | String | False |
Indicates any pending items or actions for the sales order. |
| ContactName_Id | String | False |
Identifier of the associated contact. |
| ContactName_Name | String | True |
Name of the associated contact. |
| Carrier | String | False |
Shipping carrier for the order. |
| ExciseDuty | Decimal | False |
Amount of excise duty applied to the sales order. |
| SalesCommission | Decimal | False |
Sales commission for this order. |
| Status | String | False |
Current status of the sales order. |
| AccountName_Id | String | False |
Identifier of the associated account. |
| AccountName_Name | String | True |
Name of the associated account. |
| SalesOrderOwner_Id | String | False |
Identifier of the user who owns this sales order. |
| SalesOrderOwner_FirstName | String | True |
First name of the sales order owner. |
| SalesOrderOwner_LastName | String | True |
Last name of the sales order owner. |
| SalesOrderOwner_Email | String | True |
Email address of the sales order owner. |
| SalesOrderOwner_Name | String | True |
Full name of the sales order owner. |
| CreatedBy_Id | String | False |
Identifier of the user who created the sales order. |
| CreatedBy_FirstName | String | True |
First name of the creator. |
| CreatedBy_LastName | String | True |
Last name of the creator. |
| CreatedBy_Email | String | True |
Email address of the creator. |
| CreatedBy_Name | String | True |
Full name of the creator. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the sales order. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the record. |
| CreatedTime | Datetime | False |
Date and time the sales order was created. |
| ModifiedTime | Datetime | False |
Date and time the sales order was last modified. |
| Tag | String | False |
Tags associated with the sales order. |
| BillingStreet | String | False |
Street address for billing. |
| ShippingStreet | String | False |
Street address for shipping. |
| BillingCity | String | False |
City for billing. |
| ShippingCity | String | False |
City for shipping. |
| BillingState | String | False |
State or province for billing. |
| ShippingState | String | False |
State or province for shipping. |
| BillingCode | String | False |
Postal or ZIP code for billing. |
| ShippingCode | String | False |
Postal or ZIP code for shipping. |
| BillingCountry | String | False |
Country for billing. |
| ShippingCountry | String | False |
Country for shipping. |
| SubTotal | String | True |
Subtotal amount before any discounts, taxes, or adjustments. |
| Discount | Decimal | False |
Discount applied to the sales order. |
| Tax | Decimal | False |
Tax amount applied to the sales order. |
| Adjustment | Decimal | False |
Any adjustments made to the total amount. |
| GrandTotal | String | True |
Total amount after applying discount, tax, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions related to the sales order. |
| Description | String | False |
Additional description or notes for the sales order. |
| OrderedItems | String | False |
List of items included in the sales order. |
| Locked | Bool | True |
Indicates whether the sales order is locked from editing. |
| LastActivityTime | Datetime | False |
Date and time of the most recent activity on the sales order. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicates during an upsert. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Indicates whether to trigger automation rules during record insertion. |
| CustomViewId | Long |
Custom view identifier used to filter this record when the useCOQL parameter is set to false. |
Stores knowledge-base articles and troubleshooting guides used for resolving support cases.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with supported columns and operators. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic insert operation:
-- Insert a new solution with a title and initial status
INSERT INTO Solutions (SolutionTitle, Status) VALUES ('Converting from XML to JSON', 'Created')
Required fields: SolutionTitle is required. It provides the title of the solution being documented.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a solution by its unique ID
DELETE FROM Solutions WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the question field for a specific solution using its ID
UPDATE Solutions SET Question = 'Changed from the API.' WHERE Id = '3152079000000492018'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the solution. |
| SolutionNumber | String | False |
Number assigned to the solution. |
| SolutionOwner_Id | String | False |
Identifier of the user who owns the solution. |
| SolutionOwner_FirstName | String | True |
First name of the solution owner. |
| SolutionOwner_LastName | String | True |
Last name of the solution owner. |
| SolutionOwner_Email | String | True |
Email address of the solution owner. |
| SolutionOwner_Name | String | True |
Full name of the solution owner. |
| SolutionTitle | String | False |
Title or headline of the solution. |
| Published | Bool | False |
Indicates whether the solution has been published. |
| Status | String | False |
Current status of the solution. |
| ProductName_Id | String | False |
Identifier of the associated product. |
| ProductName_Name | String | True |
Name of the associated product. |
| No.ofcomments | Int | True |
Number of comments associated with the solution. |
| CreatedBy_Id | String | False |
Identifier of the user who created the solution. |
| CreatedBy_FirstName | String | True |
First name of the creator. |
| CreatedBy_LastName | String | True |
Last name of the creator. |
| CreatedBy_Email | String | True |
Email address of the creator. |
| CreatedBy_Name | String | True |
Full name of the creator. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the solution. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the record. |
| CreatedTime | Datetime | False |
Date and time the solution was created. |
| ModifiedTime | Datetime | False |
Date and time the solution was last modified. |
| Tag | String | False |
Tags associated with the solution. |
| Question | String | False |
Question or issue that the solution addresses. |
| Answer | String | False |
Answer or resolution provided by the solution. |
| AddComment | String | False |
Field for adding a new comment to the solution. |
| Comments | String | True |
List of comments associated with the solution. |
| Locked | Bool | True |
Indicates whether the solution is locked from editing. |
| LastActivityTime | Datetime | False |
Date and time of the most recent activity on the solution. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicates during an upsert. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Indicates whether to trigger automation rules during record insertion. |
| CustomViewId | Long |
Custom view identifier used to filter this record when the useCOQL parameter is set to false. |
Holds to-do items linked to records, with due dates, reminders, and priority levels.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Tasks(Subject, Status) VALUES ('Finish sending emails to potential leads.', 'Created')
INSERT INTO Tasks(Subject, Status, ModuleName) VALUES ('Finish sending emails to potential leads.', 'Created', 'Contacts')
INSERT INTO Tasks(Subject, Status, ModuleName, RelatedTo_Id) VALUES ('Finish sending emails to potential leads.', 'Created', 'Contacts', '2788704000120533263')
Required fields: Subject, ModuleName if RelatedTo_Id is specified.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Tasks WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Tasks SET Status = 'In progress' WHERE Id = '3152079000000492026'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the task. |
| TaskOwner_Id | String | False |
Identifier of the user who owns the task. |
| TaskOwner_FirstName | String | True |
First name of the task owner. |
| TaskOwner_LastName | String | True |
Last name of the task owner. |
| TaskOwner_Email | String | True |
Email address of the task owner. |
| TaskOwner_Name | String | True |
Full name of the task owner. |
| Subject | String | False |
Subject or title of the task. |
| DueDate | Date | False |
Due date by which the task should be completed. |
| ContactName_Id | String | False |
Identifier of the contact associated with the task. |
| ContactName_Name | String | True |
Name of the contact associated with the task. |
| RelatedTo_Id | String | False |
Identifier of the related record, such as a deal or account. |
| RelatedTo_Name | String | True |
Name of the related record, such as a deal or account. |
| Status | String | False |
Current status of the task, such as Not Started or Completed. |
| Priority | String | False |
Priority level of the task, such as High, Medium, or Low. |
| ClosedTime | Datetime | True |
Date and time when the task was marked as completed. |
| SendNotificationEmail | Bool | False |
Indicates whether an email notification is sent for the task. |
| Repeat_Id | String | False |
Identifier of the repeat schedule for the task, if applicable. |
| Repeat_Name | String | True |
Name of the repeat schedule for the task. |
| Reminder_Id | String | False |
Identifier of the reminder configuration for the task. |
| Reminder_Name | String | True |
Name of the reminder configuration for the task. |
| CreatedBy_Id | String | False |
Identifier of the user who created the task. |
| CreatedBy_FirstName | String | True |
First name of the user who created the task. |
| CreatedBy_LastName | String | True |
Last name of the user who created the task. |
| CreatedBy_Email | String | True |
Email address of the user who created the task. |
| CreatedBy_Name | String | True |
Full name of the user who created the task. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the task. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the task. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the task. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the task. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the task. |
| CreatedTime | Datetime | False |
Date and time when the task was created. |
| ModifiedTime | Datetime | False |
Date and time when the task was last modified. |
| Tag | String | False |
Tags associated with the task. |
| Description | String | False |
Detailed description of the task. |
| Locked | Bool | True |
Indicates whether the task is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity on the task. |
| ModuleName | String | False |
Name of the module this task belongs to. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to check for duplicates during an upsert operation. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Specifies whether automation rules are triggered when the task is inserted into the CRM account. |
| CustomViewId | Long |
Custom view identifier used to filter this record. Applicable only when the useCOQL parameter is set to false. |
Stores vendor contact information, used in purchase orders and inventory workflows.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new vendor with a name, email address, and website
INSERT INTO Vendors (VendorName, Email, Website) VALUES ('XYZVendor', '[email protected]', 'vendeverything.xyz')
Required fields: VendorName is required. This identifies the vendor record being created.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a vendor by its unique ID
DELETE FROM Vendors WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific vendor using its ID
UPDATE Vendors SET Description = 'Changed from the API' WHERE Id = '3152079000000492032'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
A unique identifier (Id) for the vendor. |
| VendorName | String | False |
The name of the vendor. |
| Phone | String | False |
The vendor's phone number. |
| String | False |
The vendor's email address. | |
| Website | String | False |
The vendor's website URL. |
| GLAccount | String | False |
The general ledger account associated with the vendor. |
| Category | String | False |
The category to which the vendor belongs. |
| VendorOwner_Id | String | False |
The Id of the user who owns the vendor record. |
| VendorOwner_FirstName | String | True |
The first name of the user who owns the vendor record. |
| VendorOwner_LastName | String | True |
The last name of the user who owns the vendor record. |
| VendorOwner_Email | String | True |
The email address of the user who owns the vendor record. |
| VendorOwner_Name | String | True |
The full name of the user who owns the vendor record. |
| CreatedBy_Id | String | False |
The Id of the user who created the vendor record. |
| CreatedBy_FirstName | String | True |
The first name of the user who created the vendor record. |
| CreatedBy_LastName | String | True |
The last name of the user who created the vendor record. |
| CreatedBy_Email | String | True |
The email address of the user who created the vendor record. |
| CreatedBy_Name | String | True |
The full name of the user who created the vendor record. |
| ModifiedBy_Id | String | False |
The Id of the user who last modified the vendor record. |
| ModifiedBy_FirstName | String | True |
The first name of the user who last modified the vendor record. |
| ModifiedBy_LastName | String | True |
The last name of the user who last modified the vendor record. |
| ModifiedBy_Email | String | True |
The email address of the user who last modified the vendor record. |
| ModifiedBy_Name | String | True |
The full name of the user who last modified the vendor record. |
| CreatedTime | Datetime | False |
The date and time when the vendor record was created. |
| ModifiedTime | Datetime | False |
The date and time when the vendor record was last modified. |
| Tag | String | False |
A tag or label associated with the vendor. |
| Street | String | False |
The street address of the vendor. |
| City | String | False |
The city where the vendor is located. |
| State | String | False |
The state where the vendor is located. |
| ZipCode | String | False |
The postal code where the vendor is located. |
| Country | String | False |
The country where the vendor is located. |
| Description | String | False |
A description or notes related to the vendor. |
| VendorImage | String | False |
The image or logo of the vendor. |
| Locked | Bool | True |
Indicates whether the vendor record is locked from editing. |
| EmailOptOut | Bool | False |
Indicates whether the vendor has opted out of email communications. |
| UnsubscribedMode | String | True |
The method by which the vendor unsubscribed. |
| UnsubscribedTime | Datetime | True |
The date and time when the vendor unsubscribed. |
| LastActivityTime | Datetime | False |
The date and time of the last activity related to the vendor. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The field or fields used to identify duplicate records during an upsert operation. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Used to trigger automation rules when a record is inserted into the CRM. |
| CustomViewId | Long |
The custom view Id used to filter this vendor record. Works only when the useCOQL parameter is set to false. |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
| Name | Description |
| ActionsPerformed | Returns a chronological log of actions taken on CRM records, including user edits, automation updates, and deletions. |
| AllowedFromAddresses | Lists the verified email addresses that users are permitted to set as the sender when sending emails from Zoho CRM. |
| CustomFieldHistoryTracking | Shows historical changes to selected custom fields, enabling audits of when and how values were modified. |
| DealHistory | Presents a timeline of key updates to each deal, such as stage changes, owner reassignments, and expected revenue edits. |
| EmailTemplateAttachments | Lists files attached to email templates so you can audit or replace collateral used in campaigns and workflows. |
| EmailTemplates | Retrieves metadata and HTML content of email templates available for automation or manual sends. |
| Fields | Returns field metadata for a module, including API name, data type, mandatory status, and pick-list values. |
| InvoicedItems | Displays each product or service line item that appears on customer invoices, along with quantities, rates, and taxes. |
| Layouts | Returns layout configurations such as sections, field order, and visibility rules, for record pages in a module. |
| ListFields | Lists fields configured for list views, indicating which columns appear and in what sequence. |
| ModuleAttachedFiles | Retrieves every file attached to records in a chosen module, useful for compliance or bulk-download tasks. |
| Modules | Lists all standard and custom modules enabled in your Zoho CRM account, with indicators for API availability and customization. |
| OrderedItems | Shows product line items that appear on sales orders or quotes, including quantity, unit price, and discount. |
| Organizations | Displays corporate profile details for your CRM tenant, such as company name, address, fiscal year settings, and default currency. |
| PriceBookPricingDetails | Returns product-specific pricing as defined in price books; restricted in free and standard editions. |
| Profiles | Lists user profiles with their permission sets and module-access privileges. |
| PurchaseItems | Provides product line items included on purchase orders, with cost, quantity, and vendor references. |
| QuotedItems | Displays itemized products on customer quotes, including quantity, list price, and tax. |
| RecordCount | Returns the total number of records in a specified module. Useful for audits or pagination. |
| Roles | Shows the role hierarchy and associated permissions for users in your organization. |
| StageHistories | Provides a history of stage transitions for each deal, including timestamps and the user who made the change. |
| Territories | Lists sales territories configured for regional or vertical segmentation, aiding record assignment and reporting. |
| Users | Returns user accounts along with email, role, profile, and active status. |
| Visits | Shows recent visit activity, such as website visits tracked via Zoho CRM's SalesIQ integration. |
Returns a chronological log of actions taken on CRM records, including user edits, automation updates, and deletions.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
Note : ActionsPerformed cannot be queried until it is enabled from the UI.
SELECT * FROM ActionsPerformed
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the performed action. |
| ActionType | String | Specifies the category or nature of the action performed. |
| Actions | String | Details of the specific actions taken. |
| TimeSpent | String | The amount of time spent performing the action. |
| ActionPerformedTime | Datetime | Date and time when the action was completed. |
| ParentID_Id | String | Identifier of the parent object associated with the performed action. |
| ParentID_Name | String | Name of the parent object associated with the performed action. |
| ChatAttachment_Id | String | Identifier of the chat attachment related to the action. |
| ChatAttachment_Name | String | Name of the chat attachment related to the action. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | Fields used to check for duplicate records during an upsert operation. |
| CustomViewId | Long | Identifier of the custom view used to filter this record. Applies when the useCOQL parameter is false. |
Lists the verified email addresses that users are permitted to set as the sender when sending emails from Zoho CRM.
Note : This view is available for API Version 2.1 and above.
The following queries are processed server side:
SELECT * FROM AllowedFromAddresses
| Name | Type | Description |
| Id | String | Unique identifier for the allowed sender address. |
| String | Email address from which emails can be sent. | |
| Type | String | Specifies the classification of the email address, such as user or organization. |
| UserName | String | Name of the user associated with the email address. |
| Default | Boolean | Indicates whether this email address is set as the default for sending. |
Shows historical changes to selected custom fields, enabling audits of when and how values were modified.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
All columns used in the criteria are required. Use FieldName to specify the actual name of the tracked custom field and HistoryName to specify the name of the history tracking section. If you want to retrieve data for a specific entity of a module specify EntityId in the criteria.
For example, the following query is processed server side:
SELECT * FROM [CustomFieldHistoryTracking] WHERE ModuleName = 'Leads' AND FieldName = 'pickListField' AND HistoryName = 'Pick List 1' SELECT * FROM [CustomFieldHistoryTracking] WHERE ModuleName = 'Leads' AND FieldName = 'pickListField' AND HistoryName = 'Pick List 1' AND EntityId = '12345665'
| Name | Type | Description |
| Id [KEY] | String | Unique numeric identifier for the history entry. |
| ModuleName | String | Name of the module this custom field history belongs to. |
| EntityId | String | Identifier for the specific module instance associated with the custom field history. |
| FieldName | String | Name of the custom field being tracked. |
| HistoryName | String | Label assigned to this historical tracking entry. |
| FieldValue | String | Value of the custom field at the time of the recorded change. |
| DurationDays | Integer | Number of days the value remained in this stage. |
| ModifiedAt | Datetime | Date and time when the field value was last updated. |
| ModifiedById | String | Identifier of the user who modified the field value. |
| ModifiedByName | String | Name of the user who modified the field value. |
| CurrencySymbol | String | Symbol of the currency used with the field value, if applicable. |
| ProcessFlow | Boolean | Indicates whether this historical value is part of a defined process flow. |
| Editable | Boolean | Indicates whether the historical value can be edited. |
| Approved | Boolean | Indicates whether the historical value has been approved. |
Presents a timeline of key updates to each deal, such as stage changes, owner reassignments, and expected revenue edits.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the deal history entry. |
| DealName_Id | String | Identifier of the deal associated with this history entry. |
| DealName_Name | String | Name of the deal associated with this history entry. |
| Stage | String | Name of the deal stage recorded in this history entry. |
| StageDuration(CalendarDays) | Int | Total number of calendar days the deal remained in this stage. |
| ModifiedBy_Id | String | Identifier of the user who made the modification. |
| ModifiedBy_Name | String | Name of the user who made the modification. |
| ModifiedTime | Datetime | Date and time when the modification was made. |
| Amount | Decimal | Amount value associated with the deal at this stage. |
| Probability(%) | Int | Probability percentage of successfully closing the deal at this stage. |
| ExpectedRevenue | Decimal | Expected revenue based on the deal's amount and probability. |
| ClosingDate | Date | Expected closing date for the deal at this stage. |
| LastActivityTime | Datetime | Timestamp of the most recent activity related to the deal. |
| MovedTo | String | Name of the stage the deal was moved to after this entry. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | Fields used to check for duplicate records during an upsert operation. |
| CustomViewId | Long | Custom view identifier used for filtering this record. Works when the useCOQL parameter is set to false. |
| Trigger | String | Flag used to trigger rules when inserting the record into the CRM account. |
Lists files attached to email templates so you can audit or replace collateral used in campaigns and workflows.
Note : This view is available for API Version 2.1 and above.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM EmailTemplateAttachments SELECT * FROM EmailTemplateAttachments where EmailTemplateId = '721000000' SELECT * FROM EmailTemplateAttachments where ModuleName='Accounts'
| Name | Type | Description |
| Id [KEY] | String | The unique identifier of the attachment. |
| EmailTemplateId | String | The unique identifier of the associated email template. |
| FileId | String | The unique identifier of the attached file. |
| FileName | String | The name of the attached file. |
| Size | String | The size of the attached file. |
| ModuleName | String | The name of the module that determines which fields the user wants to retrieve. |
Retrieves metadata and HTML content of email templates available for automation or manual sends.
Note : This view is available for API Version 2.1 and above.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM EmailTemplates SELECT * FROM EmailTemplates where id = '721000000' SELECT * FROM EmailTemplates where ModuleApiName='Accounts'
| Name | Type | Description |
| Id [KEY] | String | The unique identifier of the email template. |
| Associated | Boolean | Indicates whether the email template is associated with any module. |
| Attachments | String | The attachments included in the email template. |
| Category | String | The type or classification of the email template.
The allowed values are custom_templates, system_templates, plugin_templates, marketplace_templates. |
| ConsentLinked | Boolean | Indicates whether a consent form is linked to the email template. |
| CreatedById | String | The unique identifier of the user who created the email template. |
| CreatedByName | String | The name of the user who created the email template. |
| CreatedTime | Datetime | The date and time when the email template was created. |
| EditorMode | String | The editor mode used to create the email template.
The allowed values are gallery, rich_text, plain_text. |
| Favorite | Boolean | Indicates whether the email template is marked as a favorite. |
| FolderId | String | The unique identifier of the folder containing the email template. |
| FolderName | String | The name of the folder containing the email template. |
| LastUsageTime | Datetime | The date and time when the email template was last used. |
| Layout | String | The identifier of the layout associated with the email template. |
| ModifiedById | String | The unique identifier of the user who last modified the email template. |
| ModifiedByName | String | The name of the user who last modified the email template. |
| ModifiedTime | Datetime | The date and time when the email template was last modified. |
| ModuleApiName | String | The API name of the module associated with the email template. |
| ModuleId | String | The unique identifier of the module associated with the email template. |
| Name | String | The name of the email template. |
| Subject | String | The subject line defined for the email template. |
Returns field metadata for a module, including API name, data type, mandatory status, and pick-list values.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM Fields WHERE ModuleName = 'Deals'
| Name | Type | Description |
| DisplayValue | String | The display name of the field as shown in the user interface. |
| ActualValue | String | The internal or system-defined name of the field. |
| Id | String | The unique identifier of the field. |
| ModuleName | String | The name of the module from which the user wants to retrieve fields. |
Displays each product or service line item that appears on customer invoices, along with quantities, rates, and taxes.
The InvoicedItems view is only accessible when connected to a ZohoCRM Enterprise Edition account. If using a different edition, this view may not be available.
Note: This view is not available in the v2 schema.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic query processed server-side:
-- Query a specific invoiced item by its unique ID
SELECT * FROM InvoicedItems WHERE Id = '3152079000000301143'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the invoiced item. |
| S.NO | Long | The serial number representing the order of the invoiced item. |
| CreatedTime | Datetime | The date and time when the invoiced item was created. |
| ParentID_Id | String | Unique identifier of the invoice this item is associated with. |
| ParentID_Name | String | Name of the invoice this item is associated with. |
| ProductName_Id | String | Unique identifier of the product being invoiced. |
| ProductName_Name | String | Name of the product being invoiced. |
| PriceBook_Id | String | Unique identifier of the price book associated with the item. |
| PriceBook_Name | String | Name of the price book associated with the item. |
| Description | String | Description of the invoiced item. |
| Quantity | String | Quantity of the product included in the invoice. |
| ListPrice | Decimal | The list price of the product before discounts. |
| Amount | String | The total amount before applying any discount. |
| Discount | Decimal | The discount applied to the item. |
| TotalAfterDiscount | String | The total amount after applying the discount. |
| Tax | Decimal | The tax amount applied to the item. |
| Total | String | The final total amount after applying discount and tax. |
| TaxbyPercentage | String | The tax applied to the item as a percentage. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | The field or fields used for checking duplicate records during upsert operations. |
| CustomViewId | Long | The custom view identifier used to filter this record. Works when the useCOQL parameter is set to false. |
| Trigger | String | Triggers the rule when inserting the record into the CRM account. |
Returns layout configurations such as sections, field order, and visibility rules, for record pages in a module.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM Layouts WHERE ModuleName = 'Deals'
| Name | Type | Description |
| Id | String | Unique identifier for the layout. |
| Name | String | Name of the layout. |
| Type | String | Indicates whether the section is used in the layout. |
| ModuleName | String | Name of the module for which the layout is requested. |
Lists fields configured for list views, indicating which columns appear and in what sequence.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM ListFields WHERE ModuleName = 'Deals'
| Name | Type | Description |
| ApiName | String | The name of the field used in the API. |
| AssociationDetails | String | Details about the field's association with other modules or entities. |
| BlueprintSupported | Boolean | Indicates whether this field is supported in Blueprint. |
| BusinesscardSupported | Boolean | Indicates whether this field is available in the business card view. |
| ConvertMappingAccounts | String | Mapping information when converting to an account. |
| ConvertMappingContacts | String | Mapping information when converting to a contact. |
| ConvertMappingDeals | String | Mapping information when converting to a deal. |
| CreatedSource | String | Indicates how or where the field was created. |
| Crypt | String | Encryption-related settings for the field. |
| CurrencyPrecision | Integer | Specifies the number of decimal places for currency values in this field. |
| CurrencyRoundingOption | String | Rounding option used for currency values in this field. |
| CustomField | Boolean | Indicates whether this field is a custom field. |
| DataType | String | The data type of the field, such as string, integer, or boolean. |
| DecimalPlace | Integer | Number of decimal places used for numeric values in the field. |
| DisplayField | Boolean | Indicates whether this field is used as a display field. |
| DisplayLabel | String | The label shown to users in the user interface. |
| DisplayType | Integer | Defines the display type setting of the field. |
| External | String | Details about external data linkage if the field is synced with an external system. |
| FieldLabel | String | The name of the field shown in the user interface. |
| FieldReadOnly | Boolean | Indicates whether the field is read-only. |
| Filterable | Boolean | Indicates whether the field can be used in filters. |
| HistoryTracking | String | Indicates whether historical changes to this field are tracked. |
| Id | String | The unique identifier for the field. |
| JsonType | String | Specifies the JSON data type used for the field when handling API responses. |
| Length | Integer | The maximum length allowed for the field value. |
| MassUpdate | Boolean | Indicates whether this field can be updated in bulk operations. |
| PickListValues | String | Comma-separated list of allowed values for picklist fields. |
| PickListValuesSortedLexically | Boolean | Indicates whether the picklist values are sorted alphabetically. |
| Profiles | String | List of user profiles that have access to this field. |
| QuickSequenceNumber | String | Sequence number used for quick field rendering. |
| ReadOnly | Boolean | Indicates whether the field is read-only for users. |
| Sortable | Boolean | Indicates whether the field is sortable in list views. |
| Subform | String | Name of the subform this field belongs to, if applicable. |
| SystemMandatory | Boolean | Indicates whether the field is required by the system. |
| Tooltip | String | Text shown to help users understand the purpose of the field. |
| Type | String | The field type, such as text, number, or date. |
| UiType | Integer | Defines the user interface rendering type of the field. |
| ViewTypeCreate | Boolean | Indicates whether the field is shown during record creation. |
| ViewTypeEdit | Boolean | Indicates whether the field is shown during record editing. |
| ViewTypeQuickCreate | Boolean | Indicates whether the field is available in quick create forms. |
| ViewTypeView | Boolean | Indicates whether the field is shown in record detail views. |
| Visible | Boolean | Indicates whether the field is visible to users. |
| Webhook | Boolean | Indicates whether the field can trigger a webhook. |
| ModuleName | String | The name of the module containing the field. |
Retrieves every file attached to records in a chosen module, useful for compliance or bulk-download tasks.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM ModuleAttachedFiles WHERE ModuleName = "Leads"
Note: The UploadFile and DownloadFile stored procedures will not work as expected if executed in regards to a custom field. They only upload or download files in the "Attachments" section of the module. Uploading and deleting files from a custom field of type "fileupload" can be done only through the UI.
| Name | Type | Description |
| FileId | String | Unique identifier of the file attached to the module. |
| FileName | String | The name of the file attached to the module. |
| AttachmentId [KEY] | String | Unique identifier of the attachment. |
| CreatorId | String | Unique identifier of the user who uploaded the attachment. |
| EntityId | String | Unique identifier of the record to which the file is attached. |
| DownloadUrl | String | URL to download the file attachment. |
| PreviewUrl | String | URL to preview the file attachment. |
| FileSize | String | The size of the file attachment. |
| FileExtension | String | The type of file extension. |
| ModuleName | String | Name of the module where the file is attached. |
Lists all standard and custom modules enabled in your Zoho CRM account, with indicators for API availability and customization.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM Modules
| Name | Type | Description |
| Id | String | Unique identifier (Id) of the module. |
| Name | String | The name of the module the user wants to access. |
| SequenceNumber | Integer | The position of the module in the sequence. |
| ApiName | String | The API name of the module. |
| GlobalSearchSupported | Boolean | Indicates whether the module supports global search. |
| Deletable | Boolean | Indicates whether records in this module can be deleted by the user. |
| Description | String | The description of the module, if provided. |
| Creatable | Boolean | Indicates whether users can create records in this module. |
| InventoryTemplateSupported | Boolean | Indicates whether the module supports inventory templates. Applies to modules such as Quotes, Invoices, Purchase Orders, and Sales Orders. |
| ModifiedDateTime | Datetime | The date and time when the module properties were last modified. |
| PluralLabel | String | The plural form of the module name (for example, Leads). |
| SingularLabel | String | The singular form of the module name (for example, Lead). |
| PresenceSubMenu | Boolean | Indicates whether the module appears as a submenu (for example, Tasks within Activities). |
| TriggersSupported | Boolean | Indicates whether the module supports triggers such as those from workflows, custom buttons, or approvals. |
| Visibility | Integer | Indicates whether the module is visible within the organization. Value of 1 means visible; 2 means hidden; larger numbers represent a combination of hidden feature flags. |
| Convertable | Boolean | Indicates whether records in this module can be converted into another type (for example, converting a lead into a deal). |
| Editable | Boolean | Indicates whether records in this module can be edited. |
| EmailTemplateSupport | Boolean | Indicates whether the module supports the use of email templates. |
| FilterSupported | Boolean | Indicates whether the module supports both custom and system-defined filters in views. |
| ShowAsTab | Boolean | Indicates whether the module is displayed as a tab in the CRM interface. |
| Viewable | Boolean | Indicates whether users can view records in this module. |
| ApiSupported | Boolean | Indicates whether this module is accessible through the API. |
| QuickCreate | Boolean | Indicates whether the module supports the quick create feature. |
| ModifiedByName | String | Name of the user who last modified the module's properties. |
| ModifiedById | String | Id of the user who last modified the module's properties. |
| GeneratedType | String | Specifies how the module was generated or created. |
| FeedsRequired | Boolean | Indicates whether feeds are enabled for this module. |
| ScoringSupported | Boolean | Indicates whether records in this module are eligible for the scoring process. |
| WebformSupported | Boolean | Indicates whether records in this module can be created using web forms. |
| BusinessCardFieldLimit | Integer | Specifies the maximum number of fields allowed in the business card view for the module. |
| ParentModuleApiName | String | The API name of the parent module, if present (for example, Activities is the parent of Tasks, Calls, and Events). |
| ParentModuleId | String | The Id of the parent module, if applicable. |
| WebLink | String | The web link associated with the module, if provided (for example, https://extensions.zoho.com/plugin/facebook). |
| IsBlueprintSupported | Boolean | Indicates whether blueprint features are supported in the module. |
Shows product line items that appear on sales orders or quotes, including quantity, unit price, and discount.
The OrderedItems view is only accessible when connected to a ZohoCRM Enterprise Edition account. If using a different edition, this view may not be available.
Note: This view is not available in the v2 schema.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic query processed server-side:
-- Query a specific ordered item by its unique ID
SELECT * FROM OrderedItems WHERE Id = '3152079000000301143'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier of the ordered item record. |
| S.NO | Long | The serial number of the item in the order list. |
| CreatedTime | Datetime | Date and time when the ordered item record was created. |
| ParentID_Id | String | Identifier of the parent record associated with the order. |
| ParentID_Name | String | Name of the parent record associated with the order. |
| ProductName_Id | String | Identifier of the product included in the order. |
| ProductName_Name | String | Name of the product included in the order. |
| PriceBook_Id | String | Identifier of the price book associated with the product. |
| PriceBook_Name | String | Name of the price book associated with the product. |
| Description | String | Detailed description of the ordered item. |
| Quantity | String | Quantity of the product ordered. |
| ListPrice | Decimal | The listed price of the product before discounts or adjustments. |
| Amount | String | The amount calculated for the item based on price and quantity. |
| Discount | Decimal | The discount applied to the ordered item. |
| TotalAfterDiscount | String | The total amount after the discount has been applied. |
| Tax | Decimal | The tax amount applied to the ordered item. |
| Total | String | Final total amount for the item including tax and discount. |
| TaxbyPercentage | String | Tax percentage applied to calculate the tax for the item. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | The fields to be used for checking duplicate records during upsert operations. |
| CustomViewId | Long | The custom view identifier used to filter this record. Only works when the useCOQL parameter is set to false. |
| Trigger | String | Specifies whether to trigger automation rules while inserting this record into the CRM account. |
Displays corporate profile details for your CRM tenant, such as company name, address, fiscal year settings, and default currency.
The Cloud processes filters client-side within the Cloud.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the organization. |
| CompanyName | String | Name of the company associated with the organization. |
| PrimaryEmail | String | Primary email address of the organization. |
| Phone | String | Main contact phone number for the organization. |
| Mobile | String | Mobile contact number for the organization. |
| IsoCode | String | International Standard Code (ISO) assigned to the organization. |
| Description | String | Descriptive information about the organization. |
| Country | String | Country where the organization is located. |
| City | String | City where the organization is located. |
| State | String | State or province where the organization is located. |
| Street | String | Street address of the organization. |
| Zip | String | Postal code for the organization's location. |
| CountryCode | String | International dialing code of the organization's country. |
| Alias | String | Alternative or short name for the organization. |
| Fax | String | Fax number of the organization. |
| EmployeeCount | Int | Total number of employees in the organization. |
| Website | String | Official website URL of the organization. |
| CurrencySymbol | String | Default symbol used for the organization's currency. |
| CurrencyLocale | String | Locale settings for the organization's default currency. |
| PrimaryZuid | String | Primary Zoho User ID (ZUID) for the organization. |
| TimeZone | String | Time zone in which the organization operates. |
| Zgid | String | Zoho Group ID (ZGID) associated with the organization. |
| MCStatus | Boolean | Indicates whether the organization has multi-currency status enabled. |
| GappsEnabled | Boolean | Indicates whether Google Apps integration is enabled for the organization. |
| LicenseDetailsPaidExpiry | Datetime | Expiration date and time of the organization's paid subscription. |
| LicenseDetailsTrialType | String | Type of trial subscription currently active for the organization. |
| LicenseDetailsTrialExpiry | Datetime | Expiration date and time of the organization's trial subscription. |
| LicenseDetailsPaid | Boolean | Indicates whether the organization is on a paid subscription plan. |
| LicenseDetailsPaidType | String | Type of paid subscription held by the organization. |
| LicenseDetailsUsersLicensePurchased | Integer | Number of user licenses purchased by the organization. |
| PhotoId | String | Unique identifier of the organization's photo file. |
| DomainName | String | Domain name associated with the organization, such as org694902300. |
| TranslationEnabled | Boolean | Indicates whether translation features are enabled for the organization. |
| Currency | String | Specifies the home or base currency used by the organization. |
| ZiaPortalId | String | Identifier of the Zia portal configured for the organization, if available. |
| PrivacySettings | String | Indicates whether privacy settings are configured for the organization. |
| HipaaComplianceEnabled | Boolean | Indicates whether HIPAA compliance features are enabled for the organization. |
Returns product-specific pricing as defined in price books; restricted in free and standard editions.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM PriceBookPricingDetails WHERE PriceBookId = '3152079000000317001'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the pricing detail. |
| PriceBookId [KEY] | String | Unique identifier for the price book associated with this pricing detail. |
| Discount | Double | The discount amount to be applied for this pricing detail. |
| FromRange | Double | The minimum value from which the discount begins to apply. |
| ToRange | Double | The maximum value up to which the discount applies. |
Lists user profiles with their permission sets and module-access privileges.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Profiles WHERE Id = '3152079000000026011'
| Name | Type | Description |
| Id [KEY] | String | Unique numeric identifier for the profile. |
| Name | String | Name assigned to the profile. |
| Description [KEY] | String | Brief description of the profile. |
| CreatedByName | String | Name of the user who created the profile. |
| CreatedById | String | Unique identifier of the user who created the profile. |
| CreatedAt | Datetime | Date and time when the profile was created. |
| ModifiedByName | String | Name of the user who last modified the profile. |
| ModifiedById | String | Unique identifier of the user who last modified the profile. |
| ModifiedAt | Datetime | Date and time when the profile was last modified. |
| Category | Boolean | Indicates whether this profile is a category. |
| DisplayLabel | String | The display label of the profile. |
Provides product line items included on purchase orders, with cost, quantity, and vendor references.
The PurchaseItems view is only accessible when connected to a ZohoCRM Enterprise Edition account. If using a different edition, this view may not be available.
Note: This view is not available in the v2 schema.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic query processed server-side:
-- Query a specific purchase item by its unique ID
SELECT * FROM PurchaseItems WHERE Id = '3152079000000301143'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the purchase item. |
| S.NO | Long | Serial number of the item in the list. |
| CreatedTime | Datetime | Date and time when the purchase item record was created. |
| ParentID_Id | String | Unique identifier of the parent record associated with the purchase item. |
| ParentID_Name | String | Name of the parent record associated with the purchase item. |
| ProductName_Id | String | Unique identifier of the product linked to this item. |
| ProductName_Name | String | Name of the product linked to this item. |
| PriceBook_Id | String | Unique identifier of the price book used for this item. |
| PriceBook_Name | String | Name of the price book used for this item. |
| Description | String | Description of the purchase item. |
| Quantity | String | Quantity of the item purchased. |
| ListPrice | Decimal | Listed price of a single unit of the item. |
| Amount | String | Total amount for the item before discounts and taxes. |
| Discount | Decimal | Discount applied to the item. |
| TotalAfterDiscount | String | Total amount after applying the discount. |
| Tax | Decimal | Tax amount applicable to the item. |
| Total | String | Final total amount for the item including discounts and tax. |
| TaxbyPercentage | String | Tax value represented as a percentage. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | The fields used to check for duplicate records during an upsert operation. |
| CustomViewId | Long | The custom view identifier used to filter this record. Only works when the useCOQL parameter is set to false. |
| Trigger | String | Used to trigger automation rules when inserting the record into the CRM account. |
Displays itemized products on customer quotes, including quantity, list price, and tax.
The QuotedItems view is only accessible when connected to a ZohoCRM Enterprise Edition account. If using a different edition, this view may not be available.
Note: This view is not available in the v2 schema.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic query processed server-side:
-- Query a specific quoted item by its unique ID
SELECT * FROM QuotedItems WHERE Id = '3152079000000301143'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier of the quoted item record. |
| S.NO | Long | Serial number of the quoted item. |
| CreatedTime | Datetime | Timestamp when the quoted item record was created. |
| ParentID_Id | String | Unique identifier of the parent quote. |
| ParentID_Name | String | Name of the parent quote. |
| ProductName_Id | String | Unique identifier of the quoted product. |
| ProductName_Name | String | Name of the quoted product. |
| PriceBook_Id | String | Unique identifier of the price book linked to the quoted product. |
| PriceBook_Name | String | Name of the price book linked to the quoted product. |
| Description | String | Description of the quoted item. |
| Quantity | String | Quantity of the product being quoted. |
| ListPrice | Decimal | List price of the product being quoted. |
| Amount | String | Total amount before discounts and taxes. |
| Discount | Decimal | Discount applied to the quoted item. |
| TotalAfterDiscount | String | Total amount after applying the discount. |
| Tax | Decimal | Tax applied to the quoted item. |
| Total | String | Total amount including tax. |
| TaxbyPercentage | String | Tax applied to the quoted item, expressed as a percentage. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | The fields used to check for duplicate records during an upsert operation. |
| CustomViewId | Long | Custom view identifier used to filter this record. Only works when the useCOQL parameter is set to false. |
| Trigger | String | Used to trigger automation rules when inserting the record into the CRM account. |
Returns the total number of records in a specified module. Useful for audits or pagination.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The module is a mandatory filter for the Cloud.
Note: It works only with ApiVersion=2.1.
For example, the following queries are processed server-side:
SELECT * FROM RecordCount WHERE ModuleName = 'Leads'
SELECT * FROM RecordCount WHERE ModuleName IN ('Leads','Invoices')
| Name | Type | Description |
| Count [KEY] | Integer | Total number of records available in the specified module. |
| ModuleName | String | Name of the module for which the user wants to retrieve the record count. |
Shows the role hierarchy and associated permissions for users in your organization.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Roles WHERE Id = '3152079000000026008'
| Name | Type | Description |
| Id [KEY] | String | Unique numeric identifier for the role. |
| Name | String | Name of the role. |
| DisplayLabel [KEY] | String | Display name of the role as shown in the user interface. |
| ReportingToName | String | Name of the role that this role reports to. |
| ReportingToId | String | Identifier of the role that this role reports to. |
| AdminUser | Boolean | Indicates whether this role has administrative privileges. |
| ForecastManagerName | String | Name of the forecast manager assigned to this role. |
| ForecastManagerId | String | Identifier of the forecast manager assigned to this role. |
| ShareWithPeers | Boolean | Indicates whether users with this role can share records with their peers. |
| Description | String | Description of the role, if available. |
Provides a history of stage transitions for each deal, including timestamps and the user who made the change.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the stage history entry. |
| DealId | String | Unique identifier for the deal associated with this stage. |
| Stage | String | Name of the stage within the deal pipeline. |
| Amount | Decimal | Monetary amount associated with the stage. |
| DurationDays | Integer | Number of days the deal remained in this stage. |
| ExpectedRevenue | Decimal | Estimated revenue expected from this stage. |
| Probability | Decimal | Probability percentage assigned to the deal at this stage. |
| CloseDate | Date | Expected closing date for the deal at this stage. |
| LastModifiedTime | Datetime | Date and time when this stage history entry was last updated. |
| ModifiedById | String | Identifier of the user who last modified this stage entry. |
| ModifiedByName | String | Name of the user who last modified this stage entry. |
Lists sales territories configured for regional or vertical segmentation, aiding record assignment and reporting.
All the filters are executed at client side within the Cloud.
SELECT * from Territories;
| Name | Type | Description |
| Id [KEY] | String | Unique identifier of the territory. |
| Name | String | Name of the territory. |
| ParentId | String | Unique identifier of the parent territory, if applicable. |
| Criteria | String | Conditions or filters used to define the territory's scope. |
| Managername | String | Name of the manager assigned to the territory. |
| Managerid | String | Identifier of the manager assigned to the territory. |
| CreatedByName | String | Name of the user who created the territory. |
| CreatedById | String | Identifier of the user who created the territory. |
| ModifiedByName | String | Name of the user who last modified the territory. |
| ModifiedByid | String | Identifier of the user who last modified the territory. |
| CreatedAt | Datetime | Date and time when the territory was created. |
| ModifiedAt | Datetime | Date and time when the territory was last modified. |
| Desription | String | Description of the territory, if provided. |
Returns user accounts along with email, role, profile, and active status.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Users WHERE Id = '3152079000000150015'
| Name | Type | Description |
| Id [KEY] | String | A unique identifier (Id) for the user. |
| FirstName | String | The user's first name. |
| LastName | String | The user's last name. |
| FullName | String | The user's full name. |
| String | The user's email address. | |
| RoleName | String | The name of the role assigned to the user. |
| RoleId | String | The Id of the role assigned to the user. |
| ProfileName | String | The name of the profile assigned to the user. |
| ProfileId | String | The Id of the profile assigned to the user. |
| Country | String | The country where the user is located. |
| City | String | The city where the user is located. |
| Street | String | The street address where the user is located. |
| State | String | The state where the user is located. |
| Zip | String | The postal code where the user is located. |
| Alias | String | The user's alias. |
| Signature | String | The user's email signature. |
| NameFormat | String | The format used for displaying the user's name. |
| PersonalAccount | Boolean | Indicates whether the user has a personal account. |
| DefaultTabGroup | String | The user's default tab group setting. |
| CountryLocale | String | The user's default country locale. |
| Fax | String | The user's fax number. |
| Website | String | The user's website. |
| Mobile | String | The user's mobile phone number. |
| Phone | String | The user's landline phone number. |
| Dob | String | The user's date of birth. |
| Status | String | The current status of the user. |
| Confirm | Boolean | Indicates whether the user's email address has been confirmed. |
| Language | String | The user's preferred language. |
| Locale | String | The user's locale setting. |
| TimeFormat | String | The user's preferred time format. |
| DateFormat | String | The user's preferred date format. |
| DecimalSeparator | String | The character used as the decimal separator in the user's locale. |
| TimeZone | String | The user's configured time zone. |
| Zuid | String | The user's Zoho User ID (ZUID). |
| Territories | String | A comma-separated list of territories assigned to the user. |
| CreatedByName | String | The name of the user who created this user account. |
| CreatedById | String | The Id of the user who created this user account. |
| CreatedAt | Datetime | The date and time when this user account was created. |
| ModifiedByName | String | The name of the user who last modified this user account. |
| ModifiedById | String | The Id of the user who last modified this user account. |
| ModifiedAt | Datetime | The date and time when this user account was last modified. |
| CustomizeInfoNotesDesc | String | Information related to customized notes. |
| CustomizeInfoShowRightPanel | Boolean | Indicates whether the right panel is shown for this user. |
| CustomizeInfoShowLeftPanel | Boolean | Indicates whether the left panel is shown for this user. |
| CustomizeInfoBcView | String | The breadcrumb view setting for the user. |
| CustomizeInfoShowHome | Boolean | Indicates whether the home tab is shown for this user. |
| CustomizeInfoShowDetailView | Boolean | Indicates whether the detail view is enabled for this user. |
| CustomizeInfoUnpinRecentItem | String | The setting for unpinning recent items. |
| Microsoft | Boolean | Indicates whether the user is linked to a Microsoft account. |
| ThemeBackground | String | The background setting for the user's theme. |
| ThemeNewBackground | String | The updated background setting for the user's theme. |
| ThemeNormalTabBackground | String | The background color for normal tabs. |
| ThemeNormalTabFontColor | String | The font color used for normal tabs. |
| ThemeScreen | String | The screen setting for the theme. |
| ThemeSelectedTabBackground | String | The background color for selected tabs. |
| ThemeSelectedTabFontColor | String | Represents the font color used for the selected tab in the user's chosen theme. |
| ThemeType | String | The type of theme applied to the user's interface. |
| ReportingToName | String | The name of the user this user reports to. |
| ReportingToId | String | The Id of the user this user reports to. |
| Offset | Integer | The pagination offset used when retrieving user records. |
| SandboxDeveloper | Boolean | Indicates whether the user is a sandbox developer. |
| Category | String | The category of the user account. |
| SortOrderPreference | String | The user's sort order preference for lists. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| Type | String | Restricts the returned users to those matching the specified type.
The allowed values are AllUsers, ActiveUsers, DeactiveUsers, ConfirmedUsers, NotConfirmedUsers, DeletedUsers, ActiveConfirmedUsers, AdminUsers, ActiveConfirmedAdmins, CurrentUser. |
Shows recent visit activity, such as website visits tracked via Zoho CRM's SalesIQ integration.
| Name | Type | Description |
| Id [KEY] | String | A unique identifier (Id) for the visit. |
| PageVisited | String | The name of the page that was visited. |
| VisitedBy_Id | String | The Id of the visitor who made the visit. |
| VisitedBy_FirstName | String | The first name of the visitor who made the visit. |
| VisitedBy_LastName | String | The last name of the visitor who made the visit. |
| IPAddress | String | The IP address from which the visit originated. |
| TimeSpent(Minutes) | String | The total time spent on the visit, measured in minutes. |
| Referrer | String | The URL of the website that referred the visitor. |
| VisitedPageURL | String | The URL of the page that was visited. |
| CreatedBy_Id | String | The Id of the user or system that recorded the visit. |
| ModifiedBy_Id | String | The Id of the user or system that last modified the visit record. |
| ModifiedBy_FirstName | String | The first name of the user who last modified the visit record. |
| ModifiedBy_LastName | String | The last name of the user who last modified the visit record. |
| CreatedTime | Datetime | The date and time when the visit record was created. |
| ModifiedTime | Datetime | The date and time when the visit record was last modified. |
| AttendedBy | String | The name of the user who attended the visit. |
| UserDetails | String | Details about the user associated with the visit. |
| Browser | String | The browser used during the visit. |
| TimeVisited | Datetime | The date and time when the visit occurred. |
| VisitorType | String | The type of visitor, such as new or returning. |
| Revenue | Decimal | The revenue generated from this visit. |
| NumberofPages | Int | The total number of pages visited during the session. |
| PortalName | String | The name of the portal through which the visit was made. |
| SearchKeyword | String | The search keyword that led to the visit. |
| SearchEngine | String | The search engine used to find the visited page. |
| OperatingSystem | String | The operating system used by the visitor. |
| Gclid | String | The Google Click Identifier (GCLID) associated with the visit. |
| Keyword | String | The keyword used in the search that resulted in the visit. |
| ClickType | String | The type of click that initiated the visit. |
| Devicetype | String | The type of device used by the visitor. |
| AdNetwork | String | The ad network that served the advertisement. |
| SearchPartnerNetwork | String | The search partner network involved in the visit. |
| AdCampaignName | String | The name of the advertising campaign. |
| AdGroupName | String | The name of the advertising group. |
| Ad | String | The specific advertisement clicked on for the visit. |
| AdClickDate | Date | The date when the advertisement was clicked. |
| VisitSource | String | The source of the visit, such as direct, organic, or paid. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | The field or fields used to identify duplicate records during an upsert operation. |
| CustomViewId | Long | The custom view Id used to filter this record. Works only when the useCOQL parameter is set to false. |
Stored procedures are function-like interfaces that extend the functionality of the Cloud beyond simple SELECT/INSERT/UPDATE/DELETE operations with Zoho CRM.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Zoho CRM, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| ConvertLead | Transforms a qualified lead into related contact, account, and deal records in one step. |
| DeleteFile | Detaches and removes a file that is linked to a given CRM record. |
| DelinkRelatedRecords | Breaks the relationship between two records (for example, removing a contact from a deal). |
| LinkRelatedRecords | Creates a relationship between two records across modules, such as linking a quote to a deal. |
| TransferAndDeletePipeline | Deletes a pipeline and reassigns all its stages to another pipeline, preserving deal associations. |
Transforms a qualified lead into related contact, account, and deal records in one step.
| Name | Type | Description |
| LeadId | String | Unique identifier of the lead to convert. |
| Overwrite | String | Indicates whether the conversion process overwrites existing records.
The default value is true. |
| NotifyLeaderOwner | String | Indicates whether to notify the owner of the lead about the conversion.
The default value is false. |
| NotifyNewEntityOwner | String | Indicates whether to notify the owner of the newly created records.
The default value is false. |
| AccountId | String | Identifier of the account associated with the converted lead. |
| ContactId | String | Identifier of the contact associated with the converted lead. |
| UserId | String | Identifier of the user to assign the converted lead to. |
| CampaignSource | String | Source campaign associated with the deal. Can be found in the Deals module. |
| DealName | String | Name to assign to the new deal created from the conversion. |
| ClosingDate | String | Expected closing date of the deal. |
| Stage | String | Identifier of the stage in the pipeline where the deal is placed. |
| Amount | String | Total amount of the deal. |
| Pipeline | String | Pipeline to which the new deal is assigned. |
| Name | Type | Description |
| Contacts | String | Identifier of the contact created during conversion. |
| Deals | String | Identifier of the deal created during conversion. |
| Accounts | String | Identifier of the account created during conversion. |
Detaches and removes a file that is linked to a given CRM record.
| Name | Type | Description |
| ModuleName | String | The API name of the module containing the record with the attachment to delete. |
| RecordID | String | Unique identifier of the record associated with the attachment to delete. |
| AttachmentID | String | Unique identifier of the attachment to be deleted. |
| Name | Type | Description |
| Message | String | Message from Zoho CRM indicating whether the delete operation was successful. |
| Status | String | Status returned by Zoho CRM for the delete operation. |
Deletes a pipeline and reassigns all its stages to another pipeline, preserving deal associations.
ZohoCRM Supports deleting a pipeline and transferring the associated stages to another pipeline by providing the FromId, ToId,Stages and LayoutId of the related pipeline.
Note: It works only with ApiVersion=2.1.
For Example:
EXEC TransferAndDeletePipeline FromId = '228122000000252002',ToId = '228122000000202388', Stages = '[\n" +
" {\n" +
" \"from\": \"4917206000000006801\",\n" +
" \"to\": \"4917206000000006801\"\n" +
" }\n" +
" ]', LayoutId = '228122000000202258'
| Name | Type | Description |
| FromId | String | The identifier (Id) of the pipeline from which you want to delete and transfer associated deals. |
| ToId | String | The Id of the target pipeline where the deals is transferred. |
| Stages | String | The stages in the original pipeline that you want to map to the new pipeline. |
| LayoutId | String | The unique Id of the layout in the Deals module used to retrieve the pipeline details. |
| Name | Type | Description |
| Status | String | Indicates whether the transfer operation was successful. |
| JobId | String | The job identifier of the newly created transfer operation. |
| Message | String | The message from the Zoho CRM API indicating if the operation was successful. |
The CData Cloud models Zoho CRM API v4 data as an easy-to-use SQL database. There are three parts to the data model: tables, views, and stored procedures. Any changes you make to your Zoho CRM account, such as adding a custom module, adding a custom field, or changing the data type of a field, occur immediately when you connect using the Cloud.
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Zoho CRM account.
Common tables include:
| Table | Description |
| Accounts | Manages company or customer account records, supporting operations to create, update, delete, and retrieve account data. |
| Attachments | Handles files attached to CRM records, supporting deletion and queries by record or module. |
| Calls | Stores logged call records, enabling full lifecycle management including creation, updates, and deletions. |
| Campaigns | Maintains marketing campaign records and supports linking to leads, contacts, or deals for engagement tracking. |
| Cases | Tracks customer service tickets or support requests, including case creation, updates, and resolution status. |
| Contacts | Stores contact records representing individuals, with full support for data operations including phone, email, and job role details. |
| ContactRoles | Defines the role a contact plays in a deal or account (such as decision-maker or influencer) with full role-management support. |
| Deals | Stores information about sales opportunities, including stage, expected revenue, and related accounts or contacts. |
| Invoices | Stores customer invoice records including itemized charges, taxes, and payment tracking. Not available in free or standard accounts. |
| Leads | Manages unqualified prospect records, allowing conversion into contacts, accounts, or deals after qualification. |
| Meetings | Stores scheduled meetings with agenda, participants, start/end times, and follow-up status. |
| Notes | Handles note entries linked to CRM records, allowing users to create, edit, delete, or retrieve notes. |
| Pipeline | Stores definitions of deal pipelines and their stages, enabling retrieval of all pipelines or a specific one for the Deals module. |
| PriceBooks | Manages price book records for assigning specific product pricing tiers. Not supported in free or standard accounts. |
| Products | Stores product catalog records including item name, SKU, price, and stock information. |
| Quotes | Stores quote records issued to customers with pricing, taxes, and terms. Not supported in free or standard accounts. |
| SalesOrders | Manages sales order transactions including items, billing, and shipping details. Not available in free or standard accounts. |
| Tasks | Stores task records linked to CRM entities, including priority, due date, and reminder settings. |
| Vendors | Stores vendor records used in purchase-related transactions such as purchase orders or stock replenishment. |
| Users | Lists user accounts along with details like email, profile, role, and login status. |
Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard create, read, update, delete (CRUD) operations, including working with files.
The Cloud models the data in Zoho CRM as a list of tables in a relational database that can be queried using standard SQL statements.
| Name | Description |
| Accounts | Manages account records representing companies or organizations, enabling comprehensive CRUD operations and advanced search. |
| Attachments | Stores and manages files attached to any CRM record, supporting uploads, deletions, and queries. |
| Calls | Captures call interactions, logging duration, outcome, and related contacts for performance tracking. |
| Campaigns | Tracks marketing campaigns, linking them to leads, contacts, and revenue metrics for ROI analysis. |
| Cases | Handles customer service requests with fields for priority, SLA, and resolution notes. |
| ContactRoles | Defines the role a contact plays in a deal or account (such as decision-maker or influencer) with full role-management support. |
| Contacts | Stores individual contact records, such as names, job titles, phone numbers, and email addresses, with full support for creating, updating, deleting, and querying contact data. |
| Currencies | Maintains the list of active currencies for your organization, including symbols, ISO codes, and exchange rates used in transactions. |
| Deals | Represents sales opportunities, tracking amount, probability, stage, and related contacts or accounts with full record-management capabilities. |
| Invoices | Stores invoice records (such as billing address, totals, payment status, and line items) available only in paid Zoho CRM editions. |
| Leads | Captures unqualified prospects with details such as source and rating, and supports conversion into contacts, accounts, or deals. |
| Meetings | Stores planned meetings with agenda, participants, start and end times, reminders, and follow-up status. |
| Notes | Holds free-form text notes linked to CRM records, including author, timestamp, and rich-text content. |
| Pipeline | Stores definitions of deal pipelines and their stages, allowing retrieval of every pipeline or a specific one in the Deals module. |
| PriceBooks | Maintains price book records with custom price tiers for products; not accessible in free or standard editions. |
| Products | Contains product catalog entries (SKU, category, list price, and inventory details) with full record management. |
| PurchaseOrders | Stores purchase orders issued to vendors, tracking delivery status, billing terms, and related inventory; unavailable in free or standard editions. |
| Quotes | Holds quote records sent to customers with validity dates, tax details, and approval status; available only in paid editions. |
| SalesOrders | Tracks confirmed sales orders with shipment status, billing details, and linked invoices; not available in free or standard editions. |
| Solutions | Stores knowledge-base articles and troubleshooting guides used by support teams to resolve cases. |
| Tasks | Manages to-do items linked to CRM records, with due dates, priorities, reminders, and completion status. |
| Vendors | Stores vendor details such as addresses, contact information, and payment terms, for procurement workflows. |
Manages account records representing companies or organizations, enabling comprehensive CRUD operations and advanced search.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side. The rest of the filter is executed client-side within the Cloud.
INSERT INTO Accounts(AccountName) VALUES('my name')
Required fields: AccountName.
Any field which is not read-only (ReadOnly = false in the table below below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Accounts WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Accounts SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the account. |
| AccountOwner_Id | String | False |
Identifier of the user who owns the account. |
| AccountOwner_FirstName | String | True |
First name of the account owner. |
| AccountOwner_LastName | String | True |
Last name of the account owner. |
| AccountOwner_Email | String | True |
Email address of the account owner. |
| AccountOwner_Name | String | True |
Full name of the account owner. |
| Rating | String | False |
Internal rating given to the account. |
| AccountName | String | False |
Name of the account or organization. |
| Phone | String | False |
Phone number associated with the account. |
| Fax | String | False |
Fax number associated with the account. |
| ParentAccount_Id | String | False |
Identifier of the parent account, if the current account is part of a hierarchy. |
| ParentAccount_Name | String | True |
Name of the parent account. |
| Website | String | False |
Website URL of the account. |
| TickerSymbol | String | False |
Stock ticker symbol for the organization. |
| AccountType | String | False |
Type of account, such as customer, partner, or vendor. |
| Ownership | String | False |
Ownership structure of the account, such as public or private. |
| Industry | String | False |
Industry classification of the account. |
| Employees | Int | False |
Number of employees in the organization. |
| AnnualRevenue | Decimal | False |
Annual revenue generated by the organization. |
| SICCode | Int | False |
Standard Industrial Classification (SIC) code for the account. |
| CreatedBy_Id | String | False |
Identifier of the user who created the account record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the account. |
| CreatedBy_LastName | String | True |
Last name of the user who created the account. |
| CreatedBy_Email | String | True |
Email of the user who created the account. |
| CreatedBy_Name | String | True |
Full name of the user who created the account. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the account. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the account. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the account. |
| ModifiedBy_Email | String | True |
Email of the user who last modified the account. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the account. |
| CreatedTime | Datetime | False |
Timestamp when the account was created. |
| ModifiedTime | Datetime | False |
Timestamp when the account was last modified. |
| LastActivityTime | Datetime | True |
Timestamp of the last recorded activity for the account. |
| AccountNumber | Long | False |
Unique number assigned to the account. |
| AccountSite | String | False |
Physical or virtual site associated with the account. |
| Tag | String | False |
Tags or labels applied to the account for categorization. |
| BillingStreet | String | False |
Street address for billing. |
| ShippingStreet | String | False |
Street address for shipping. |
| BillingCity | String | False |
City for billing purposes. |
| ShippingCity | String | False |
City for shipping purposes. |
| BillingState | String | False |
State or region for billing. |
| ShippingState | String | False |
State or region for shipping. |
| BillingCode | String | False |
Postal or zip code for billing. |
| ShippingCode | String | False |
Postal or zip code for shipping. |
| BillingCountry | String | False |
Country for billing. |
| ShippingCountry | String | False |
Country for shipping. |
| Description | String | False |
Description or notes about the account. |
| AccountImage | String | False |
Reference to an image associated with the account. |
| RecordId | Long | True |
System-generated identifier for record tracking. |
| ChangeLogTime | Datetime | True |
Time when the change log was last updated for this account. |
| Locked | Bool | True |
Indicates whether the account is locked from editing. |
| LastEnrichedTime | Datetime | True |
Time when the account was last enriched with external data. |
| EnrichStatus | String | True |
Current enrichment status of the account data. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to identify duplicates during an upsert operation. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Used to activate automation rules when a new account record is inserted. |
| CustomViewId | Long |
Custom view identifier used to filter this record when the useCOQL parameter is set to false. |
Stores and manages files attached to any CRM record, supporting uploads, deletions, and queries.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
SELECT * FROM Attachments
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Attachments WHERE Id = '3152079000000431011'
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the attachment record. |
| AttachmentOwner_Id | String | False |
Identifier of the user who owns the attachment. |
| AttachmentOwner_FirstName | String | True |
First name of the attachment owner. |
| AttachmentOwner_LastName | String | True |
Last name of the attachment owner. |
| AttachmentOwner_Email | String | True |
Email address of the attachment owner. |
| AttachmentOwner_Name | String | True |
Full name of the attachment owner. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the attachment. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the attachment. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the attachment. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the attachment. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the attachment. |
| CreatedBy_Id | String | False |
Identifier of the user who created the attachment. |
| CreatedBy_FirstName | String | True |
First name of the user who created the attachment. |
| CreatedBy_LastName | String | True |
Last name of the user who created the attachment. |
| CreatedBy_Email | String | True |
Email address of the user who created the attachment. |
| CreatedBy_Name | String | True |
Full name of the user who created the attachment. |
| CreatedAt | Datetime | True |
Date and time when the attachment was created. |
| ModifiedAt | Datetime | True |
Date and time when the attachment was last modified. |
| FileName | String | False |
Name of the attached file. |
| Size | Long | False |
Size of the file in bytes. |
| ParentID_Id | String | False |
Identifier of the parent record to which the attachment is linked. |
| ParentID_Name | String | True |
Name of the parent record to which the attachment is linked. |
| RecordId | Long | True |
Internal identifier for the attachment record. |
| ModuleName | String | False |
Name of the module where the attachment is stored. |
| Editable | String | False |
Indicates whether the attachment can be edited. |
| FileId | String | False |
Unique file identifier. |
| Type | String | False |
Type of the file attached. |
| State | String | False |
Current state of the attachment. |
| LinkUrl | String | False |
Direct URL link to the attachment file. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used for checking duplicate records in an upsert operation. The REST API allows multiple fields; the BULK API allows only one. |
| Trigger | String |
Used to trigger automation rules when inserting a record into the CRM account. |
| Converted | Bool |
Specifies whether to retrieve only converted records. |
| Approved | Bool |
Specifies whether to retrieve only approved records. Default is true. |
| CustomViewId | Long |
Custom view identifier used to filter this record. Applicable when the useCOQL parameter is set to false. |
Captures call interactions, logging duration, outcome, and related contacts for performance tracking.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Calls (Subject, ModuleName, RelatedTo_Id,CallType,CallStartTime) VALUES ('A test call', 'Accounts', '5768552000000433001','Outbound','May 20, 2023 12:00 AM')
Required fields: Subject, ModuleName, CallType, CallStartTime and ContactName_Id if ModuleName = Contacts and RelatedTo_Id if any other modulename is specified.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Calls WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Calls SET Subject = 'Updated from API' WHERE Id = '3152079000000484001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the call record. |
| CallOwner_Id | String | False |
Identifier of the user who owns the call record. |
| CallOwner_FirstName | String | True |
First name of the user who owns the call record. |
| CallOwner_LastName | String | True |
Last name of the user who owns the call record. |
| CallOwner_Email | String | True |
Email address of the user who owns the call record. |
| CallOwner_Name | String | True |
Full name of the user who owns the call record. |
| Subject | String | False |
Subject or title of the call. |
| CallType | String | False |
Specifies whether the call was inbound or outbound. |
| CallPurpose | String | False |
Purpose or reason for the call. |
| ContactName_Id | String | False |
Identifier of the contact associated with the call. |
| ContactName_Name | String | True |
Name of the contact associated with the call. |
| RelatedTo_Id | String | False |
Identifier of the related record. |
| RelatedTo_Name | String | True |
Name of the related record. |
| CallStartTime | Datetime | False |
Date and time when the call started. |
| CallDuration | String | False |
Duration of the call in standard format. |
| CallDuration(inseconds) | Int | False |
Duration of the call in seconds. |
| Description | String | False |
Details or notes about the call. |
| CallResult | String | False |
Outcome or result of the call. |
| CTIEntry | Bool | False |
Indicates whether the call was created from a computer telephony integration (CTI) system. |
| CreatedBy_Id | String | False |
Identifier of the user who created the call record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the call record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the call record. |
| CreatedBy_Email | String | True |
Email address of the user who created the call record. |
| CreatedBy_Name | String | True |
Full name of the user who created the call record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the call record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the call record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the call record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the call record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the call record. |
| CreatedTime | Datetime | False |
Date and time when the call record was created. |
| ModifiedTime | Datetime | False |
Date and time when the call record was last modified. |
| Reminder | String | False |
Reminder set for the call, if any. |
| Tag | String | False |
Tags associated with the call record. |
| OutgoingCallStatus | String | False |
Status of the outbound call. |
| ScheduledinCRM | String | True |
Indicates whether the call was scheduled within the CRM. |
| RecordId | Long | True |
Internal record identifier. |
| LastActivityTime | Datetime | False |
Date and time of the last activity on the call record. |
| CallAgenda | String | False |
Agenda or planned topics for the call. |
| CallerID | String | True |
Caller identifier used during the call. |
| DialledNumber | String | True |
Phone number dialed during the call. |
| VoiceRecording | String | False |
Link or reference to the call recording. |
| ModuleName | String | False |
Name of the CRM module the call record belongs to. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to identify duplicate records in an upsert. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Used to trigger automation rules when inserting the record into the CRM. |
| CustomViewId | Long |
Custom view identifier for filtering the record. Works when the useCOQL parameter is set to false. |
Tracks marketing campaigns, linking them to leads, contacts, and revenue metrics for ROI analysis.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Campaigns (CampaignName) VALUES ('a test campaign')
Required fields: CampaignName.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Campaigns WHERE Id = '3152079000000485001'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Campaigns SET CampaignName = 'Updated from API' WHERE Id = '3152079000000485001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the campaign. |
| CampaignOwner_Id | String | False |
Identifier of the user who owns the campaign. |
| CampaignOwner_FirstName | String | True |
First name of the user who owns the campaign. |
| CampaignOwner_LastName | String | True |
Last name of the user who owns the campaign. |
| CampaignOwner_Email | String | True |
Email address of the user who owns the campaign. |
| CampaignOwner_Name | String | True |
Full name of the user who owns the campaign. |
| Type | String | False |
Type of the campaign, such as email, advertisement, or event. |
| CampaignName | String | False |
Name of the campaign. |
| Status | String | False |
Current status of the campaign, such as planned or completed. |
| StartDate | Date | False |
Start date of the campaign. |
| EndDate | Date | False |
End date of the campaign. |
| ExpectedRevenue | Decimal | False |
Estimated revenue expected from the campaign. |
| BudgetedCost | Decimal | False |
Planned cost for executing the campaign. |
| ActualCost | Decimal | False |
Total cost incurred during the campaign. |
| ExpectedResponse | Long | False |
Estimated number of responses to the campaign. |
| Numberssent | Long | False |
Number of messages or invitations sent as part of the campaign. |
| CreatedBy_Id | String | False |
Identifier of the user who created the campaign record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the campaign record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the campaign record. |
| CreatedBy_Email | String | True |
Email address of the user who created the campaign record. |
| CreatedBy_Name | String | True |
Full name of the user who created the campaign record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the campaign record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the campaign record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the campaign record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the campaign record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the campaign record. |
| CreatedTime | Datetime | False |
Date and time when the campaign record was created. |
| ModifiedTime | Datetime | False |
Date and time when the campaign record was last modified. |
| Tag | String | False |
Tags associated with the campaign record. |
| Description | String | False |
Detailed description of the campaign. |
| ParentCampaign_Id | String | False |
Identifier of the parent campaign, if the current campaign is part of a larger campaign. |
| ParentCampaign_Name | String | True |
Name of the parent campaign, if applicable. |
| RecordId | Long | True |
Internal record identifier used for reference. |
| LastActivityTime | Datetime | False |
Timestamp of the last activity on the campaign record. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicates during upsert operations. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Used to trigger automation rules when inserting the campaign record into the CRM. |
| CustomViewId | Long |
Custom view identifier for filtering the campaign record. Works when the useCOQL parameter is set to false. |
Handles customer service requests with fields for priority, SLA, and resolution notes.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new case with an email address, a medium priority, and a subject
INSERT INTO Cases (Email, Priority, Subject) VALUES ('[email protected]', 'Medium', 'A simple test case')
Required fields: Subject is required. It is recommended to also include fields such as Email and Priority to provide additional case context.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a case by its unique ID
DELETE FROM Cases WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause when executing an update against this table. The following example demonstrates an update operation:
-- Update the priority field for a specific case using its ID
UPDATE Cases SET Priority = 'Low' WHERE Id = '3152079000000473022'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the case. |
| CaseReason | String | False |
The reason or issue type for the case. |
| CaseNumber | String | True |
The assigned case number. |
| CaseOwner_Id | String | False |
Identifier of the user who owns the case. |
| CaseOwner_FirstName | String | True |
First name of the user who owns the case. |
| CaseOwner_LastName | String | True |
Last name of the user who owns the case. |
| CaseOwner_Email | String | True |
Email address of the user who owns the case. |
| CaseOwner_Name | String | True |
Full name of the user who owns the case. |
| Status | String | False |
Current status of the case, such as Open or Closed. |
| ProductName_Id | String | False |
Identifier of the related product. |
| ProductName_Name | String | True |
Name of the related product. |
| Priority | String | False |
Priority level of the case. |
| Type | String | False |
Type of the case, such as question or issue. |
| CaseOrigin | String | False |
Source from which the case originated, such as phone or email. |
| Subject | String | False |
Subject line describing the case. |
| RelatedTo_Id | String | False |
Identifier of the related record, such as a contact or lead. |
| RelatedTo_Name | String | True |
Name of the related record. |
| AccountName_Id | String | False |
Identifier of the associated account. |
| AccountName_Name | String | True |
Name of the associated account. |
| DealName_Id | String | False |
Identifier of the related deal. |
| DealName_Name | String | True |
Name of the related deal. |
| No.ofcomments | Int | True |
Number of comments associated with the case. |
| ReportedBy | String | False |
Name of the person who reported the case. |
| String | False |
Email address of the person who reported the case. | |
| Phone | String | False |
Phone number of the person who reported the case. |
| CreatedBy_Id | String | False |
Identifier of the user who created the case record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the case record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the case record. |
| CreatedBy_Email | String | True |
Email address of the user who created the case record. |
| CreatedBy_Name | String | True |
Full name of the user who created the case record. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the case record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the case record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the case record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the case record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the case record. |
| CreatedTime | Datetime | False |
Date and time when the case record was created. |
| ModifiedTime | Datetime | False |
Date and time when the case record was last modified. |
| Tag | String | False |
Tags assigned to the case. |
| Description | String | False |
Detailed description of the case. |
| InternalComments | String | False |
Internal-only comments about the case. |
| Solution | String | False |
The resolution or solution for the case. |
| AddComment | String | False |
Field used to add a new comment to the case. |
| Comments | String | True |
Public comments added to the case. |
| RecordId | Long | True |
Internal identifier for the record. |
| Locked | Bool | True |
Indicates whether the case is locked for editing. |
| LastActivityTime | Datetime | False |
Timestamp of the last activity on the case. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to detect duplicate records during an upsert. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Used to trigger automation rules during case creation. |
| CustomViewId | Long |
Custom view identifier for filtering the case record. Works when the useCOQL parameter is set to false. |
Defines the role a contact plays in a deal or account (such as decision-maker or influencer) with full role-management support.
SELECT * FROM ContactRoles
Insert INTO ContactRoles(SequenceNumber, Name) VALUES(8, 'TEST3')
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM ContactRoles WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE ContactRoles SET Name='Sales Lead 1' where Id= '2732548000006917001'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the contact role. |
| SequenceNumber | Int | False |
Position of the contact role in the picklist as displayed in the CRM user interface. |
| Name | String | False |
Name assigned to the contact role. |
Stores individual contact records, such as names, job titles, phone numbers, and email addresses, with full support for creating, updating, deleting, and querying contact data.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
Note: When UseCOQL is set to true, a SELECT * query may fail due to the large number of columns in this table. To avoid this error:
You must specify the LastName column when inserting a new contact. The following example demonstrates an insert operation:
-- Insert a contact with a first name, last name, and email address
INSERT INTO Contacts (FirstName, LastName, Email) VALUES ('John', 'Smith', '[email protected]')
Required fields: LastName is required.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a contact by its unique ID
DELETE FROM Contacts WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description field for a specific contact
UPDATE Contacts SET Description = 'John helped us in the past with setting up the servers.' WHERE Id = '3152079000000484021'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the contact. |
| ContactOwner_Id | String | False |
Unique identifier of the contact owner. |
| ContactOwner_FirstName | String | True |
First name of the contact owner. |
| ContactOwner_LastName | String | True |
Last name of the contact owner. |
| ContactOwner_Email | String | True |
Email address of the contact owner. |
| ContactOwner_Name | String | True |
Full name of the contact owner. |
| LeadSource | String | False |
Source from which the contact was generated. |
| FirstName | String | False |
First name of the contact. |
| LastName | String | False |
Last name of the contact. |
| FullName | String | False |
Full name of the contact. |
| AccountName_Id | String | False |
Unique identifier of the associated account. |
| AccountName_Name | String | True |
Name of the associated account. |
| VendorName_Id | String | False |
Unique identifier of the associated vendor. |
| VendorName_Name | String | True |
Name of the associated vendor. |
| String | False |
Email address of the contact. | |
| Title | String | False |
Job title of the contact. |
| Department | String | False |
Department the contact belongs to. |
| Phone | String | False |
Primary phone number of the contact. |
| HomePhone | String | False |
Home phone number of the contact. |
| OtherPhone | String | False |
Additional phone number for the contact. |
| Fax | String | False |
Fax number of the contact. |
| Mobile | String | False |
Mobile phone number of the contact. |
| DateofBirth | Date | False |
Date of birth of the contact. |
| Assistant | String | False |
Name of the contact's assistant. |
| AsstPhone | String | False |
Phone number of the assistant. |
| EmailOptOut | Bool | False |
Indicates whether the contact has opted out of email communications. |
| SkypeID | String | False |
Skype identifier of the contact. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the record. |
| CreatedBy_Email | String | True |
Email address of the user who created the record. |
| CreatedBy_Name | String | True |
Full name of the user who created the record. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the record. |
| CreatedTime | Datetime | False |
Date and time when the contact was created. |
| ModifiedTime | Datetime | False |
Date and time when the contact was last modified. |
| Salutation | String | False |
Salutation used for the contact. |
| SecondaryEmail | String | False |
Secondary email address of the contact. |
| LastActivityTime | Datetime | True |
Date and time of the last activity related to the contact. |
| String | False |
Twitter handle of the contact. | |
| Tag | String | False |
Tag associated with the contact. |
| MailingStreet | String | False |
Mailing street address of the contact. |
| OtherStreet | String | False |
Other street address of the contact. |
| MailingCity | String | False |
Mailing city of the contact. |
| OtherCity | String | False |
Other city of the contact. |
| MailingState | String | False |
Mailing state of the contact. |
| OtherState | String | False |
Other state of the contact. |
| MailingZip | String | False |
Mailing ZIP or postal code of the contact. |
| OtherZip | String | False |
Other ZIP or postal code of the contact. |
| MailingCountry | String | False |
Mailing country of the contact. |
| OtherCountry | String | False |
Other country of the contact. |
| Description | String | False |
Additional information or notes about the contact. |
| ContactImage | String | False |
Image associated with the contact. |
| ReportingTo_Id | String | False |
Unique identifier of the contact's manager or reporting person. |
| ReportingTo_Name | String | True |
Name of the contact's manager or reporting person. |
| UnsubscribedMode | String | True |
Method by which the contact unsubscribed from communications. |
| UnsubscribedTime | Datetime | True |
Date and time when the contact unsubscribed. |
| RecordId | Long | True |
Record identifier used internally. |
| ChangeLogTime | Datetime | True |
Timestamp of the last change to the record. |
| Locked | Bool | True |
Indicates whether the record is locked from changes. |
| LastEnrichedTime | Datetime | True |
Date and time when the contact record was last enriched. |
| EnrichStatus | String | True |
Current enrichment status of the contact. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicates during upsert. Only one field is allowed when using the BULK API. |
| Trigger | String |
Specifies whether to trigger workflows when inserting the record into the CRM account. |
| CustomViewId | Long |
Custom view identifier to filter this record. Works only when the useCOQL parameter is false. |
Maintains the list of active currencies for your organization, including symbols, ISO codes, and exchange rates used in transactions.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Currencies WHERE Id = '1234';
INSERT INTO Currencies (ISO_Code, Name, ExchangeRate) VALUES ('1234', 'hello','1.000');
Bulk Insert operation:
INSERT INTO Currencies#TEMP (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) VALUES ('4150868000000236307', 'cdata1','$','true','1.0000','period','comma','2','true','2');
INSERT INTO Currencies#TEMP (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) VALUES ('1234', 'cdata','$','true','2.0000','period','comma','3','true','3');
INSERT INTO Currencies (id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code) SELECT id, Name, Symbol, IsActive, ExchangeRate, FormatDecimalSeparator, FormatThousandSeparator, FormatDecimalPlaces, PrefixSymbol, ISO_Code FROM currencies#TEMP;
Required fields: Name, ISO_Code, ExchangeRate.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
UPDATE Currencies SET symbol = 'hello', FormatDecimalSeparator = 'period', FormatThousandSeparator = 'comma',FormatDecimalPlaces = '2',prefixsymbol = 'true',exchangerate = '1.0000' WHERE Id = '1234';
Bulk Update Operation:
UPDATE Currencies SET symbol = '$',FormatDecimalSeparator = 'period',FormatThousandSeparator = 'comma',FormatDecimalPlaces = '2';
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated. NOTE: if Id field is not specified in the query, PostData will be created for each id ( driver will execute bulk update operation for each currency id).
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Represents the unique identifier of the currency. |
| Name | String | False |
Represents the name of the currency. |
| Symbol | String | False |
Represents the symbol used for the currency. |
| IsActive | Bool | False |
Indicates whether the currency is active. |
| ExchangeRate | Double | False |
Represents the exchange rate of the currency compared to the base currency. |
| FormatDecimalSeparator | String | False |
The character used to separate the integer part from the fractional part in the currency value. |
| FormatThousandSeparator | String | False |
The character used to separate groups of thousands in the currency value. |
| FormatDecimalPlaces | String | False |
The number of digits displayed after the decimal point in the currency value. |
| ModifiedByName | String | True |
The name of the user who most recently modified the currency details. |
| ModifiedByid | String | True |
The identifier of the user who most recently modified the currency details. |
| PrefixSymbol | Bool | False |
Indicates whether the currency symbol appears before the amount. |
| IsBase | Bool | True |
Indicates whether this is the base currency used in the system. |
| CreatedAt | Datetime | True |
The date and time when the currency was created. |
| ModifiedAt | Datetime | True |
The date and time when the currency was last modified. |
| ISO_Code | String | False |
The official ISO code assigned to the currency. |
Represents sales opportunities, tracking amount, probability, stage, and related contacts or accounts with full record-management capabilities.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Deals (DealName, Stage) VALUES ('Converting company XYZ into our client.', 'Qualification')
Required fields: DealName.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Deals WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Deals SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the deal record. |
| DealOwner_Id | String | False |
Identifier of the user who owns the deal. |
| DealOwner_FirstName | String | True |
First name of the user who owns the deal. |
| DealOwner_LastName | String | True |
Last name of the user who owns the deal. |
| DealOwner_Email | String | True |
Email address of the user who owns the deal. |
| DealOwner_Name | String | True |
Full name of the user who owns the deal. |
| Amount | Decimal | False |
Total monetary value of the deal. |
| DealName | String | False |
Name assigned to the deal. |
| ClosingDate | Date | False |
Scheduled closing date of the deal. |
| AccountName_Id | String | False |
Identifier of the account associated with the deal. |
| AccountName_Name | String | True |
Name of the account associated with the deal. |
| Stage | String | False |
Current stage of the deal in the sales process. |
| Type | String | False |
Type or category of the deal. |
| Probability(%) | Int | False |
Estimated probability of winning the deal, expressed as a percentage. |
| ExpectedRevenue | Decimal | True |
Expected revenue from the deal based on the probability and amount. |
| NextStep | String | False |
Planned next action for progressing the deal. |
| LeadSource | String | False |
Source from which the deal originated. |
| CampaignSource_Id | String | False |
Identifier of the campaign linked to the deal. |
| CampaignSource_Name | String | True |
Name of the campaign linked to the deal. |
| ContactName_Id | String | False |
Identifier of the primary contact associated with the deal. |
| ContactName_Name | String | True |
Name of the primary contact associated with the deal. |
| CreatedBy_Id | String | False |
Identifier of the user who created the deal. |
| CreatedBy_FirstName | String | True |
First name of the user who created the deal. |
| CreatedBy_LastName | String | True |
Last name of the user who created the deal. |
| CreatedBy_Email | String | True |
Email address of the user who created the deal. |
| CreatedBy_Name | String | True |
Full name of the user who created the deal. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the deal. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the deal. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the deal. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the deal. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the deal. |
| CreatedTime | Datetime | False |
Date and time when the deal was created. |
| ModifiedTime | Datetime | False |
Date and time when the deal was last modified. |
| LastActivityTime | Datetime | True |
Date and time of the most recent activity related to the deal. |
| LeadConversionTime | Int | True |
Number of days taken to convert the lead into a deal. |
| SalesCycleDuration | Int | True |
Duration of the sales cycle in days. |
| OverallSalesDuration | Int | True |
Total duration from lead creation to deal closure in days. |
| Tag | String | False |
Tags associated with the deal for classification or filtering. |
| Description | String | False |
Detailed description of the deal. |
| RecordId | Long | True |
Internal system identifier for the deal record. |
| ChangeLogTime | Datetime | True |
Timestamp of the last change made to the deal. |
| Locked | Bool | True |
Indicates whether the deal record is locked from editing. |
| ReasonForLoss | String | False |
Reason provided for losing the deal, if applicable. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to identify duplicate records during an upsert operation. The REST API supports multiple fields; the BULK API supports only one. |
| Trigger | String |
Indicates whether to trigger a rule when inserting the deal record into the CRM account. |
| CustomViewId | Long |
Custom view identifier used to filter this record. Works only when the useCOQL parameter is false. |
Stores invoice records (such as billing address, totals, payment status, and line items) available only in paid Zoho CRM editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Invoices (Subject, AccountName_Id, InvoicedItems) VALUES ('bulk2', '1021046000000427106', '[
{
"Product_Name": {
"id": "1021046000000414457"
},
"Quantity": 1024,
"Discount": 12,
"Price_Book_Name": {
"id": "1"
},
"Tax": 0,
"List_Price": 1.21,
"Description": "test desc"
}
]');
Required fields for REST API: Subject, InvoicedItems.
Required fields for BULK API: Subject, InvoicedItems, AccountName_Id.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
Please note that the REST API honors only the 'id' field of the 'Product_Name' aggregate in the InvoicedItems column. The BULK API does not accept any other field in this aggregate.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Invoices WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Invoices SET Description = 'Updated from API' WHERE Id = '3152079000000153079'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
The unique identifier for the invoice. |
| InvoiceOwner_Id | String | False |
The unique identifier of the user who owns the invoice. |
| InvoiceOwner_FirstName | String | True |
The first name of the invoice owner. |
| InvoiceOwner_LastName | String | True |
The last name of the invoice owner. |
| InvoiceOwner_Email | String | True |
The email address of the invoice owner. |
| InvoiceOwner_Name | String | True |
The full name of the invoice owner. |
| InvoiceNumber | String | True |
The reference number assigned to the invoice. |
| Subject | String | False |
The subject or title of the invoice. |
| SalesOrder_Id | String | False |
The unique identifier of the related sales order. |
| SalesOrder_Name | String | True |
The name of the related sales order. |
| InvoiceDate | Date | False |
The date when the invoice was issued. |
| PurchaseOrder | String | False |
The associated purchase order reference. |
| DueDate | Date | False |
The date by which the invoice payment is due. |
| ExciseDuty | Decimal | False |
The excise duty amount applicable to the invoice. |
| SalesCommission | Decimal | False |
The sales commission amount related to the invoice. |
| Status | String | False |
The current status of the invoice. |
| AccountName_Id | String | False |
The unique identifier of the associated account. |
| AccountName_Name | String | True |
The name of the associated account. |
| ContactName_Id | String | False |
The unique identifier of the contact associated with the invoice. |
| ContactName_Name | String | True |
The name of the contact associated with the invoice. |
| CreatedBy_Id | String | False |
The unique identifier of the user who created the invoice. |
| CreatedBy_FirstName | String | True |
The first name of the user who created the invoice. |
| CreatedBy_LastName | String | True |
The last name of the user who created the invoice. |
| CreatedBy_Email | String | True |
The email address of the user who created the invoice. |
| CreatedBy_Name | String | True |
The full name of the user who created the invoice. |
| ModifiedBy_Id | String | False |
The unique identifier of the user who last modified the invoice. |
| ModifiedBy_FirstName | String | True |
The first name of the user who last modified the invoice. |
| ModifiedBy_LastName | String | True |
The last name of the user who last modified the invoice. |
| ModifiedBy_Email | String | True |
The email address of the user who last modified the invoice. |
| ModifiedBy_Name | String | True |
The full name of the user who last modified the invoice. |
| CreatedTime | Datetime | False |
The date and time when the invoice was created. |
| ModifiedTime | Datetime | False |
The date and time when the invoice was last modified. |
| Tag | String | False |
Any tags associated with the invoice. |
| BillingStreet | String | False |
The billing street address for the invoice. |
| ShippingStreet | String | False |
The shipping street address for the invoice. |
| BillingCity | String | False |
The billing city for the invoice. |
| ShippingCity | String | False |
The shipping city for the invoice. |
| BillingState | String | False |
The billing state for the invoice. |
| ShippingState | String | False |
The shipping state for the invoice. |
| BillingCode | String | False |
The billing postal code for the invoice. |
| ShippingCode | String | False |
The shipping postal code for the invoice. |
| BillingCountry | String | False |
The billing country for the invoice. |
| ShippingCountry | String | False |
The shipping country for the invoice. |
| SubTotal | String | True |
The subtotal amount before discount and tax. |
| Discount | Decimal | False |
The discount amount applied to the invoice. |
| Tax | Decimal | False |
The tax amount applied to the invoice. |
| Adjustment | Decimal | False |
Any manual adjustment to the total invoice amount. |
| GrandTotal | String | True |
The final amount after applying discount, tax, and adjustments. |
| TermsandConditions | String | False |
The terms and conditions applicable to the invoice. |
| Description | String | False |
Additional details or description for the invoice. |
| InvoicedItems | String | False |
The list of items included in the invoice. |
| RecordId | Long | True |
The record identifier used internally. |
| DealName_Id | String | False |
The unique identifier of the related deal. |
| DealName_Name | String | True |
The name of the related deal. |
| Locked | Bool | True |
Indicates whether the invoice is locked for editing. |
| LastActivityTime | Datetime | False |
The date and time of the last activity related to the invoice. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The field or fields used to identify duplicate records during upsert operations. The REST API allows multiple fields, but the BULK API only supports one field. |
| Trigger | String |
Triggers workflow rules or automation while inserting the record into the CRM account. |
| CustomViewId | Long |
The custom view identifier used to filter this record. Applies only when the useCOQL parameter is set to false. |
Captures unqualified prospects with details such as source and rating, and supports conversion into contacts, accounts, or deals.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
Note: When UseCOQL is set to true, a SELECT * query may fail due to the large number of columns in this table. To avoid this error:
You must specify the LastName column when inserting a new lead. The following examples demonstrate valid insert operations:
-- Insert a lead with a first name, last name, and title
INSERT INTO Leads (FirstName, LastName, Title) VALUES ('Alert', 'Bat', 'Mr')
-- Insert a lead and trigger associated workflows, approvals, or blueprints
INSERT INTO Leads (FirstName, LastName, Email, Trigger) VALUES ('Enthusiastic', 'Panda', '[email protected]', 'workflow,approval,blueprint')
Required fields: LastName is required.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a lead by its unique ID
DELETE FROM Leads WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description field for a specific lead
UPDATE Leads SET Description = 'Changed from the API.' WHERE Id = '3152079000000488014'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the lead. |
| LeadOwner_Id | String | False |
Unique identifier of the lead owner. |
| LeadOwner_FirstName | String | True |
First name of the lead owner. |
| LeadOwner_LastName | String | True |
Last name of the lead owner. |
| LeadOwner_Email | String | True |
Email address of the lead owner. |
| LeadOwner_Name | String | True |
Full name of the lead owner. |
| Company | String | False |
Name of the company associated with the lead. |
| FirstName | String | False |
First name of the lead. |
| LastName | String | False |
Last name of the lead. |
| FullName | String | False |
Full name of the lead. |
| Title | String | False |
Job title of the lead. |
| String | False |
Email address of the lead. | |
| Phone | String | False |
Primary phone number of the lead. |
| Fax | String | False |
Fax number of the lead. |
| Mobile | String | False |
Mobile number of the lead. |
| Website | String | False |
Website associated with the lead. |
| LeadSource | String | False |
Source from which the lead originated. |
| LeadStatus | String | False |
Current status of the lead. |
| Industry | String | False |
Industry in which the lead operates. |
| No.ofEmployees | Int | False |
Number of employees in the lead's company. |
| AnnualRevenue | Decimal | False |
Annual revenue of the lead's company. |
| Rating | String | False |
Rating of the lead. |
| EmailOptOut | Bool | False |
Indicates whether the lead has opted out of email communication. |
| SkypeID | String | False |
Skype Id of the lead. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the lead. |
| CreatedBy_FirstName | String | True |
First name of the user who created the lead. |
| CreatedBy_LastName | String | True |
Last name of the user who created the lead. |
| CreatedBy_Email | String | True |
Email address of the user who created the lead. |
| CreatedBy_Name | String | True |
Full name of the user who created the lead. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the lead. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the lead. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the lead. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the lead. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the lead. |
| CreatedTime | Datetime | False |
Date and time when the lead was created. |
| ModifiedTime | Datetime | False |
Date and time when the lead was last modified. |
| Salutation | String | False |
Salutation used for the lead. |
| SecondaryEmail | String | False |
Secondary email address of the lead. |
| LastActivityTime | Datetime | True |
Date and time of the last activity related to the lead. |
| String | False |
Twitter handle of the lead. | |
| Tag | String | False |
Tags associated with the lead. |
| Street | String | False |
Street address of the lead. |
| City | String | False |
City of the lead's address. |
| State | String | False |
State of the lead's address. |
| ZipCode | String | False |
Postal code of the lead's address. |
| Country | String | False |
Country of the lead's address. |
| Description | String | False |
Additional notes or description about the lead. |
| LeadImage | String | False |
Profile image of the lead. |
| ConvertedDateTime | Datetime | False |
Date and time when the lead was converted. |
| LeadConversionTime | Int | True |
Time taken to convert the lead, in minutes. |
| UnsubscribedMode | String | True |
Mode by which the lead unsubscribed from communications. |
| UnsubscribedTime | Datetime | True |
Date and time when the lead unsubscribed. |
| ConvertedAccount_Id | String | False |
Unique identifier of the account the lead was converted to. |
| ConvertedAccount_Name | String | True |
Name of the account the lead was converted to. |
| ConvertedContact_Id | String | False |
Unique identifier of the contact the lead was converted to. |
| ConvertedContact_Name | String | True |
Name of the contact the lead was converted to. |
| ConvertedDeal_Id | String | False |
Unique identifier of the deal the lead was converted to. |
| ConvertedDeal_Name | String | True |
Name of the deal the lead was converted to. |
| RecordId | Long | True |
Internal record identifier. |
| ChangeLogTime | Datetime | True |
Timestamp when the record was last included in the change log. |
| IsConverted | Bool | True |
Indicates whether the lead has been converted. |
| Locked | Bool | True |
Indicates whether the lead record is locked for editing. |
| LastEnrichedTime | Datetime | True |
Timestamp when the lead was last enriched. |
| EnrichStatus | String | True |
Status of the lead enrichment process. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicate records during upsert. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Indicates whether to trigger workflow rules when inserting the record. |
| CustomViewId | Long |
Custom view identifier used to filter this record. Only applies when the useCOQL parameter is false. |
Stores planned meetings with agenda, participants, start and end times, reminders, and follow-up status.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Meetings (Title, `From`, To) VALUES ('A test event', '2018/05/29 18:00:00', '2018/05/29 20:30:00')
Required fields: Title, From, To.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Meetings WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Meetings SET Description = 'Changed from the API.' WHERE Id = '3152079000000154219'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the meeting. |
| Title | String | False |
The title or subject of the meeting. |
| Location | String | False |
The location where the meeting is scheduled. |
| Allday | Bool | False |
Indicates whether the meeting lasts the entire day. |
| From | Datetime | False |
The start date and time of the meeting. |
| To | Datetime | False |
The end date and time of the meeting. |
| Host_Id | String | False |
Unique identifier of the meeting host. |
| Host_FirstName | String | True |
First name of the meeting host. |
| Host_LastName | String | True |
Last name of the meeting host. |
| Host_Email | String | True |
Email address of the meeting host. |
| Host_Name | String | True |
Full name of the meeting host. |
| ContactName_Id | String | False |
Unique identifier of the contact associated with the meeting. |
| ContactName_Name | String | True |
Full name of the contact associated with the meeting. |
| RelatedTo_Id | String | False |
Unique identifier of the related record. |
| RelatedTo_Name | String | True |
Name of the related record. |
| Repeat_Id | String | False |
Unique identifier of the repeat schedule. |
| Repeat_Name | String | True |
Name of the repeat schedule. |
| Reminder | String | False |
Reminder settings for the meeting. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the meeting. |
| CreatedBy_FirstName | String | True |
First name of the user who created the meeting. |
| CreatedBy_LastName | String | True |
Last name of the user who created the meeting. |
| CreatedBy_Email | String | True |
Email address of the user who created the meeting. |
| CreatedBy_Name | String | True |
Full name of the user who created the meeting. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the meeting. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the meeting. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the meeting. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the meeting. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the meeting. |
| CreatedTime | Datetime | False |
Date and time when the meeting was created. |
| ModifiedTime | Datetime | False |
Date and time when the meeting was last modified. |
| Participants | String | False |
List of participants invited to the meeting. |
| Description | String | False |
Detailed description of the meeting. |
| Check-InTime | Datetime | True |
Date and time when the participant checked in. |
| Check-InBy_Id | String | False |
Unique identifier of the user who performed the check-in. |
| Check-InBy_Name | String | True |
Name of the user who performed the check-in. |
| Check-InComment | String | True |
Comment added during check-in. |
| Check-InSub-Locality | String | True |
Sub-locality where the check-in occurred. |
| Check-InCity | String | True |
City where the check-in occurred. |
| Check-InState | String | True |
State where the check-in occurred. |
| Check-InCountry | String | True |
Country where the check-in occurred. |
| Latitude | Double | True |
Latitude coordinate of the check-in location. |
| Longitude | Double | True |
Longitude coordinate of the check-in location. |
| ZipCode | String | True |
Postal code of the check-in location. |
| Check-InAddress | String | True |
Full address of the check-in location. |
| CheckedInStatus | String | True |
Current check-in status of the meeting. |
| Tag | String | False |
User-defined tags for categorization or filtering. |
| ParticipantsReminder | String | False |
Reminder configuration for meeting participants. |
| RecordId | Long | True |
Internal identifier used for processing the record. |
| LastActivityTime | Datetime | False |
The last date and time when the meeting was interacted with. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The field or fields used to detect duplicate records during an upsert. The REST API supports multiple fields, but the BULK API supports only one. |
| Trigger | String |
Used to trigger workflow rules when a record is inserted into the CRM account. |
| CustomViewId | Long |
Identifier for the custom view used to filter this record. This works only when useCOQL is set to false. |
Holds free-form text notes linked to CRM records, including author, timestamp, and rich-text content.
Note: The Bulk API is not supported by the Notes table. Due to this, if you are using the Bulk API (UseCOQL set to False and APIType set to Bulk), the Cloud will instead use the REST API (with its associated limitations) when working with notes data. Refer to v2, v2.1, or v4 (in accordance with the value you set for Schema) to see the limits imposed by the REST API.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
SELECT * FROM Notes WHERE Id = '3152079000000153079'
INSERT INTO Notes (ParentID_Id, ModuleName, NoteContent) VALUES ('3276571000000184007', 'Leads', 'Janet converted this lead.')
Required fields:
You can insert any field which is not read-only (ReadOnly = false in the table below).
Specify the Id in the WHERE clause when executing a delete in this table.
DELETE FROM Notes WHERE Id = '3152079000000488014'
Specify the Id in the WHERE clause when executing an update in this table.
UPDATE Notes SET NoteTitle = 'Changed from the API.' WHERE Id = '3152079000000304003'
Required fields: Id.
You can update any field which is not read-only (ReadOnly = false in the table below).
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the note. |
| NoteOwner_Id | String | False |
Id of the user who owns the note. |
| NoteOwner_FirstName | String | True |
First name of the user who owns the note. |
| NoteOwner_LastName | String | True |
Last name of the user who owns the note. |
| NoteOwner_Email | String | True |
Email address of the user who owns the note. |
| NoteOwner_Name | String | True |
Full name of the user who owns the note. |
| NoteTitle | String | False |
Title of the note. |
| NoteContent | String | False |
Main content of the note. |
| ParentID_Id | String | False |
Id of the parent record the note is associated with. |
| ParentID_Name | String | True |
Name of the parent record the note is associated with. |
| CreatedBy_Id | String | False |
Id of the user who created the note. |
| CreatedBy_FirstName | String | True |
First name of the user who created the note. |
| CreatedBy_LastName | String | True |
Last name of the user who created the note. |
| CreatedBy_Email | String | True |
Email address of the user who created the note. |
| CreatedBy_Name | String | True |
Full name of the user who created the note. |
| ModifiedBy_Id | String | False |
Id of the user who last modified the note. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the note. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the note. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the note. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the note. |
| CreatedTime | Datetime | False |
Date and time when the note was created. |
| ModifiedTime | Datetime | False |
Date and time when the note was last modified. |
| RecordId | Long | True |
Internal record identifier used for tracking. |
| Associated_Id | Long | False |
Identifier linking the note to another record. |
| ModuleName | String | False |
Name of the module to which the note belongs. |
| Attachments | String | False |
List of files attached to the note. |
| Editable | String | False |
Indicates whether the note can be edited. |
| IsSharedToClient | String | False |
Indicates whether the note is visible to the client. |
| State | String | False |
Status or state of the note. |
| VoiceNote | String | False |
Link or reference to the associated voice note, if any. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to identify duplicates during an upsert operation. The REST API allows multiple fields, while the BULK API allows only one. |
| Trigger | String |
Used to trigger automation rules when inserting a note into the CRM account. |
| CustomViewId | Long |
Custom view identifier used to filter this note. Works only when the useCOQL parameter is set to false. |
Stores definitions of deal pipelines and their stages, allowing retrieval of every pipeline or a specific one in the Deals module.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM Pipeline WHERE Id = '228122000000223002' AND LayoutId = '228122000000000173' SELECT * FROM Pipeline WHERE LayoutId = '228122000000000173'
Insert Into Pipeline (LayoutId,DisplayValue,default,maps) VALUES ('4917206000000318488','Test_pipee11','true','[\n" +
" {\n" +
" \"display_value\": \"Qualification\",\n" +
" \"sequence_number\": \"2\",\n" +
" \"id\": \"4917206000000006801\"\n" +
" },\n" +
" {\n" +
" \"display_value\": \"Needs Analysis\",\n" +
" \"sequence_number\": \"1\",\n" +
" \"id\": \"4917206000000006803\"\n" +
" }\n" +
" ]')
Required fields: LayoutId, DisplayValue, Default and maps.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id and LayoutId in the WHERE clause when executing an update against this table.
UPDATE Pipeline Set DisplayValue = 'Pipeline_test12', default = 'false' WHERE Id = '4917206000000357004' AND LayoutId = '4917206000000318488' ")
Required fields: Id,LayoutId.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
The users can use the TransferAndDeltePipeline stored procedure to delete the pipeline.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique numeric identifier for the pipeline. |
| DisplayValue | String | False |
Display name of the pipeline. |
| Default | Boolean | False |
Indicates whether this pipeline is the default one. |
| ActualValue | String | False |
Actual internal name of the pipeline. |
| Maps | String | False |
List of stages that a deal must pass through in the sales pipeline. |
| LayoutId [KEY] | String | False |
Unique identifier of the layout in the Deals module used to retrieve pipeline details. |
Maintains price book records with custom price tiers for products; not accessible in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new price book with a name and set it to active
INSERT INTO PriceBooks (PriceBookName, Active) VALUES ('pricebook_2018', true)
Required fields: PriceBookName is required. This is the name of the price book and must be provided to create a new record.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a price book by its unique ID
DELETE FROM PriceBooks WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific price book using its ID
UPDATE PriceBooks SET Description = 'Changed from the API.' WHERE Id = '3152079000000488023'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the price book record. |
| PriceBookOwner_Id | String | False |
Unique identifier of the user who owns the price book. |
| PriceBookOwner_FirstName | String | True |
First name of the user who owns the price book. |
| PriceBookOwner_LastName | String | True |
Last name of the user who owns the price book. |
| PriceBookOwner_Email | String | True |
Email address of the user who owns the price book. |
| PriceBookOwner_Name | String | True |
Full name of the user who owns the price book. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the price book. |
| CreatedBy_FirstName | String | True |
First name of the user who created the price book. |
| CreatedBy_LastName | String | True |
Last name of the user who created the price book. |
| CreatedBy_Email | String | True |
Email address of the user who created the price book. |
| CreatedBy_Name | String | True |
Full name of the user who created the price book. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the price book. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the price book. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the price book. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the price book. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the price book. |
| CreatedTime | Datetime | False |
Date and time when the price book was created. |
| ModifiedTime | Datetime | False |
Date and time when the price book was last modified. |
| PriceBookName | String | False |
Name of the price book. |
| Active | Bool | False |
Indicates whether the price book is currently active. |
| PricingModel | String | False |
Type of pricing model used in the price book. |
| Tag | String | False |
Tag associated with the price book for categorization or filtering. |
| PricingDetails | String | False |
Details of the pricing associated with the price book. |
| Description | String | False |
Description of the price book. |
| RecordId | Long | True |
Internal identifier of the record for internal tracking purposes. |
| Locked | Bool | True |
Indicates whether the price book is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity related to this price book. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicate records during an upsert operation. The REST API supports multiple fields, but the BULK API supports only one. |
| Trigger | String |
Used to trigger automation rules when inserting a record into the CRM account. |
| CustomViewId | Long |
Identifier of the custom view used to filter this record. Applies only when the useCOQL parameter is false. |
Contains product catalog entries (SKU, category, list price, and inventory details) with full record management.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new product and mark it as active
INSERT INTO Products (ProductName, ProductActive) VALUES ('C-3PO', true)
Required fields: ProductName is required. This is the name of the product and must be provided to create a new record.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a product by its unique ID
DELETE FROM Products WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific product using its ID
UPDATE Products SET Description = 'Changed from the API.' WHERE Id = '3152079000000487023'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the product. |
| ProductOwner_Id | String | False |
Unique identifier of the user who owns the product. |
| ProductOwner_FirstName | String | True |
First name of the user who owns the product. |
| ProductOwner_LastName | String | True |
Last name of the user who owns the product. |
| ProductOwner_Email | String | True |
Email address of the user who owns the product. |
| ProductOwner_Name | String | True |
Full name of the user who owns the product. |
| ProductName | String | False |
Name of the product. |
| ProductCode | String | False |
Code assigned to the product. |
| VendorName_Id | String | False |
Unique identifier of the associated vendor. |
| VendorName_Name | String | True |
Name of the associated vendor. |
| ProductActive | Bool | False |
Indicates whether the product is active. |
| Manufacturer | String | False |
Name of the manufacturer of the product. |
| ProductCategory | String | False |
Category to which the product belongs. |
| SalesStartDate | Date | False |
Date on which sales of the product began. |
| SalesEndDate | Date | False |
Date on which sales of the product ended. |
| SupportStartDate | Date | False |
Date when support for the product began. |
| SupportEndDate | Date | False |
Date when support for the product ended. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the product record. |
| CreatedBy_FirstName | String | True |
First name of the user who created the product record. |
| CreatedBy_LastName | String | True |
Last name of the user who created the product record. |
| CreatedBy_Email | String | True |
Email address of the user who created the product record. |
| CreatedBy_Name | String | True |
Full name of the user who created the product record. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the product record. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the product record. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the product record. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the product record. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the product record. |
| CreatedTime | Datetime | False |
Date and time when the product record was created. |
| ModifiedTime | Datetime | False |
Date and time when the product record was last modified. |
| Tag | String | False |
Tag used to categorize or filter the product. |
| UnitPrice | Decimal | False |
Unit price of the product. |
| CommissionRate | Decimal | False |
Commission rate applicable to the product. |
| Tax | String | False |
Tax information for the product. |
| Taxable | Bool | False |
Indicates whether the product is subject to tax. |
| UsageUnit | String | False |
Unit in which the product is measured or sold. |
| QtyOrdered | Double | False |
Total quantity of the product that has been ordered. |
| QuantityinStock | Double | False |
Current quantity of the product available in stock. |
| ReorderLevel | Double | False |
Stock level at which the product is reordered. |
| Handler_Id | String | False |
Unique identifier of the user handling the product. |
| Handler_Name | String | True |
Name of the user handling the product. |
| QuantityinDemand | Double | False |
Quantity of the product that is currently in demand. |
| Description | String | False |
Description of the product. |
| ProductImage | String | False |
Path or URL to the image of the product. |
| RecordId | Long | True |
Internal record identifier for the product. |
| Locked | Bool | True |
Indicates whether the product record is locked from modifications. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity on the product record. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicate records during an upsert. The REST API allows multiple fields; the BULK API allows only one. |
| Trigger | String |
Used to trigger automation rules when inserting a record into the CRM account. |
| CustomViewId | Long |
Custom view identifier used to filter this product record. Applies only when the useCOQL parameter is false. |
Stores purchase orders issued to vendors, tracking delivery status, billing terms, and related inventory; unavailable in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation with line item details:
-- Insert a new purchase order with a subject and product line items
INSERT INTO PurchaseOrders (Subject, VendorName_Id, PurchaseItems) VALUES (
-- This is the value for the Subject column
'Purchase Order',
-- This is the value for the VendorName_Id column
'1021046000000513014',
-- This is the JSON string for PurchaseItems
'[
{
"Product_Name": {
"id": "1021046000000414457"
},
"Quantity": 1024,
"Discount": 99,
"Tax": 13,
"List_Price": 176.21,
"Description": "test description 1"
}
]'
)
Required fields for REST API: Subject and PurchaseItems are required. These provide the order summary and line item data needed to create a purchase order.
Required fields for BULK API: Subject, VendorName_Id and PurchaseItems are required. These provide the order summary, the vendor's identifier and line item data needed to create a purchase order.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
Please note that the REST API honors only the 'id' field of the 'Product_Name' aggregate in the PurchaseItems column. The BULK API does not accept any other field in this aggregate.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a purchase order by its unique ID
DELETE FROM PurchaseOrders WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific purchase order using its ID
UPDATE PurchaseOrders SET Description = 'Changed from the API.' WHERE Id = '3152079000000492001'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the purchase order record. |
| RequisitionNumber | String | False |
Requisition number associated with the purchase order. |
| TrackingNumber | String | False |
Tracking number for the shipment related to the purchase order. |
| PONumber | String | False |
Unique purchase order number. |
| Subject | String | False |
Subject or title of the purchase order. |
| VendorName_Id | String | False |
Unique identifier of the associated vendor. |
| VendorName_Name | String | True |
Name of the associated vendor. |
| ContactName_Id | String | False |
Unique identifier of the associated contact. |
| ContactName_Name | String | True |
Name of the associated contact. |
| PODate | Date | False |
Date when the purchase order was issued. |
| DueDate | Date | False |
Date by which the goods or services should be delivered. |
| Carrier | String | False |
Name of the shipping carrier handling the order. |
| ExciseDuty | Decimal | False |
Excise duty applied to the order. |
| SalesCommission | Decimal | False |
Sales commission associated with the order. |
| Status | String | False |
Current status of the purchase order. |
| PurchaseOrderOwner_Id | String | False |
Unique identifier of the purchase order owner. |
| PurchaseOrderOwner_FirstName | String | True |
First name of the purchase order owner. |
| PurchaseOrderOwner_LastName | String | True |
Last name of the purchase order owner. |
| PurchaseOrderOwner_Email | String | True |
Email address of the purchase order owner. |
| PurchaseOrderOwner_Name | String | True |
Full name of the purchase order owner. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the purchase order. |
| CreatedBy_FirstName | String | True |
First name of the user who created the purchase order. |
| CreatedBy_LastName | String | True |
Last name of the user who created the purchase order. |
| CreatedBy_Email | String | True |
Email address of the user who created the purchase order. |
| CreatedBy_Name | String | True |
Full name of the user who created the purchase order. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the purchase order. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the purchase order. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the purchase order. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the purchase order. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the purchase order. |
| CreatedTime | Datetime | False |
Date and time when the purchase order was created. |
| ModifiedTime | Datetime | False |
Date and time when the purchase order was last modified. |
| Tag | String | False |
Tags associated with the purchase order. |
| BillingStreet | String | False |
Billing street address for the order. |
| ShippingStreet | String | False |
Shipping street address for the order. |
| BillingCity | String | False |
Billing city for the order. |
| ShippingCity | String | False |
Shipping city for the order. |
| BillingState | String | False |
Billing state for the order. |
| ShippingState | String | False |
Shipping state for the order. |
| BillingCode | String | False |
Billing postal code for the order. |
| ShippingCode | String | False |
Shipping postal code for the order. |
| BillingCountry | String | False |
Billing country for the order. |
| ShippingCountry | String | False |
Shipping country for the order. |
| SubTotal | String | True |
Subtotal amount before discounts and taxes. |
| Discount | Decimal | False |
Discount applied to the purchase order. |
| Tax | Decimal | False |
Tax applied to the purchase order. |
| Adjustment | Decimal | False |
Manual adjustments made to the total. |
| GrandTotal | String | True |
Total amount after discounts, taxes, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions related to the purchase order. |
| Description | String | False |
Description or additional details of the purchase order. |
| PurchaseItems | String | False |
List of items associated with the purchase order. |
| RecordId | Long | True |
Internal record identifier. |
| Locked | Bool | True |
Indicates whether the record is locked from editing. |
| LastActivityTime | Datetime | False |
Date and time of the last activity associated with the record. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicate records during an upsert operation. The REST API allows multiple fields; the BULK API allows only one. |
| Trigger | String |
Specifies whether to trigger associated rules when inserting this record into the CRM account. |
| CustomViewId | Long |
Custom view identifier used to filter this record when the useCOQL parameter is set to false. |
Holds quote records sent to customers with validity dates, tax details, and approval status; available only in paid editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Quotes (Subject, AccountName_Id, QuotedItems) VALUES ('QuotedItems', '1021046000000427103', '[
{
"Product_Name": {
"id": "1021046000000414457"
},
"Quantity": 1024,
"Discount": 99,
"Tax": 13,
"List_Price": 176.21,
"Description": "test"
}
]');
Required fields for REST API: Subject, QuotedItems.
Required fields for BULK API: Subject, AccountName_Id, QuotedItems.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
Please note that the REST API honors only the 'id' field of the 'Product_Name' aggregate in the QuotedItems column. The BULK API does not accept any other field in this aggregate.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Quotes WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Quotes SET Description = 'Changed from the API.' WHERE Id = '3152079000000490009'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the quote. |
| Team | String | False |
Team associated with the quote. |
| QuoteNumber | String | True |
System-generated number assigned to the quote. |
| Subject | String | False |
Subject line or title of the quote. |
| DealName_Id | String | False |
Unique identifier of the deal associated with this quote. |
| DealName_Name | String | True |
Name of the deal associated with this quote. |
| QuoteStage | String | False |
Current stage of the quote in the sales process. |
| ValidUntil | Date | False |
Expiration date of the quote. |
| ContactName_Id | String | False |
Unique identifier of the contact linked to the quote. |
| ContactName_Name | String | True |
Name of the contact linked to the quote. |
| Carrier | String | False |
Shipping carrier specified for the quote. |
| AccountName_Id | String | False |
Unique identifier of the account associated with this quote. |
| AccountName_Name | String | True |
Name of the account associated with this quote. |
| QuoteOwner_Id | String | False |
Unique identifier of the user who owns this quote. |
| QuoteOwner_FirstName | String | True |
First name of the quote owner. |
| QuoteOwner_LastName | String | True |
Last name of the quote owner. |
| QuoteOwner_Email | String | True |
Email address of the quote owner. |
| QuoteOwner_Name | String | True |
Full name of the quote owner. |
| CreatedBy_Id | String | False |
Unique identifier of the user who created the quote. |
| CreatedBy_FirstName | String | True |
First name of the user who created the quote. |
| CreatedBy_LastName | String | True |
Last name of the user who created the quote. |
| CreatedBy_Email | String | True |
Email address of the user who created the quote. |
| CreatedBy_Name | String | True |
Full name of the user who created the quote. |
| ModifiedBy_Id | String | False |
Unique identifier of the user who last modified the quote. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the quote. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the quote. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the quote. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the quote. |
| CreatedTime | Datetime | False |
Date and time when the quote was created. |
| ModifiedTime | Datetime | False |
Date and time when the quote was last modified. |
| Tag | String | False |
Tags applied to the quote for categorization or search. |
| BillingStreet | String | False |
Billing street address for the quote. |
| ShippingStreet | String | False |
Shipping street address for the quote. |
| BillingCity | String | False |
Billing city for the quote. |
| ShippingCity | String | False |
Shipping city for the quote. |
| BillingState | String | False |
Billing state for the quote. |
| ShippingState | String | False |
Shipping state for the quote. |
| BillingCode | String | False |
Billing postal code for the quote. |
| ShippingCode | String | False |
Shipping postal code for the quote. |
| BillingCountry | String | False |
Billing country for the quote. |
| ShippingCountry | String | False |
Shipping country for the quote. |
| SubTotal | String | True |
Subtotal amount before taxes and discounts. |
| Discount | Decimal | False |
Total discount applied to the quote. |
| Tax | Decimal | False |
Total tax amount for the quote. |
| Adjustment | Decimal | False |
Any additional adjustments to the total quote amount. |
| GrandTotal | String | True |
Final total amount after applying discounts, taxes, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions specified in the quote. |
| Description | String | False |
Description or notes related to the quote. |
| QuotedItems | String | False |
List of items included in the quote. |
| RecordId | Long | True |
System-generated record identifier for internal tracking. |
| Locked | Bool | True |
Indicates whether the quote is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the last activity on the quote. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Fields used to check for duplicates during upsert. The REST API allows multiple fields, but the BULK API only supports one. |
| Trigger | String |
Specifies whether to trigger rules when inserting the record into the CRM account. |
| CustomViewId | Long |
Custom view Id used to filter this record. Successful when the useCOQL parameter is set to false. |
Tracks confirmed sales orders with shipment status, billing details, and linked invoices; not available in free or standard editions.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO SalesOrders (Subject, AccountName_Id, OrderedItems) VALUES ('Sales Order', '1021046000000427104', '[
{
"Product_Name": {
"id": "1021046000000414457"
},
"Quantity": 1024,
"Discount": 99,
"Tax": 13,
"List_Price": 176.21,
"Description": "test description 3"
}
]');
Required fields for REST API: Subject, OrderedItems.
Required fields for BULK API: Subject, AccountName_Id, OrderedItems.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
Please note that the REST API honors only the 'id' field of the 'Product_Name' aggregate in the OrderedItems column. The BULK API does not accept any other field in this aggregate.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM SalesOrders WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE SalesOrders SET Description = 'Changed from the API.' WHERE Id = '3152079000000493027'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the sales order. |
| CustomerNo. | String | False |
Customer number associated with the sales order. |
| SONumber | String | True |
Sales order number. |
| Subject | String | False |
Subject or title of the sales order. |
| DealName_Id | String | False |
Identifier of the related deal. |
| DealName_Name | String | True |
Name of the related deal. |
| PurchaseOrder | String | False |
Purchase order number associated with the sales order. |
| QuoteName_Id | String | False |
Identifier of the related quote. |
| QuoteName_Name | String | True |
Name of the related quote. |
| DueDate | Date | False |
Date by which the sales order is due. |
| Pending | String | False |
Represents pending items or actions on the sales order. |
| ContactName_Id | String | False |
Identifier of the associated contact. |
| ContactName_Name | String | True |
Name of the associated contact. |
| Carrier | String | False |
Name of the shipping carrier for the sales order. |
| ExciseDuty | Decimal | False |
Amount of excise duty applied. |
| SalesCommission | Decimal | False |
Commission earned on the sales order. |
| Status | String | False |
Current status of the sales order. |
| AccountName_Id | String | False |
Identifier of the associated account. |
| AccountName_Name | String | True |
Name of the associated account. |
| SalesOrderOwner_Id | String | False |
Identifier of the user who owns the sales order. |
| SalesOrderOwner_FirstName | String | True |
First name of the sales order owner. |
| SalesOrderOwner_LastName | String | True |
Last name of the sales order owner. |
| SalesOrderOwner_Email | String | True |
Email address of the sales order owner. |
| SalesOrderOwner_Name | String | True |
Full name of the sales order owner. |
| CreatedBy_Id | String | False |
Identifier of the user who created the sales order. |
| CreatedBy_FirstName | String | True |
First name of the user who created the sales order. |
| CreatedBy_LastName | String | True |
Last name of the user who created the sales order. |
| CreatedBy_Email | String | True |
Email address of the user who created the sales order. |
| CreatedBy_Name | String | True |
Full name of the user who created the sales order. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the sales order. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the sales order. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the sales order. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the sales order. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the sales order. |
| CreatedTime | Datetime | False |
Date and time when the sales order was created. |
| ModifiedTime | Datetime | False |
Date and time when the sales order was last modified. |
| Tag | String | False |
Tags associated with the sales order. |
| BillingStreet | String | False |
Billing street address. |
| ShippingStreet | String | False |
Shipping street address. |
| BillingCity | String | False |
Billing city. |
| ShippingCity | String | False |
Shipping city. |
| BillingState | String | False |
Billing state. |
| ShippingState | String | False |
Shipping state. |
| BillingCode | String | False |
Billing postal code. |
| ShippingCode | String | False |
Shipping postal code. |
| BillingCountry | String | False |
Billing country. |
| ShippingCountry | String | False |
Shipping country. |
| SubTotal | String | True |
Subtotal amount before tax and discounts. |
| Discount | Decimal | False |
Discount applied to the sales order. |
| Tax | Decimal | False |
Total tax amount applied to the sales order. |
| Adjustment | Decimal | False |
Any manual adjustment applied to the total. |
| GrandTotal | String | True |
Final total amount after taxes, discounts, and adjustments. |
| TermsandConditions | String | False |
Terms and conditions associated with the sales order. |
| Description | String | False |
Additional notes or description of the sales order. |
| OrderedItems | String | False |
List of items included in the sales order. |
| RecordId | Long | True |
Record identifier used internally. |
| Locked | Bool | True |
Indicates whether the record is locked for editing. |
| LastActivityTime | Datetime | False |
Date and time of the last activity on the record. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields to use when checking for duplicate records during upsert. The REST API supports multiple fields, but the BULK API supports only one. |
| Trigger | String |
Used to trigger workflow rules during record insertion into the CRM. |
| CustomViewId | Long |
Custom view identifier for filtering this record. Works only when the useCOQL parameter is false. |
Stores knowledge-base articles and troubleshooting guides used by support teams to resolve cases.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with supported columns and operators. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic insert operation:
-- Insert a new solution with a title and initial status
INSERT INTO Solutions (SolutionTitle, Status) VALUES ('Converting from XML to JSON', 'Created')
Required fields: SolutionTitle is required. It provides the title of the solution being documented.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a solution by its unique ID
DELETE FROM Solutions WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the question field for a specific solution using its ID
UPDATE Solutions SET Question = 'Changed from the API.' WHERE Id = '3152079000000492018'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier of the solution. |
| SolutionNumber | String | False |
Reference number assigned to the solution. |
| SolutionOwner_Id | String | False |
Identifier of the user who owns the solution. |
| SolutionOwner_FirstName | String | True |
First name of the solution owner. |
| SolutionOwner_LastName | String | True |
Last name of the solution owner. |
| SolutionOwner_Email | String | True |
Email address of the solution owner. |
| SolutionOwner_Name | String | True |
Full name of the solution owner. |
| SolutionTitle | String | False |
Title of the solution. |
| Published | Bool | False |
Indicates whether the solution is published. |
| Status | String | False |
Current status of the solution. |
| ProductName_Id | String | False |
Identifier of the related product. |
| ProductName_Name | String | True |
Name of the related product. |
| No.ofcomments | Int | True |
Number of comments added to the solution. |
| CreatedBy_Id | String | False |
Identifier of the user who created the solution. |
| CreatedBy_FirstName | String | True |
First name of the user who created the solution. |
| CreatedBy_LastName | String | True |
Last name of the user who created the solution. |
| CreatedBy_Email | String | True |
Email address of the user who created the solution. |
| CreatedBy_Name | String | True |
Full name of the user who created the solution. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the solution. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the solution. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the solution. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the solution. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the solution. |
| CreatedTime | Datetime | False |
Date and time when the solution was created. |
| ModifiedTime | Datetime | False |
Date and time when the solution was last modified. |
| Tag | String | False |
Tags associated with the solution. |
| Question | String | False |
Question or problem statement addressed by the solution. |
| Answer | String | False |
Answer or resolution provided in the solution. |
| AddComment | String | False |
New comment added to the solution. |
| Comments | String | True |
List of comments associated with the solution. |
| RecordId | Long | True |
Record identifier used internally. |
| Locked | Bool | True |
Indicates whether the record is locked for editing. |
| LastActivityTime | Datetime | False |
Date and time of the last activity related to the solution. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields to use when checking for duplicate records during upsert. The REST API supports multiple fields, but the BULK API supports only one. |
| Trigger | String |
Used to trigger workflow rules during record insertion into the CRM. |
| CustomViewId | Long |
Custom view identifier for filtering this record. Works only when the useCOQL parameter is false. |
Manages to-do items linked to CRM records, with due dates, priorities, reminders, and completion status.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
INSERT INTO Tasks(Subject, Status) VALUES ('Finish sending emails to potential leads.', 'Created')
INSERT INTO Tasks(Subject, Status, ModuleName) VALUES ('Finish sending emails to potential leads.', 'Created', 'Contacts')
INSERT INTO Tasks(Subject, Status, ModuleName, RelatedTo_Id) VALUES ('Finish sending emails to potential leads.', 'Created', 'Contacts', '2788704000120533263')
Required fields: Subject, ModuleName if RelatedTo_Id is specified.
Any field which is not read-only (ReadOnly = false in the table below) can be inserted.
You must specify the Id in the WHERE clause when executing a delete against this table.
DELETE FROM Tasks WHERE Id = '3152079000000153079'
You must specify the Id in the WHERE clause when executing an update against this table.
UPDATE Tasks SET Status = 'In progress' WHERE Id = '3152079000000492026'
Required fields: Id.
Any field which is not read-only (ReadOnly = false in the table below) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
Unique identifier for the task record. |
| TaskOwner_Id | String | False |
Identifier of the user assigned as the task owner. |
| TaskOwner_FirstName | String | True |
First name of the task owner. |
| TaskOwner_LastName | String | True |
Last name of the task owner. |
| TaskOwner_Email | String | True |
Email address of the task owner. |
| TaskOwner_Name | String | True |
Full name of the task owner. |
| Subject | String | False |
Title or summary of the task. |
| DueDate | Date | False |
The date by which the task should be completed. |
| ContactName_Id | String | False |
Identifier of the contact associated with the task. |
| ContactName_Name | String | True |
Name of the contact associated with the task. |
| RelatedTo_Id | String | False |
Identifier of the related entity or record. |
| RelatedTo_Name | String | True |
Name of the related entity or record. |
| Status | String | False |
Current status of the task, such as Open or Completed. |
| Priority | String | False |
Priority level of the task, such as High, Medium, or Low. |
| ClosedTime | Datetime | True |
Timestamp indicating when the task was marked as completed. |
| SendNotificationEmail | Bool | False |
Indicates whether a notification email is sent. |
| Repeat_Id | String | False |
Identifier of the recurring schedule, if the task is recurring. |
| Repeat_Name | String | True |
Name or description of the recurring schedule. |
| Reminder_Id | String | False |
Identifier of the reminder associated with the task. |
| Reminder_Name | String | True |
Name or description of the task reminder. |
| CreatedBy_Id | String | False |
Identifier of the user who created the task. |
| CreatedBy_FirstName | String | True |
First name of the user who created the task. |
| CreatedBy_LastName | String | True |
Last name of the user who created the task. |
| CreatedBy_Email | String | True |
Email address of the user who created the task. |
| CreatedBy_Name | String | True |
Full name of the user who created the task. |
| ModifiedBy_Id | String | False |
Identifier of the user who last modified the task. |
| ModifiedBy_FirstName | String | True |
First name of the user who last modified the task. |
| ModifiedBy_LastName | String | True |
Last name of the user who last modified the task. |
| ModifiedBy_Email | String | True |
Email address of the user who last modified the task. |
| ModifiedBy_Name | String | True |
Full name of the user who last modified the task. |
| CreatedTime | Datetime | False |
Timestamp indicating when the task was created. |
| ModifiedTime | Datetime | False |
Timestamp indicating when the task was last modified. |
| Tag | String | False |
Tags or labels associated with the task. |
| Description | String | False |
Detailed information or notes about the task. |
| RecordId | Long | True |
Internal record identifier. |
| Locked | Bool | True |
Indicates whether the task is locked from editing. |
| LastActivityTime | Datetime | False |
Timestamp of the most recent activity on the task. |
| ModuleName | String | False |
Name of the module to which the task belongs. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
Field or fields used to detect duplicate records during an upsert. The REST API supports multiple fields, while the BULK API supports only one. |
| Trigger | String |
Used to trigger automation rules when inserting a record into the CRM account. |
| CustomViewId | Long |
Custom view identifier for filtering this record. Effective only when the useCOQL parameter is set to false. |
Stores vendor details such as addresses, contact information, and payment terms, for procurement workflows.
This table supports COQL for filtering, meaning that most filters comparing columns to values are submitted server-side.
The following example demonstrates a basic insert operation:
-- Insert a new vendor with a name, email address, and website
INSERT INTO Vendors (VendorName, Email, Website) VALUES ('XYZVendor', '[email protected]', 'vendeverything.xyz')
Required fields: VendorName is required. This identifies the vendor record being created.
Any field which is not read-only (ReadOnly = false in the table schema) can be inserted.
You must specify the Id column in the WHERE clause to delete a record. The following example demonstrates a delete operation:
-- Delete a vendor by its unique ID
DELETE FROM Vendors WHERE Id = '3152079000000153079'
You must specify the Id column in the WHERE clause to update a record. The following example demonstrates an update operation:
-- Update the description for a specific vendor using its ID
UPDATE Vendors SET Description = 'Changed from the API' WHERE Id = '3152079000000492032'
Required fields: Id is required. The update must target a specific record.
Any field which is not read-only (ReadOnly = false in the table schema) can be updated.
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
A unique identifier (Id) for the vendor record. |
| VendorName | String | False |
The name of the vendor. |
| Phone | String | False |
The vendor's phone number. |
| String | False |
The vendor's email address. | |
| Website | String | False |
The vendor's website URL. |
| GLAccount | String | False |
The general ledger account associated with the vendor. |
| Category | String | False |
The category or classification of the vendor. |
| VendorOwner_Id | String | False |
The unique Id of the user who owns this vendor record. |
| VendorOwner_FirstName | String | True |
The first name of the vendor record owner. |
| VendorOwner_LastName | String | True |
The last name of the vendor record owner. |
| VendorOwner_Email | String | True |
The email address of the vendor record owner. |
| VendorOwner_Name | String | True |
The full name of the vendor record owner. |
| CreatedBy_Id | String | False |
The unique Id of the user who created this vendor record. |
| CreatedBy_FirstName | String | True |
The first name of the user who created this vendor record. |
| CreatedBy_LastName | String | True |
The last name of the user who created this vendor record. |
| CreatedBy_Email | String | True |
The email address of the user who created this vendor record. |
| CreatedBy_Name | String | True |
The full name of the user who created this vendor record. |
| ModifiedBy_Id | String | False |
The unique Id of the user who last modified this vendor record. |
| ModifiedBy_FirstName | String | True |
The first name of the user who last modified this vendor record. |
| ModifiedBy_LastName | String | True |
The last name of the user who last modified this vendor record. |
| ModifiedBy_Email | String | True |
The email address of the user who last modified this vendor record. |
| ModifiedBy_Name | String | True |
The full name of the user who last modified this vendor record. |
| CreatedTime | Datetime | False |
The date and time when the vendor record was created. |
| ModifiedTime | Datetime | False |
The date and time when the vendor record was last modified. |
| Tag | String | False |
Any tags associated with this vendor record. |
| Street | String | False |
The street address of the vendor. |
| City | String | False |
The city where the vendor is located. |
| State | String | False |
The state or province where the vendor is located. |
| ZipCode | String | False |
The postal code of the vendor's address. |
| Country | String | False |
The country where the vendor is located. |
| Description | String | False |
Additional descriptive information about the vendor. |
| VendorImage | String | False |
The image or logo associated with the vendor. |
| RecordId | Long | True |
A system-generated record Id for internal reference. |
| Locked | Bool | True |
Indicates whether the vendor record is locked from further edits. |
| EmailOptOut | Bool | False |
Indicates whether the vendor has opted out of email communication. |
| UnsubscribedMode | String | True |
Describes how the vendor unsubscribed from emails. |
| UnsubscribedTime | Datetime | True |
The date and time when the vendor unsubscribed. |
| LastActivityTime | Datetime | False |
The most recent time of activity related to the vendor. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String |
The fields used to check for duplicate records when performing an upsert. The REST API allows multiple fields, while the BULK API allows only one. |
| Trigger | String |
Used to trigger automation rules when inserting the vendor record. |
| CustomViewId | Long |
The custom view Id used to filter this record. Applies only when the useCOQL parameter is set to false. |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
| Name | Description |
| ActionsPerformed | Provides a detailed audit trail of user and system actions on CRM records for compliance and troubleshooting. |
| AllowedFromAddresses | Lists authorized email addresses that can appear in the From field when sending emails through Zoho CRM. |
| CustomFieldHistoryTracking | Shows every change made to selected custom fields, providing timestamps, old values, and new values for audit and compliance. |
| DealHistory | Displays a timeline of key updates to each deal, such as stage movement, owner reassignment, and expected revenue edits. |
| EmailTemplateAttachments | Lists files attached to email templates, allowing you to review, replace, or download collateral used in campaigns and workflows. |
| EmailTemplates | Retrieves metadata and HTML content for email templates available for automation or manual sending. |
| Fields | Returns detailed field metadata for a module, including label, API name, data type, mandatory status, and pick-list values. |
| InvoicedItems | Shows each product or service line item that appears on invoices, with quantity, rate, tax, and discount information. |
| Layouts | Returns the layout configuration for record pages, including sections, field order, and visibility rules. |
| ListFields | Lists the fields displayed in list views for a module, indicating column order and visibility. |
| ModuleAttachedFiles | Retrieves every file attached to records within a specified module for review or bulk download. |
| Modules | Lists all standard and custom modules in the account, including API availability and customization status. |
| OrderedItems | Shows product line items included on sales orders or quotes, detailing quantity, unit price, and discount. |
| Organizations | Displays corporate profile information, such as company name, address, fiscal year settings, time zone, and default currency. |
| PriceBookPricingDetails | Returns product-specific prices from price books; available only in paid Zoho CRM editions. |
| Profiles | Lists user profiles and their permission sets, including module access and field-level security. |
| PurchaseItems | Displays product line items on purchase orders, including cost, quantity, and vendor references. |
| QuotedItems | Shows itemized products on customer quotes, including list price, taxes, and applied discounts. |
| RecordCount | Returns the total number of records in a specified module for reporting, validation, or pagination. |
| Roles | Displays the role hierarchy and associated permissions assigned to each user. |
| StageHistories | Provides a chronological record of stage transitions for each deal, including timestamps and user information. |
| Territories | Lists sales territories defined for geographic or vertical segmentation, assisting with record assignment and reporting. |
| Users | Returns user accounts along with email, role, profile, active status, and last login time. |
| Visits | Shows recent visit activity, such as website or portal visits tracked through Zoho CRM integrations. |
Provides a detailed audit trail of user and system actions on CRM records for compliance and troubleshooting.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
Note : ActionsPerformed cannot be queried until it is enabled from the UI.
SELECT * FROM ActionsPerformed
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the performed action. |
| ActionType | String | Specifies the type of action performed, such as view, click, or reply. |
| Actions | String | Details of the specific actions taken during the interaction. |
| TimeSpent | String | Duration of time spent performing the action. |
| ActionPerformedTime | Datetime | Date and time when the action was executed. |
| ParentID_Id | String | Identifier of the parent object where the action was logged. |
| ParentID_Name | String | Name of the parent object where the action was logged. |
| ChatAttachment_Id | String | Identifier of the chat attachment related to the action. |
| ChatAttachment_Name | String | Name of the chat attachment related to the action. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | Fields used to detect duplicates during an upsert operation. |
| CustomViewId | Long | Custom view identifier used to filter this record when the useCOQL parameter is set to false. |
Lists authorized email addresses that can appear in the From field when sending emails through Zoho CRM.
Note : This view is available for API Version 2.1 and above.
The following queries are processed server side:
SELECT * FROM AllowedFromAddresses
| Name | Type | Description |
| Id | String | Unique identifier for the allowed from address. |
| String | Email address that is permitted for sending emails. | |
| Type | String | Specifies the type of the email address, such as user or system. |
| UserName | String | Name of the user associated with the email address. |
| Default | Boolean | Indicates whether this is the default email address for sending. |
Shows every change made to selected custom fields, providing timestamps, old values, and new values for audit and compliance.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
All columns used in the criteria are required. Use FieldName to specify the actual name of the tracked custom field and HistoryName to specify the name of the history tracking section. If you want to retrieve data for a specific entity of a module specify EntityId in the criteria.
For example, the following query is processed server side:
SELECT * FROM [CustomFieldHistoryTracking] WHERE ModuleName = 'Leads' AND FieldName = 'pickListField' AND HistoryName = 'Pick List 1' SELECT * FROM [CustomFieldHistoryTracking] WHERE ModuleName = 'Leads' AND FieldName = 'pickListField' AND HistoryName = 'Pick List 1' AND EntityId = '12345665'
| Name | Type | Description |
| Id [KEY] | String | A unique numeric identifier for the custom field tracking history entry. |
| ModuleName | String | The name of the module to which this custom field tracking entry belongs. |
| EntityId | String | The identifier of the record within the module to which this custom field tracking entry applies. |
| FieldName | String | The name of the custom field being tracked. |
| HistoryName | String | The name assigned to this history entry for the custom field. |
| FieldValue | String | The value of the custom field at the time of this history entry. |
| DurationDays | Integer | The number of days this field value remained unchanged. |
| ModifiedAt | Datetime | The date and time when the field value was last modified. |
| ModifiedById | String | The identifier of the user who modified the field value. |
| ModifiedByName | String | The name of the user who modified the field value. |
| CurrencySymbol | String | The currency symbol associated with the field value, if applicable. |
| ProcessFlow | Boolean | Indicates whether this value is part of a process flow. |
| Editable | Boolean | Indicates whether this historical field value can be edited. |
| Approved | Boolean | Indicates whether this historical field value has been approved. |
Displays a timeline of key updates to each deal, such as stage movement, owner reassignment, and expected revenue edits.
| Name | Type | Description |
| Id [KEY] | String | The unique identifier for the deal history record. |
| DealName_Id | String | The identifier of the deal associated with this history record. |
| DealName_Name | String | The name of the deal associated with this history record. |
| Stage | String | The stage of the deal recorded in this history entry. |
| StageDuration(CalendarDays) | Int | The number of calendar days the deal remained in this stage. |
| ModifiedBy_Id | String | The identifier of the user who modified this deal history entry. |
| ModifiedBy_Name | String | The name of the user who modified this deal history entry. |
| ModifiedTime | Datetime | The date and time when this deal history entry was last modified. |
| Amount | Decimal | The monetary amount associated with the deal at this history stage. |
| Probability(%) | Int | The probability percentage of winning the deal at this stage. |
| ExpectedRevenue | Decimal | The expected revenue from the deal at this stage. |
| ClosingDate | Date | The closing date of the deal as recorded in this history entry. |
| RecordId | Long | The internal system identifier for this history record. |
| LastActivityTime | Datetime | The date and time of the last activity related to this deal history entry. |
| MovedTo | String | The stage the deal was moved to after this entry. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | The field or fields used to check for duplicate records during an upsert operation. |
| CustomViewId | Long | The custom view identifier used to filter this record. Works only when the useCOQL parameter is false. |
| Trigger | String | Indicates whether to trigger a rule when inserting a record into the CRM account. |
Lists files attached to email templates, allowing you to review, replace, or download collateral used in campaigns and workflows.
Note : This view is available for API Version 2.1 and above.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM EmailTemplateAttachments SELECT * FROM EmailTemplateAttachments where EmailTemplateId = '721000000' SELECT * FROM EmailTemplateAttachments where ModuleName='Accounts'
| Name | Type | Description |
| Id [KEY] | String | The unique identifier of the attachment. |
| EmailTemplateId | String | The unique identifier of the email template associated with the attachment. |
| FileId | String | The unique identifier of the file attached to the email template. |
| FileName | String | The name of the file attached to the email template. |
| Size | String | The file size of the attachment. |
| ModuleName | String | The name of the module for which the user wants to retrieve the fields. |
Retrieves metadata and HTML content for email templates available for automation or manual sending.
Note : This view is available for API Version 2.1 and above.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM EmailTemplates SELECT * FROM EmailTemplates where id = '721000000' SELECT * FROM EmailTemplates where ModuleApiName='Accounts'
| Name | Type | Description |
| Id [KEY] | String | The unique identifier of the email template. |
| Active | Boolean | Indicates whether the email template is active. |
| Associated | Boolean | Indicates whether the template is associated with a module. |
| Attachments | String | The attachments included in the email template. |
| Category | String | The type of email template, such as standard or automated.
The allowed values are custom_templates, system_templates, plugin_templates, marketplace_templates. |
| ConsentLinked | Boolean | Indicates whether a consent form is linked to the template. |
| CreatedById | String | The unique identifier of the user who created the email template. |
| CreatedByName | String | The name of the user who created the email template. |
| CreatedTime | Datetime | The date and time when the email template was created. |
| EditorMode | String | The editing mode used to create the email template.
The allowed values are gallery, rich_text, plain_text. |
| Favorite | Boolean | Indicates whether the email template is marked as a favorite. |
| FolderId | String | The unique identifier of the folder where the template is stored. |
| FolderName | String | The name of the folder where the template is stored. |
| LastUsageTime | Datetime | The date and time when the template was last used. |
| LastVersionStatisticsBounced | Integer | The number of emails that bounced when this template was last used. |
| LastVersionStatisticsClicked | Integer | The number of emails that were clicked when this template was last used. |
| LastVersionStatisticsDelivered | Integer | The number of emails that were successfully delivered using this template. |
| LastVersionStatisticsOpened | Integer | The number of emails that were opened using this template. |
| LastVersionStatisticsSent | Integer | The number of emails that were sent using this template. |
| LastVersionStatisticsTracked | Integer | The number of emails that were tracked using this template. |
| Layout | String | The layout identifier associated with the template. |
| ModifiedById | String | The unique identifier of the user who last modified the email template. |
| ModifiedByName | String | The name of the user who last modified the email template. |
| ModifiedTime | Datetime | The date and time when the email template was last modified. |
| ModuleApiName | String | The API name of the module associated with the template. |
| ModuleId | String | The unique identifier of the module associated with the template. |
| Name | String | The name of the email template. |
| Subject | String | The subject line of the email template. |
Returns detailed field metadata for a module, including label, API name, data type, mandatory status, and pick-list values.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server side:
SELECT * FROM Fields WHERE ModuleName = 'Deals'
| Name | Type | Description |
| DisplayValue | String | The display name of the field as shown in the user interface. |
| ActualValue | String | The internal name of the field used in the system. |
| Id | String | The unique identifier assigned to the field. |
| ModuleName | String | The name of the module for which the user is retrieving field details. |
Shows each product or service line item that appears on invoices, with quantity, rate, tax, and discount information.
The InvoicedItems view is only accessible when connected to a ZohoCRM Enterprise Edition account. If using a different edition, this view may not be available.
Note: This view is not available in the v2 schema.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic query processed server-side:
-- Query a specific invoiced item by its unique ID
SELECT * FROM InvoicedItems WHERE Id = '3152079000000301143'
| Name | Type | Description |
| Id [KEY] | String | The unique identifier for the invoiced item. |
| S.NO | Long | The serial number of the invoiced item in the invoice. |
| CreatedTime | Datetime | The date and time when the invoiced item was created. |
| ModifiedTime | Datetime | The date and time when the invoiced item was last modified. |
| ParentID_Id | String | The unique identifier of the invoice to which this item belongs. |
| ParentID_Name | String | The name of the invoice to which this item belongs. |
| ProductName_Id | String | The unique identifier of the product associated with this item. |
| ProductName_Name | String | The name of the product associated with this item. |
| PriceBook_Id | String | The unique identifier of the price book associated with this item. |
| PriceBook_Name | String | The name of the price book associated with this item. |
| Description | String | The description of the invoiced item. |
| Quantity | String | The quantity of the product invoiced. |
| ListPrice | Decimal | The list price of the product. |
| Amount | String | The amount before any discount or tax is applied. |
| Discount | Decimal | The discount amount applied to the item. |
| TotalAfterDiscount | String | The total amount after applying the discount but before tax. |
| Tax | Decimal | The tax applied to the invoiced item. |
| Total | String | The final total of the item including tax. |
| TaxbyPercentage | String | The tax rate as a percentage applied to the item. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | The field or fields used to identify duplicate records during upsert operations. |
| CustomViewId | Long | The custom view identifier used to filter this record. Applies only when the useCOQL parameter is set to false. |
| Trigger | String | Triggers workflow rules or automation while inserting the record into the CRM account. |
Returns the layout configuration for record pages, including sections, field order, and visibility rules.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM Layouts WHERE ModuleName = 'Deals'
| Name | Type | Description |
| Id | String | The unique identifier of the layout. |
| Name | String | The name of the layout. |
| Type | String | Indicates whether the section is used in the layout. |
| ModuleName | String | The name of the module for which the layout is defined. |
Lists the fields displayed in list views for a module, indicating column order and visibility.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM ListFields WHERE ModuleName = 'Deals'
| Name | Type | Description |
| ApiName | String | The name of the field used in API operations. |
| AssociationDetails | String | Details about associations configured for this field. |
| BlueprintSupported | Boolean | Indicates whether the field is supported in blueprint processes. |
| BusinesscardSupported | Boolean | Indicates whether the field is shown in business card views. |
| ConvertMappingAccounts | String | The account field mapping used during lead conversion. |
| ConvertMappingContacts | String | The contact field mapping used during lead conversion. |
| ConvertMappingDeals | String | The deal field mapping used during lead conversion. |
| CreatedSource | String | The source from which the field was created. |
| Crypt | String | Indicates whether the field is encrypted. |
| CurrencyPrecision | Integer | Number of digits allowed after the decimal point in currency values. |
| CurrencyRoundingOption | String | The rounding rule used for currency values in this field. |
| CustomField | Boolean | Indicates whether the field is custom-defined. |
| DataType | String | The data type assigned to the field. |
| DecimalPlace | Integer | Number of decimal places supported by the field. |
| DisplayField | Boolean | Indicates whether the field is used as a primary display field. |
| DisplayLabel | String | The display label shown in the user interface. |
| DisplayType | Integer | The display type identifier for the field. |
| External | String | Indicates external integration settings or dependencies. |
| FieldLabel | String | The label used to identify the field within the module. |
| FieldReadOnly | Boolean | Indicates whether the field is read-only. |
| Filterable | Boolean | Indicates whether the field can be used in filters. |
| HistoryTracking | String | Specifies whether changes to this field are tracked over time. |
| Id | String | The unique identifier of the field. |
| JsonType | String | The JSON data type used when interacting with the field in the API. |
| Length | Integer | The maximum number of characters allowed in the field. |
| MassUpdate | Boolean | Indicates whether the field supports bulk updates. |
| PickListValues | String | The list of allowed values for a picklist field. |
| PickListValuesSortedLexically | Boolean | Indicates whether picklist values are sorted alphabetically. |
| Profiles | String | The list of profiles for which the field is available or restricted. |
| QuickSequenceNumber | String | The sequence number assigned for quick access or display. |
| ReadOnly | Boolean | Indicates whether the field is restricted from being edited. |
| Sortable | Boolean | Indicates whether the field supports sorting operations. |
| SystemMandatory | Boolean | Indicates whether the field is required by the system. |
| Tooltip | String | The tooltip text shown for the field in the user interface. |
| Type | String | The internal type designation for the field. |
| UiType | Integer | The user interface type identifier used for rendering the field. |
| ViewTypeCreate | Boolean | Indicates whether the field appears during record creation. |
| ViewTypeEdit | Boolean | Indicates whether the field appears during record editing. |
| ViewTypeQuickCreate | Boolean | Indicates whether the field appears in quick create forms. |
| ViewTypeView | Boolean | Indicates whether the field is visible in the standard record view. |
| Visible | Boolean | Indicates whether the field is visible in the module layout. |
| Webhook | Boolean | Indicates whether changes to the field trigger webhook notifications. |
| Searchable | Boolean | Indicates whether the field can be used in search queries. |
| SharingProperties | String | For lookup fields, indicates whether the user has access to referenced records. |
| ModuleName | String | The name of the module that contains this field. |
Retrieves every file attached to records within a specified module for review or bulk download.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM ModuleAttachedFiles WHERE ModuleName = "Leads"
Note: The UploadFile and DownloadFile stored procedures will not work as expected if executed in regards to a custom field. They only upload or download files in the "Attachments" section of the module. Uploading and deleting files from a custom field of type "fileupload" can be done only through the UI.
| Name | Type | Description |
| FileId | String | Unique identifier of the file attached to the module. |
| FileName | String | Name of the file attached to the module. |
| AttachmentId [KEY] | String | Unique identifier of the attachment. |
| CreatorId | String | Unique identifier of the user who uploaded the attachment. |
| EntityId | String | Unique identifier of the entity associated with the attachment. |
| DownloadUrl | String | Web address used to download the attachment. |
| PreviewUrl | String | Web address used to preview the attachment. |
| FileSize | String | Size of the attachment file. |
| FileExtension | String | File extension indicating the type of attachment. |
| ModuleName | String | Name of the module to which the file is attached. |
Lists all standard and custom modules in the account, including API availability and customization status.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator.
For example, the following queries are processed server-side:
SELECT * FROM Modules
| Name | Type | Description |
| Id | String | Unique identifier of the module. |
| Name | String | Name of the module requested by the user. |
| SequenceNumber | Integer | Order number used to sequence fields. |
| ApiName | String | API name of the field. |
| GlobalSearchSupported | Boolean | Indicates whether the module supports global search functionality. |
| Deletable | Boolean | Indicates whether the user is allowed to delete records in the module. |
| Description | String | Description of the module, if provided. |
| Creatable | Boolean | Indicates whether the user is allowed to create records in the module. |
| InventoryTemplateSupported | Boolean | Indicates whether the module supports inventory templates. This is true for modules such as Quotes, Invoices, Purchase Orders, and Sales Orders. |
| ModifiedDateTime | Datetime | Date and time when the module properties were last modified. |
| PluralLabel | String | Plural form of the module name (for example, Leads). |
| SingularLabel | String | Singular form of the module name (for example, Lead). |
| PresenceSubMenu | Boolean | Indicates whether the module includes a submenu (for example, Tasks under Activities). |
| TriggersSupported | Boolean | Indicates whether the module supports triggers from custom buttons, workflows, approvals, or other sources. |
| Visibility | Integer | Indicates the visibility level of the module within the organization. For example, 1 means visible, 2 means hidden, or a custom value indicating feature-specific visibility. |
| Convertable | Boolean | Indicates whether records in this module can be converted into another type. For example, leads are converted into deals. |
| Editable | Boolean | Indicates whether the user is allowed to edit records in the module. |
| EmailTemplateSupport | Boolean | Indicates whether the module supports use of email templates. |
| FilterSupported | Boolean | Indicates whether the module supports user-defined filters in addition to system-defined ones in a custom view. |
| ShowAsTab | Boolean | Indicates whether the module is displayed as a tab in the CRM user interface. |
| Viewable | Boolean | Indicates whether the user is allowed to view records in the module. |
| ApiSupported | Boolean | Indicates whether the module is accessible through the API. |
| QuickCreate | Boolean | Indicates whether the module supports quick-create functionality. |
| ModifiedByName | String | Name of the user who last modified the module properties. |
| ModifiedById | String | Id of the user who last modified the module properties. |
| GeneratedType | String | Indicates how the module was generated or created. |
| FeedsRequired | Boolean | Indicates whether the module supports feeds. |
| ScoringSupported | Boolean | Indicates whether the module supports scoring functionality. |
| WebformSupported | Boolean | Indicates whether records in the module can be created using web forms. |
| BusinessCardFieldLimit | Integer | Maximum number of fields allowed in business card view. |
| ParentModuleApiName | String | API name of the parent module, if one exists (for example, Activities is the parent of Tasks, Calls, and Events). |
| ParentModuleId | String | Id of the parent module, if one exists. |
| WebLink | String | Web address associated with the module, if one exists (for example, https://extensions.zoho.com/plugin/facebook). |
| IsBlueprintSupported | Boolean | Indicates whether blueprint is supported for this module. |
Shows product line items included on sales orders or quotes, detailing quantity, unit price, and discount.
The OrderedItems view is only accessible when connected to a ZohoCRM Enterprise Edition account. If using a different edition, this view may not be available.
Note: This view is not available in the v2 schema.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic query processed server-side:
-- Query a specific ordered item by its unique ID
SELECT * FROM OrderedItems WHERE Id = '3152079000000301143'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier (Id) of the ordered item record. |
| S.NO | Long | Serial number of the item in the order. |
| CreatedTime | Datetime | Date and time when the ordered item was created. |
| ModifiedTime | Datetime | Date and time when the ordered item was last modified. |
| ParentID_Id | String | Id of the parent record associated with the ordered item. |
| ParentID_Name | String | Name of the parent record associated with the ordered item. |
| ProductName_Id | String | Id of the product included in the order. |
| ProductName_Name | String | Name of the product included in the order. |
| PriceBook_Id | String | Id of the price book associated with the item. |
| PriceBook_Name | String | Name of the price book associated with the item. |
| Description | String | Description of the ordered item. |
| Quantity | String | Number of units of the product ordered. |
| ListPrice | Decimal | Listed price per unit of the product. |
| Amount | String | Total amount before applying discounts and taxes. |
| Discount | Decimal | Discount applied to the ordered item. |
| TotalAfterDiscount | String | Total amount after applying the discount but before tax. |
| Tax | Decimal | Tax amount applied to the ordered item. |
| Total | String | Final total amount after applying both discount and tax. |
| TaxbyPercentage | String | Percentage of tax applied to the item. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | Field or fields used to identify duplicates during an upsert operation. |
| CustomViewId | Long | Custom view Id used to filter this record. Works only when the useCOQL parameter is set to false. |
| Trigger | String | Used to trigger automation rules when inserting a record into the CRM account. |
Displays corporate profile information, such as company name, address, fiscal year settings, time zone, and default currency.
The Cloud processes filters client-side within the Cloud.
| Name | Type | Description |
| Id [KEY] | String | Unique numeric identifier for the organization. |
| CompanyName | String | Name of the company associated with the organization. |
| PrimaryEmail | String | Primary email address of the organization. |
| Phone | String | Phone number of the organization. |
| Mobile | String | Mobile phone number of the organization. |
| IsoCode | String | ISO code representing the organization. |
| Description | String | Text description or notes about the organization. |
| Country | String | Country where the organization is located. |
| City | String | City where the organization is located. |
| State | String | State where the organization is located. |
| Street | String | Street address of the organization. |
| Zip | String | Postal code of the organization's location. |
| CountryCode | String | Telephone country code for the organization. |
| Alias | String | Alternate or shortened name for the organization. |
| Fax | String | Fax number of the organization. |
| EmployeeCount | Int | Number of employees in the organization. |
| Website | String | Website URL of the organization. |
| CurrencySymbol | String | Default currency symbol used by the organization. |
| CurrencyLocale | String | Locale format used for displaying currency values. |
| PrimaryZuid | String | Primary Zoho User ID (ZUID) for the organization. |
| TimeZone | String | Time zone assigned to the organization. |
| Zgid | String | Zoho Group ID (ZGID) for the organization. |
| MCStatus | Boolean | Indicates whether the organization has Multi-Currency (MC) status enabled. |
| GappsEnabled | Boolean | Indicates whether Google Apps integration is enabled. |
| LicenseDetailsPaidExpiry | Datetime | Expiration date and time of the paid subscription. |
| LicenseDetailsTrialType | String | Type of trial subscription assigned to the organization. |
| LicenseDetailsTrialExpiry | Datetime | Expiration date and time of the trial subscription. |
| LicenseDetailsPaid | Boolean | Indicates whether the organization has a paid subscription. |
| LicenseDetailsPaidType | String | Type of paid subscription assigned to the organization. |
| DeletableOrgAccount | Boolean | Indicates whether the account associated with the organization can be deleted. |
| LicenseDetailsUsersLicensePurchased | Integer | Total number of user licenses purchased for the organization. |
| PhotoId | String | Unique Id of the organization's profile photo. |
| DomainName | String | Domain name associated with the organization, such as org694902300. |
| TranslationEnabled | Boolean | Indicates whether translation support is enabled for the organization. |
| Currency | String | Base or home currency used by the organization. |
| ZiaPortalId | String | Zia portal identifier for the organization, if applicable. |
| PrivacySettings | String | Indicates whether privacy settings are enabled for the organization. |
| HipaaComplianceEnabled | Boolean | Indicates whether HIPAA compliance is enabled for the organization. |
Returns product-specific prices from price books; available only in paid Zoho CRM editions.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM PriceBookPricingDetails WHERE PriceBookId = '3152079000000317001'
| Name | Type | Description |
| Id [KEY] | String | Unique numeric identifier for the pricing detail. |
| PriceBookId [KEY] | String | Unique numeric identifier for the price book associated with this pricing detail. |
| Discount | Double | The discount percentage or amount applied for this pricing detail. |
| FromRange | Double | Lower boundary of the amount range for which the discount is applicable. |
| ToRange | Double | Upper boundary of the amount range for which the discount is applicable. |
Lists user profiles and their permission sets, including module access and field-level security.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Profiles WHERE Id = '3152079000000026011'
| Name | Type | Description |
| Id [KEY] | String | Unique numeric identifier for the profile. |
| Name | String | Name of the profile. |
| Description [KEY] | String | Brief description of the profile. |
| CreatedByName | String | Name of the user who created the profile. |
| CreatedById | String | Unique identifier of the user who created the profile. |
| CreatedAt | Datetime | Date and time when the profile was created. |
| ModifiedByName | String | Name of the user who last modified the profile. |
| ModifiedById | String | Unique identifier of the user who last modified the profile. |
| ModifiedAt | Datetime | Date and time when the profile was last modified. |
| Category | Boolean | Indicates whether the profile is categorized as a group. |
| DisplayLabel | String | Display name of the profile as shown in the interface. |
Displays product line items on purchase orders, including cost, quantity, and vendor references.
The PurchaseItems view is only accessible when connected to a ZohoCRM Enterprise Edition account. If using a different edition, this view may not be available.
Note: This view is not available in the v2 schema.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic query processed server-side:
-- Query a specific purchase item by its unique ID
SELECT * FROM PurchaseItems WHERE Id = '3152079000000301143'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the purchase item record. |
| S.NO | Long | Serial number of the item in the purchase order. |
| CreatedTime | Datetime | Date and time when the purchase item was created. |
| ModifiedTime | Datetime | Date and time when the purchase item was last modified. |
| ParentID_Id | String | Unique identifier of the associated purchase order. |
| ParentID_Name | String | Name of the associated purchase order. |
| ProductName_Id | String | Unique identifier of the associated product. |
| ProductName_Name | String | Name of the associated product. |
| PriceBook_Id | String | Unique identifier of the price book associated with the item. |
| PriceBook_Name | String | Name of the price book associated with the item. |
| Description | String | Description of the product or item. |
| Quantity | String | Number of units ordered for the product. |
| ListPrice | Decimal | List price per unit of the product. |
| Amount | String | Total amount before applying any discounts or taxes. |
| Discount | Decimal | Discount applied to the item. |
| TotalAfterDiscount | String | Amount after applying the discount but before tax. |
| Tax | Decimal | Tax applied to the item. |
| Total | String | Final amount including tax and discounts. |
| TaxbyPercentage | String | Tax applied as a percentage value. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | Fields used to check for duplicates during an upsert operation. |
| CustomViewId | Long | Custom view identifier used to filter this record when the useCOQL parameter is set to false. |
| Trigger | String | Specifies whether to trigger associated rules when inserting this record into the CRM account. |
Shows itemized products on customer quotes, including list price, taxes, and applied discounts.
The QuotedItems view is only accessible when connected to a ZohoCRM Enterprise Edition account. If using a different edition, this view may not be available.
Note: This view is not available in the v2 schema.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The remainder of the filter is executed client-side within the Cloud.
The following example demonstrates a basic query processed server-side:
-- Query a specific quoted item by its unique ID
SELECT * FROM QuotedItems WHERE Id = '3152079000000301143'
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the quoted item. |
| S.NO | Long | Serial number indicating the item's position in the list. |
| CreatedTime | Datetime | Date and time when the quoted item record was created. |
| ModifiedTime | Datetime | Date and time when the quoted item record was last modified. |
| ParentID_Id | String | Unique identifier of the quote to which this item belongs. |
| ParentID_Name | String | Name of the quote to which this item belongs. |
| ProductName_Id | String | Unique identifier of the product being quoted. |
| ProductName_Name | String | Name of the product being quoted. |
| PriceBook_Id | String | Unique identifier of the price book associated with the quoted item. |
| PriceBook_Name | String | Name of the price book associated with the quoted item. |
| Description | String | Description of the quoted item. |
| Quantity | String | Quantity of the product being quoted. |
| ListPrice | Decimal | List price of the product. |
| Amount | String | Total amount for the item before discount and tax. |
| Discount | Decimal | Discount applied to the quoted item. |
| TotalAfterDiscount | String | Amount after applying the discount, before tax. |
| Tax | Decimal | Tax amount applied to the quoted item. |
| Total | String | Final total amount after applying discount and tax. |
| TaxbyPercentage | String | Tax applied as a percentage value. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | Field or fields used to check for duplicates during an upsert operation. |
| CustomViewId | Long | Custom view Id used to filter this record. Successful when the useCOQL parameter is set to false. |
| Trigger | String | Specifies whether to trigger associated rules when inserting the record into the CRM account. |
Returns the total number of records in a specified module for reporting, validation, or pagination.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The module is a mandatory filter for the Cloud.
Note: It works only with ApiVersion=2.1.
For example, the following queries are processed server-side:
SELECT * FROM RecordCount WHERE ModuleName = 'Leads'
SELECT * FROM RecordCount WHERE ModuleName IN ('Leads','Invoices')
| Name | Type | Description |
| Count [KEY] | Integer | Total number of records available in the specified module. |
| ModuleName | String | Name of the module for which the record count is requested. |
Displays the role hierarchy and associated permissions assigned to each user.
The Cloud uses the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client-side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Roles WHERE Id = '3152079000000026008'
| Name | Type | Description |
| Id [KEY] | String | A unique numeric identifier for the role. |
| Name | String | Name of the role. |
| DisplayLabel [KEY] | String | How the role is displayed in the user interface. |
| ReportingToName | String | Name of the role this role reports to. |
| ReportingToId | String | Identifier of the role this role reports to. |
| CreatedByID | String | Identifier of the user who created this role. |
| CreatedByName | String | Name of the user who created this role. |
| CreatedTime | Datetime | Date and time when the role was created. |
| ModifiedByID | String | Identifier of the user who last modified this role. |
| ModifiedByName | String | Name of the user who last modified this role. |
| ModifiedTime | Datetime | Date and time when the role was last modified. |
| ForecastManagerName | String | Name of the forecast manager assigned to this role. |
| ForecastManagerId | String | Identifier of the forecast manager assigned to this role. |
| ShareWithPeers | Boolean | Indicates whether users with this role are allowed to share records with peers. |
| Description | String | Additional information or notes about the role. |
Provides a chronological record of stage transitions for each deal, including timestamps and user information.
| Name | Type | Description |
| Id [KEY] | String | Unique identifier for the stage record. |
| DealId | String | Unique identifier of the deal associated with this stage. |
| Stage | String | Name or label of the deal stage. |
| Amount | Decimal | Monetary amount associated with the deal at this stage. |
| DurationDays | Integer | Number of days the deal remained in this stage. |
| ExpectedRevenue | Decimal | Estimated revenue expected from the deal at this stage. |
| Probability | Decimal | Likelihood of deal success at this stage, expressed as a percentage. |
| CloseDate | Date | Scheduled or actual date the deal is expected to close at this stage. |
| LastModifiedTime | Datetime | Timestamp indicating the last modification of this stage record. |
| ModifiedById | String | Identifier of the user who last modified the stage. |
| ModifiedByName | String | Full name of the user who last modified the stage. |
| ModifiedByEmail | String | Email address of the user who last modified the stage. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| Fields | String | Fields to include in the response for this stage record. |
Lists sales territories defined for geographic or vertical segmentation, assisting with record assignment and reporting.
All the filters are executed at client side within the Cloud.
SELECT * from Territories;
| Name | Type | Description |
| Id [KEY] | String | Unique identifier of the territory. |
| Name | String | Name of the territory. |
| ParentId | String | Unique identifier of the parent territory, if there is one. |
| Criteria | String | Criteria that define the scope or assignment rules of the territory. |
| Managername | String | Name of the user assigned as the manager of the territory. |
| Managerid | String | Identifier of the manager assigned to the territory. |
| CreatedByName | String | Name of the user who created the territory. |
| CreatedById | String | Identifier of the user who created the territory. |
| ModifiedByName | String | Name of the user who last modified the territory. |
| ModifiedByid | String | Identifier of the user who last modified the territory. |
| CreatedAt | Datetime | Date and time when the territory was created. |
| ModifiedAt | Datetime | Date and time when the territory was last modified. |
| Desription | String | Description of the territory, if provided. |
Returns user accounts along with email, role, profile, active status, and last login time.
The Cloud will use the Zoho CRM API to process WHERE clause conditions built with the following column and operator. The rest of the filter is executed client side within the Cloud.
For example, the following queries are processed server side:
SELECT * FROM Users WHERE Id = '3152079000000150015'
| Name | Type | Description |
| Id [KEY] | String | A unique numeric identifier for the user. |
| FirstName | String | The first name of the user. |
| LastName | String | The last name of the user. |
| FullName | String | The full name of the user. |
| String | The email address of the user. | |
| RoleName | String | The name of the role assigned to the user. |
| RoleId | String | The unique identifier of the role assigned to the user. |
| ProfileName | String | The name of the profile assigned to the user. |
| ProfileId | String | The unique identifier of the profile assigned to the user. |
| Country | String | The country where the user is located. |
| City | String | The city where the user is located. |
| Street | String | The street address of the user. |
| State | String | The state where the user is located. |
| Zip | String | The ZIP or postal code where the user is located. |
| Alias | String | The alias assigned to the user. |
| Signature | String | The email signature used by the user. |
| NameFormat | String | The display format for the user's name. |
| PersonalAccount | Boolean | Indicates whether the user has a personal account. |
| DefaultTabGroup | String | The default tab group assigned to the user. |
| CountryLocale | String | The default country locale of the user. |
| Fax | String | The fax number of the user. |
| Website | String | The website URL associated with the user. |
| Mobile | String | The user's mobile phone number. |
| Phone | String | The user's landline phone number. |
| Dob | String | The user's date of birth. |
| Status | String | The status of the user's account. |
| Confirm | Boolean | Indicates whether the user has confirmed their email address. |
| Language | String | The preferred language of the user. |
| Locale | String | The locale setting for the user. |
| TimeFormat | String | The preferred time format for the user. |
| DateFormat | String | The preferred date format for the user. |
| DecimalSeparator | String | The decimal separator setting for the user. |
| TimeZone | String | The time zone assigned to the user. |
| Zuid | String | The Zoho User ID (ZUID) assigned to the user. |
| CreatedByName | String | The name of the user who created this user account. |
| CreatedById | String | The unique identifier of the user who created this user account. |
| CreatedAt | Datetime | The date and time when the user account was created. |
| ModifiedByName | String | The name of the user who last modified this user account. |
| ModifiedById | String | The unique identifier of the user who last modified this user account. |
| ModifiedAt | Datetime | The date and time when the user account was last modified. |
| NumberSeparator | String | The symbol used for separating number values in the user interface. |
| CustomizeInfoNotesDesc | String | Describes the notes section in the customized information area. |
| CustomizeInfoShowRightPanel | Boolean | Indicates whether the right panel is displayed in the customized information view. |
| CustomizeInfoShowLeftPanel | Boolean | Indicates whether the left panel is displayed in the customized information view. |
| CustomizeInfoBcView | String | The view format for business card information in the customized info section. |
| CustomizeInfoShowHome | Boolean | Indicates whether the home tab is shown in the customized information view. |
| CustomizeInfoShowDetailView | Boolean | Indicates whether the detail view is shown in the customized information view. |
| CustomizeInfoUnpinRecentItem | String | The setting used for unpinning the recent item from the customized view. |
| Microsoft | Boolean | Indicates whether the user account is associated with Microsoft. |
| ThemeBackground | String | The background theme selected by the user. |
| ThemeNewBackground | String | The updated background theme selected by the user. |
| ThemeNormalTabBackground | String | The background color of the unselected tab. |
| ThemeNormalTabFontColor | String | The font color of the unselected tab. |
| ThemeScreen | String | The screen theme selected by the user. |
| ThemeSelectedTabBackground | String | The background color of the selected tab. |
| ThemeSelectedTabFontColor | String | Represents the font color used for the selected tab in the user's chosen theme. |
| ThemeType | String | The theme type applied to the user interface. |
| ReportingToName | String | The name of the user that this user reports to. |
| ReportingToId | String | The unique identifier of the user that this user reports to. |
| Offset | Integer | The result offset for paginated queries. |
| SandboxDeveloper | Boolean | Indicates whether the user is a sandbox developer. |
| Category | String | The user category, such as standard or custom. |
| SortOrderPreference | String | Specifies how records are sorted in responses, such as by first name or last name. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| Type | String | Limits the returned user list to those of the specified type.
The allowed values are AllUsers, ActiveUsers, DeactiveUsers, ConfirmedUsers, NotConfirmedUsers, DeletedUsers, ActiveConfirmedUsers, AdminUsers, ActiveConfirmedAdmins, CurrentUser. |
Shows recent visit activity, such as website or portal visits tracked through Zoho CRM integrations.
| Name | Type | Description |
| Id [KEY] | String | A unique identifier for the visit. |
| PageVisited | String | The title or name of the page that was visited. |
| VisitedBy_Id | String | The unique Id of the visitor who accessed the page. |
| VisitedBy_FirstName | String | The first name of the visitor. |
| VisitedBy_LastName | String | The last name of the visitor. |
| IPAddress | String | The IP address from which the page was accessed. |
| TimeSpent(Minutes) | String | The amount of time, in minutes, that the visitor spent on the page. |
| Referrer | String | The referring page or source from which the visitor came. |
| VisitedPageURL | String | The full URL of the page that was visited. |
| CreatedBy_Id | String | The Id of the system object that created the visit entry. |
| ModifiedBy_Id | String | The Id of the system object that last modified the visit entry. |
| ModifiedBy_FirstName | String | The first name of the entity that modified the visit entry. |
| ModifiedBy_LastName | String | The last name of the entity that modified the visit entry. |
| CreatedTime | Datetime | The date and time when the visit record was created. |
| ModifiedTime | Datetime | The date and time when the visit record was last modified. |
| AttendedBy | String | The person or representative who attended to the visit. |
| UserDetails | String | Information about the user involved in the visit. |
| Browser | String | The web browser used during the visit. |
| TimeVisited | Datetime | The date and time the visit occurred. |
| VisitorType | String | The classification of the visitor, such as new or returning. |
| Revenue | Decimal | The amount of revenue attributed to the visit, if any. |
| NumberofPages | Int | The total number of pages viewed during the visit. |
| PortalName | String | The name of the portal through which the visit was made. |
| SearchKeyword | String | The keyword entered by the visitor in a search engine prior to the visit. |
| SearchEngine | String | The search engine used by the visitor. |
| OperatingSystem | String | The operating system of the visitor's device. |
| Gclid | String | The Google Click Identifier used for tracking advertising campaigns. |
| Keyword | String | The keyword associated with the visit for search or advertising tracking. |
| ClickType | String | The type of click action recorded during the visit. |
| Devicetype | String | The type of device used for the visit, such as desktop, tablet, or mobile. |
| AdNetwork | String | The advertising network through which the ad was served. |
| SearchPartnerNetwork | String | The search partner network associated with the visit. |
| AdCampaignName | String | The name of the advertising campaign that generated the visit. |
| AdGroupName | String | The name of the ad group associated with the visit. |
| Ad | String | The specific advertisement that was clicked to initiate the visit. |
| AdClickDate | Date | The date on which the advertisement was clicked by the visitor. |
| VisitSource | String | The origin or source that led to the visit, such as direct, referral, or ad. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| DuplicateCheckFields | String | The fields used to check for duplicate records when performing an upsert. The REST API allows multiple fields, while the BULK API allows only one. |
| CustomViewId | Long | The custom view Id used to filter this record. Applies only when the useCOQL parameter is set to false. |
Stored procedures are function-like interfaces that extend the functionality of the Cloud beyond simple SELECT/INSERT/UPDATE/DELETE operations with Zoho CRM.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Zoho CRM, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| ConvertLead | Transforms a qualified lead into related contact, account, and deal records in one step. |
| DeleteFile | Detaches and permanently removes a file attached to a specified CRM record. |
| DelinkRelatedRecords | Breaks the association between two linked records, such as removing a contact from a deal. |
| LinkRelatedRecords | Creates a relationship between two records across modules, such as linking a quote to a deal. |
| TransferAndDeletePipeline | Deletes a pipeline and reassigns all of its stages to a target pipeline, preserving existing deal associations. |
Transforms a qualified lead into related contact, account, and deal records in one step.
| Name | Type | Description |
| LeadId | String | Unique identifier of the lead to be converted. |
| Overwrite | String | Indicates whether to overwrite existing values during the conversion.
The default value is true. |
| NotifyLeaderOwner | String | Sends a notification to the lead owner if set to true.
The default value is false. |
| NotifyNewEntityOwner | String | Sends a notification to the new record owner if set to true.
The default value is false. |
| AccountId | String | Unique identifier of the associated account. |
| ContactId | String | Unique identifier of the associated contact. |
| UserId | String | Identifier of the user to whom the converted lead is assigned. |
| CampaignSource | String | Campaign source for the deal. This value appears in the Deals module. |
| DealName | String | Name of the deal created from the conversion. |
| ClosingDate | String | Expected closing date of the deal. |
| Stage | String | Identifier of the deal stage. |
| Amount | String | Total monetary amount of the deal. |
| Pipeline | String | Name or identifier of the pipeline used in the conversion. |
| Name | Type | Description |
| Contacts | String | Unique identifier of the newly created contact. |
| Deals | String | Unique identifier of the newly created deal. |
| Accounts | String | Unique identifier of the newly created account. |
Detaches and permanently removes a file attached to a specified CRM record.
| Name | Type | Description |
| ModuleName | String | The API name of the module associated with the attachment to be deleted. |
| RecordID | String | Unique identifier of the record from which the attachment is deleted. |
| AttachmentID | String | Unique identifier of the attachment to be deleted. |
| Name | Type | Description |
| Message | String | Message returned by Zoho CRM indicating whether the delete operation was successful. |
| Status | String | Status returned by Zoho CRM for the delete operation. |
Deletes a pipeline and reassigns all of its stages to a target pipeline, preserving existing deal associations.
ZohoCRM Supports deleting a pipeline and transferring the associated stages to another pipeline by providing the FromId, ToId,Stages and LayoutId of the related pipeline.
Note: It works only with ApiVersion=2.1.
For Example:
EXEC TransferAndDeletePipeline FromId = '228122000000252002',ToId = '228122000000202388', Stages = '[\n" +
" {\n" +
" \"from\": \"4917206000000006801\",\n" +
" \"to\": \"4917206000000006801\"\n" +
" }\n" +
" ]', LayoutId = '228122000000202258'
| Name | Type | Description |
| FromId | String | Identifier (Id) of the pipeline to be deleted. Deals from this pipeline are transferred to another pipeline. |
| ToId | String | Id of the target pipeline where the deals is transferred. |
| Stages | String | Stages in the current pipeline that are mapped to the new pipeline. |
| LayoutId | String | Unique Id of the layout in the Deals module from which pipeline details are retrieved. |
| Name | Type | Description |
| Status | String | Indicates whether the transfer operation was successful. |
| JobId | String | The job identifier of the newly created transfer operation. |
| Message | String | The message from the Zoho CRM API indicating if the operation was successful. |
You can query the system tables described in this section to access schema information, information on data source functionality, and batch operation statistics.
The following tables return database metadata for Zoho CRM:
The following tables return information about how to connect to and query the data source:
The following table returns query statistics for data modification queries, including batch operations::
Lists the available databases.
The following query retrieves all databases determined by the connection string:
SELECT * FROM sys_catalogs
| Name | Type | Description |
| CatalogName | String | The database name. |
Lists the available schemas.
The following query retrieves all available schemas:
SELECT * FROM sys_schemas
| Name | Type | Description |
| CatalogName | String | The database name. |
| SchemaName | String | The schema name. |
Lists the available tables.
The following query retrieves the available tables and views:
SELECT * FROM sys_tables
| Name | Type | Description |
| CatalogName | String | The database containing the table or view. |
| SchemaName | String | The schema containing the table or view. |
| TableName | String | The name of the table or view. |
| TableType | String | The table type (table or view). |
| Description | String | A description of the table or view. |
| IsUpdateable | Boolean | Whether the table can be updated. |
Describes the columns of the available tables and views.
The following query returns the columns and data types for the Accounts table:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Accounts'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the table or view. |
| SchemaName | String | The schema containing the table or view. |
| TableName | String | The name of the table or view containing the column. |
| ColumnName | String | The column name. |
| DataTypeName | String | The data type name. |
| DataType | Int32 | An integer indicating the data type. This value is determined at run time based on the environment. |
| Length | Int32 | The storage size of the column. |
| DisplaySize | Int32 | The designated column's normal maximum width in characters. |
| NumericPrecision | Int32 | The maximum number of digits in numeric data. The column length in characters for character and date-time data. |
| NumericScale | Int32 | The column scale or number of digits to the right of the decimal point. |
| IsNullable | Boolean | Whether the column can contain null. |
| Description | String | A brief description of the column. |
| Ordinal | Int32 | The sequence number of the column. |
| IsAutoIncrement | String | Whether the column value is assigned in fixed increments. |
| IsGeneratedColumn | String | Whether the column is generated. |
| IsHidden | Boolean | Whether the column is hidden. |
| IsArray | Boolean | Whether the column is an array. |
| IsReadOnly | Boolean | Whether the column is read-only. |
| IsKey | Boolean | Indicates whether a field returned from sys_tablecolumns is the primary key of the table. |
| ColumnType | String | The role or classification of the column in the schema. Possible values include SYSTEM, LINKEDCOLUMN, NAVIGATIONKEY, REFERENCECOLUMN, and NAVIGATIONPARENTCOLUMN. |
Lists the available stored procedures.
The following query retrieves the available stored procedures:
SELECT * FROM sys_procedures
| Name | Type | Description |
| CatalogName | String | The database containing the stored procedure. |
| SchemaName | String | The schema containing the stored procedure. |
| ProcedureName | String | The name of the stored procedure. |
| Description | String | A description of the stored procedure. |
| ProcedureType | String | The type of the procedure, such as PROCEDURE or FUNCTION. |
Describes stored procedure parameters.
The following query returns information about all of the input parameters for the GetAuthToken stored procedure:
SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetAuthToken' AND Direction = 1 OR Direction = 2
To include result set columns in addition to the parameters, set the IncludeResultColumns pseudo column to True:
SELECT * FROM sys_procedureparameters WHERE ProcedureName = 'GetAuthToken' AND IncludeResultColumns='True'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the stored procedure. |
| SchemaName | String | The name of the schema containing the stored procedure. |
| ProcedureName | String | The name of the stored procedure containing the parameter. |
| ColumnName | String | The name of the stored procedure parameter. |
| Direction | Int32 | An integer corresponding to the type of the parameter: input (1), input/output (2), or output(4). input/output type parameters can be both input and output parameters. |
| DataType | Int32 | An integer indicating the data type. This value is determined at run time based on the environment. |
| DataTypeName | String | The name of the data type. |
| NumericPrecision | Int32 | The maximum precision for numeric data. The column length in characters for character and date-time data. |
| Length | Int32 | The number of characters allowed for character data. The number of digits allowed for numeric data. |
| NumericScale | Int32 | The number of digits to the right of the decimal point in numeric data. |
| IsNullable | Boolean | Whether the parameter can contain null. |
| IsRequired | Boolean | Whether the parameter is required for execution of the procedure. |
| IsArray | Boolean | Whether the parameter is an array. |
| Description | String | The description of the parameter. |
| Ordinal | Int32 | The index of the parameter. |
| Values | String | The values you can set in this parameter are limited to those shown in this column. Possible values are comma-separated. |
| SupportsStreams | Boolean | Whether the parameter represents a file that you can pass as either a file path or a stream. |
| IsPath | Boolean | Whether the parameter is a target path for a schema creation operation. |
| Default | String | The value used for this parameter when no value is specified. |
| SpecificName | String | A label that, when multiple stored procedures have the same name, uniquely identifies each identically-named stored procedure. If there's only one procedure with a given name, its name is simply reflected here. |
| IsCDataProvided | Boolean | Whether the procedure is added/implemented by CData, as opposed to being a native Zoho CRM procedure. |
| Name | Type | Description |
| IncludeResultColumns | Boolean | Whether the output should include columns from the result set in addition to parameters. Defaults to False. |
Describes the primary and foreign keys.
The following query retrieves the primary key for the Accounts table:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Accounts'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the key. |
| SchemaName | String | The name of the schema containing the key. |
| TableName | String | The name of the table containing the key. |
| ColumnName | String | The name of the key column. |
| IsKey | Boolean | Whether the column is a primary key in the table referenced in the TableName field. |
| IsForeignKey | Boolean | Whether the column is a foreign key referenced in the TableName field. |
| PrimaryKeyName | String | The name of the primary key. |
| ForeignKeyName | String | The name of the foreign key. |
| ReferencedCatalogName | String | The database containing the primary key. |
| ReferencedSchemaName | String | The schema containing the primary key. |
| ReferencedTableName | String | The table containing the primary key. |
| ReferencedColumnName | String | The column name of the primary key. |
Describes the foreign keys.
The following query retrieves all foreign keys which refer to other tables:
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the key. |
| SchemaName | String | The name of the schema containing the key. |
| TableName | String | The name of the table containing the key. |
| ColumnName | String | The name of the key column. |
| PrimaryKeyName | String | The name of the primary key. |
| ForeignKeyName | String | The name of the foreign key. |
| ReferencedCatalogName | String | The database containing the primary key. |
| ReferencedSchemaName | String | The schema containing the primary key. |
| ReferencedTableName | String | The table containing the primary key. |
| ReferencedColumnName | String | The column name of the primary key. |
| ForeignKeyType | String | Designates whether the foreign key is an import (points to other tables) or export (referenced from other tables) key. |
Describes the primary keys.
The following query retrieves the primary keys from all tables and views:
SELECT * FROM sys_primarykeys
| Name | Type | Description |
| CatalogName | String | The name of the database containing the key. |
| SchemaName | String | The name of the schema containing the key. |
| TableName | String | The name of the table containing the key. |
| ColumnName | String | The name of the key column. |
| KeySeq | String | The sequence number of the primary key. |
| KeyName | String | The name of the primary key. |
Describes the available indexes. By filtering on indexes, you can write more selective queries with faster query response times.
The following query retrieves all indexes that are not primary keys:
SELECT * FROM sys_indexes WHERE IsPrimary='false'
| Name | Type | Description |
| CatalogName | String | The name of the database containing the index. |
| SchemaName | String | The name of the schema containing the index. |
| TableName | String | The name of the table containing the index. |
| IndexName | String | The index name. |
| ColumnName | String | The name of the column associated with the index. |
| IsUnique | Boolean | True if the index is unique. False otherwise. |
| IsPrimary | Boolean | True if the index is a primary key. False otherwise. |
| Type | Int16 | An integer value corresponding to the index type: statistic (0), clustered (1), hashed (2), or other (3). |
| SortOrder | String | The sort order: A for ascending or D for descending. |
| OrdinalPosition | Int16 | The sequence number of the column in the index. |
Returns information on the available connection properties and those set in the connection string.
The following query retrieves all connection properties that have been set in the connection string or set through a default value:
SELECT * FROM sys_connection_props WHERE Value <> ''
| Name | Type | Description |
| Name | String | The name of the connection property. |
| ShortDescription | String | A brief description. |
| Type | String | The data type of the connection property. |
| Default | String | The default value if one is not explicitly set. |
| Values | String | A comma-separated list of possible values. A validation error is thrown if another value is specified. |
| Value | String | The value you set or a preconfigured default. |
| Required | Boolean | Whether the property is required to connect. |
| Category | String | The category of the connection property. |
| IsSessionProperty | String | Whether the property is a session property, used to save information about the current connection. |
| Sensitivity | String | The sensitivity level of the property. This informs whether the property is obfuscated in logging and authentication forms. |
| PropertyName | String | A camel-cased truncated form of the connection property name. |
| Ordinal | Int32 | The index of the parameter. |
| CatOrdinal | Int32 | The index of the parameter category. |
| Hierarchy | String | Shows dependent properties associated that need to be set alongside this one. |
| Visible | Boolean | Informs whether the property is visible in the connection UI. |
| ETC | String | Various miscellaneous information about the property. |
Describes the SELECT query processing that the Cloud can offload to the data source.
See SQL Compliance for SQL syntax details.
Below is an example data set of SQL capabilities. Some aspects of SELECT functionality are returned in a comma-separated list if supported; otherwise, the column contains NO.
| Name | Description | Possible Values |
| AGGREGATE_FUNCTIONS | Supported aggregation functions. | AVG, COUNT, MAX, MIN, SUM, DISTINCT |
| COUNT | Whether COUNT function is supported. | YES, NO |
| IDENTIFIER_QUOTE_OPEN_CHAR | The opening character used to escape an identifier. | [ |
| IDENTIFIER_QUOTE_CLOSE_CHAR | The closing character used to escape an identifier. | ] |
| SUPPORTED_OPERATORS | A list of supported SQL operators. | =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR |
| GROUP_BY | Whether GROUP BY is supported, and, if so, the degree of support. | NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE |
| OJ_CAPABILITIES | The supported varieties of outer joins supported. | NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS |
| OUTER_JOINS | Whether outer joins are supported. | YES, NO |
| SUBQUERIES | Whether subqueries are supported, and, if so, the degree of support. | NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED |
| STRING_FUNCTIONS | Supported string functions. | LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE |
| NUMERIC_FUNCTIONS | Supported numeric functions. | ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE |
| TIMEDATE_FUNCTIONS | Supported date/time functions. | NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT |
| REPLICATION_SKIP_TABLES | Indicates tables skipped during replication. | |
| REPLICATION_TIMECHECK_COLUMNS | A string array containing a list of columns which will be used to check for (in the given order) to use as a modified column during replication. | |
| IDENTIFIER_PATTERN | String value indicating what string is valid for an identifier. | |
| SUPPORT_TRANSACTION | Indicates if the provider supports transactions such as commit and rollback. | YES, NO |
| DIALECT | Indicates the SQL dialect to use. | |
| KEY_PROPERTIES | Indicates the properties which identify the uniform database. | |
| SUPPORTS_MULTIPLE_SCHEMAS | Indicates if multiple schemas may exist for the provider. | YES, NO |
| SUPPORTS_MULTIPLE_CATALOGS | Indicates if multiple catalogs may exist for the provider. | YES, NO |
| DATASYNCVERSION | The CData Data Sync version needed to access this driver. | Standard, Starter, Professional, Enterprise |
| DATASYNCCATEGORY | The CData Data Sync category of this driver. | Source, Destination, Cloud Destination |
| SUPPORTSENHANCEDSQL | Whether enhanced SQL functionality beyond what is offered by the API is supported. | TRUE, FALSE |
| SUPPORTS_BATCH_OPERATIONS | Whether batch operations are supported. | YES, NO |
| SQL_CAP | All supported SQL capabilities for this driver. | SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX |
| PREFERRED_CACHE_OPTIONS | A string value specifies the preferred cacheOptions. | |
| ENABLE_EF_ADVANCED_QUERY | Indicates if the driver directly supports advanced queries coming from Entity Framework. If not, queries will be handled client side. | YES, NO |
| PSEUDO_COLUMNS | A string array indicating the available pseudo columns. | |
| MERGE_ALWAYS | If the value is true, The Merge Mode is forcibly executed in Data Sync. | TRUE, FALSE |
| REPLICATION_MIN_DATE_QUERY | A select query to return the replicate start datetime. | |
| REPLICATION_MIN_FUNCTION | Allows a provider to specify the formula name to use for executing a server side min. | |
| REPLICATION_START_DATE | Allows a provider to specify a replicate startdate. | |
| REPLICATION_MAX_DATE_QUERY | A select query to return the replicate end datetime. | |
| REPLICATION_MAX_FUNCTION | Allows a provider to specify the formula name to use for executing a server side max. | |
| IGNORE_INTERVALS_ON_INITIAL_REPLICATE | A list of tables which will skip dividing the replicate into chunks on the initial replicate. | |
| CHECKCACHE_USE_PARENTID | Indicates whether the CheckCache statement should be done against the parent key column. | TRUE, FALSE |
| CREATE_SCHEMA_PROCEDURES | Indicates stored procedures that can be used for generating schema files. |
The following query retrieves the operators that can be used in the WHERE clause:
SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
Note that individual tables may have different limitations or requirements on the WHERE clause; refer to the Data Model section for more information.
| Name | Type | Description |
| NAME | String | A component of SQL syntax, or a capability that can be processed on the server. |
| VALUE | String | Detail on the supported SQL or SQL syntax. |
Returns information about attempted modifications.
The following query retrieves the Ids of the modified rows in a batch operation:
SELECT * FROM sys_identity
| Name | Type | Description |
| Id | String | The database-generated Id returned from a data modification operation. |
| Batch | String | An identifier for the batch. 1 for a single operation. |
| Operation | String | The result of the operation in the batch: INSERTED, UPDATED, or DELETED. |
| Message | String | SUCCESS or an error message if the update in the batch failed. |
Describes the available system information.
The following query retrieves all columns:
SELECT * FROM sys_information
| Name | Type | Description |
| Product | String | The name of the product. |
| Version | String | The version number of the product. |
| Datasource | String | The name of the datasource the product connects to. |
| NodeId | String | The unique identifier of the machine where the product is installed. |
| HelpURL | String | The URL to the product's help documentation. |
| License | String | The license information for the product. (If this information is not available, the field may be left blank or marked as 'N/A'.) |
| Location | String | The file path location where the product's library is stored. |
| Environment | String | The version of the environment or rumtine the product is currently running under. |
| DataSyncVersion | String | The tier of CData Sync required to use this connector. |
| DataSyncCategory | String | The category of CData Sync functionality (e.g., Source, Destination). |
After updating or inserting a new record into Zoho CRM account, the behavior of ModifiedTime filter server-side may be inconsistent due to API related issues, leading to the wrong filtered results or no results at all until all the data is synchronized server-side. In order to resolve this issue temporarily, the ModifiedTime filter should be adjusted to an hour(60 minutes) prior to the current filter that you have specified.
A Subform is a secondary table that allow you to add multiple line items to a primary table. The Cloud allows you to retrieve Subform information, add lines to an existing subform, modify subform entries, and delete entries.
In order to access the Subform data, you must filter on the Id of the parent:
SELECT * FROM ParentTable WHERE Id = 21142143232903This will return the entire Subform as a JSON aggregate.
It is possible to insert a new parent object along with its full subform record all in one operation. This is done by formatting the Subform as a JSON aggregate and setting the name of the Subform field to this string in your INSERT statement. The following query will insert a parent record with a subform containing two line items.
INSERT INTO ParentTable (ParentName,ChildForm)
VALUES (
'New Parent',
'[
{
"subformprop1": "row1val1",
"subformprop2": "row1val2"
},
{
"subformprop1": "row2val1",
"subformprop2": "row2val2"
}
]')
Any modifications done to an existing Subform requires an UPDATE request on the parent record. When building the JSON aggregate of the Subform in your query, you must specify the Id of the lines that you wish to leave untouched. If the Id is not included in the JSON, that line will be deleted from the Subform. New lines can be added by appending a line in your JSON that does not contain an Id. Existing lines can be modified by specifying the Id and any properties to be modified. Properties not specified will be unchanged. Below are examples of how to add lines, modify existing lines, and delete lines from a Subform record that already exists.
To add a line to an existing Subform, you will need to issue an UPDATE request with a JSON aggregate that contains all of the existing Ids specified along with the new lines specified without Ids. The service will recognize that it needs to insert the new line because the record does not have an Id. See below example.
UPDATE ParentTableTable SET ChildForm =
-- first include existing child Ids so that they do not get deleted, then append the new lines
'[
{ "id":"2732548000001192003" },
{ "id":"2732548000001192004" },
{ "id":"2732548000001192005" },
{
"subformprop1": "newline1val",
"subformprop2": "newline1val2",
},
{
"subformprop1": "newline2val",
"subformprop2": "newline2val2"
}
]' WHERE id=2732548000001192001
To modify a line, specify the Id of that line and any properties you wish to modify. Properties not specified will remain unchanged. In the example below, records with Ids ending in 3 and 4 will be untouched, and the record ending in 5 gets one property modified. Other records that exist are deleted.
UPDATE ParentTableTable SET ChildForm =
'[
{ "id":"2732548000001192003" },
{ "id":"2732548000001192004" },
{
"id":"2732548000001192005",
"subformprop1": "updatedval"
}
]' WHERE id=2732548000001192001
You can perform any combination of deletions, inserts, and updates to line items in a single request depending on how you format the JSON aggregate of the Subform.
The Cloud maps types from the data source to the corresponding data type available in the schema. The table below documents these mappings.
| Zoho CRM | CData Schema |
| Auto-Number | string |
| Checkbox | bool |
| Currency | float |
| Date | date |
| Date/Time | datetime |
| Decimal | string |
| string | |
| FileUpload | string |
| Formula | string |
| LongInteger | long |
| Lookup | string |
| Multi-Line | string |
| Multi-Select | string |
| Number | int |
| Percent | string |
| Phone | string |
| PickList | string |
| SingleLine | string |
| URL | string |
| User | string |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
| Property | Description |
| Region | The Top Level Domain (TLD) in the server URL. |
| InstanceType | The Zoho CRM instance you want to interact with. |
| Property | Description |
| Scope | Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created. |
| Property | Description |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
| Property | Description |
| Verbosity | Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5. |
| Property | Description |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
| Schema | Specifies the Zoho CRM version that the provider uses to retrieve data. Each version (v2, v2.1, v4) corresponds to a distinct data model, which defines the structure of tables, fields, and relationships available through the provider. |
| Property | Description |
| AggregateColumnSize | Sets the length of a custom aggregate field for a provider. If not set the length reported by the server will be considered. |
| APIType | Specifies which API to use for data operations: the Bulk API or the REST API. The selected API affects how the provider performs read and write operations when retrieving or modifying data from Zoho CRM. |
| IncludeCustomFields | In Users view, determines whether custom fields in Zoho CRM are dynamically included in the table definitions provided by the provider. |
| IncludeCustomViews | Determines whether the provider includes custom views (user-defined views) in the list of available views when retrieving data from Zoho CRM. |
| IncludeRelatedLists | Determines whether the provider includes Related Lists (associated or linked records) when presenting views from Zoho CRM. |
| JobPollingInterval | Specifies the polling interval (in seconds) used to check the status of a Bulk API job when working with Zoho CRM. |
| MaxRows | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| PageSize | Specifies the number of records to return per page when retrieving data from Zoho CRM. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| UseCOQL | When set to 'true' (the default), the provider uses the Query API (COQL) to retrieve data from Zoho CRM. |
| UseDisplayNames | Controls whether the provider uses display names or API names when interacting with Zoho CRM modules and fields. |
| UseServerSideFiltering | Controls whether filters in SQL queries are processed by the Zoho CRM server (server-side filtering) or by the client provider (client-side filtering) in REST API. |
| UseSimpleNames | Specifies whether or not simple names should be used for tables and columns. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
| Property | Description |
| Region | The Top Level Domain (TLD) in the server URL. |
| InstanceType | The Zoho CRM instance you want to interact with. |
The Top Level Domain (TLD) in the server URL.
string
"US"
If your account resides in a domain other than the US, then change the Region accordingly. You only need to supply this when using your own OAuth access token with InitiateOAuth=Off. Otherwise, the Region will be retrieved from the OAuth flow. This table lists all possible values:
| Region | Domain |
| US | .com |
| Europe | .eu |
| India | .in |
| Australia | .com.au |
| Japan | .jp |
| China | .com.cn |
| Canada | .ca |
The Zoho CRM instance you want to interact with.
string
"Production"
Specify the Zoho CRM instance to interact with. By default, it is set to 'Production'. Zoho CRM allows you to select this during authorization. You must set the same instance type here.
This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| Scope | Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created. |
Specifies the scope of the authenticating user's access to the application, to ensure they get appropriate access to data. If a custom OAuth application is needed, this is generally specified at the time the application is created.
string
""
Scopes are set to define what kind of access the authenticating user will have; for example, read, read and write, restricted access to sensitive information. System administrators can use scopes to selectively enable access by functionality or security clearance.
When InitiateOAuth is set to GETANDREFRESH, you must use this property if you want to change which scopes are requested.
When InitiateOAuth is set to either REFRESH or OFF, you can change which scopes are requested using either this property or the Scope input.
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
| Property | Description |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
Specifies the certificate to be accepted from the server when connecting using TLS/SSL.
string
""
If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are rejected.
This property can take the following forms:
| Description | Example |
| A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
| A path to a local file containing the certificate | C:\cert.cer |
| The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
| The MD5 Thumbprint (hex values can also be either space- or colon-separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
| The SHA1 Thumbprint (hex values can also be either space- or colon-separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
| Property | Description |
| Verbosity | Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5. |
Specifies the verbosity level of the log file, which controls the amount of detail logged. Supported values range from 1 to 5.
string
"1"
This property defines the level of detail the Cloud includes in the log file. Higher verbosity levels increase the detail of the logged information, but may also result in larger log files and slower performance due to the additional data being captured.
The default verbosity level is 1, which is recommended for regular operation. Higher verbosity levels are primarily intended for debugging purposes. For more information on each level, refer to Logging.
When combined with the LogModules property, Verbosity can refine logging to specific categories of information.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
| Property | Description |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
| Schema | Specifies the Zoho CRM version that the provider uses to retrieve data. Each version (v2, v2.1, v4) corresponds to a distinct data model, which defines the structure of tables, fields, and relationships available through the provider. |
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
string
""
Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.
Specifies the Zoho CRM version that the provider uses to retrieve data. Each version (v2, v2.1, v4) corresponds to a distinct data model, which defines the structure of tables, fields, and relationships available through the provider.
string
"v4"
The available schemas are as follows:
Note: This property specifies the Zoho CRM version, not the API used. That is specified by UseCOQL and APIType.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
| Property | Description |
| AggregateColumnSize | Sets the length of a custom aggregate field for a provider. If not set the length reported by the server will be considered. |
| APIType | Specifies which API to use for data operations: the Bulk API or the REST API. The selected API affects how the provider performs read and write operations when retrieving or modifying data from Zoho CRM. |
| IncludeCustomFields | In Users view, determines whether custom fields in Zoho CRM are dynamically included in the table definitions provided by the provider. |
| IncludeCustomViews | Determines whether the provider includes custom views (user-defined views) in the list of available views when retrieving data from Zoho CRM. |
| IncludeRelatedLists | Determines whether the provider includes Related Lists (associated or linked records) when presenting views from Zoho CRM. |
| JobPollingInterval | Specifies the polling interval (in seconds) used to check the status of a Bulk API job when working with Zoho CRM. |
| MaxRows | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| PageSize | Specifies the number of records to return per page when retrieving data from Zoho CRM. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| UseCOQL | When set to 'true' (the default), the provider uses the Query API (COQL) to retrieve data from Zoho CRM. |
| UseDisplayNames | Controls whether the provider uses display names or API names when interacting with Zoho CRM modules and fields. |
| UseServerSideFiltering | Controls whether filters in SQL queries are processed by the Zoho CRM server (server-side filtering) or by the client provider (client-side filtering) in REST API. |
| UseSimpleNames | Specifies whether or not simple names should be used for tables and columns. |
Sets the length of a custom aggregate field for a provider. If not set the length reported by the server will be considered.
string
"-1"
This setting allows you to control how large custom aggregate fields appear in the Cloud’s schema when querying Zoho CRM data.
If set to a positive number, the Cloud overrides the column length reported by the Zoho CRM server with this value. If set to -1 (the default), the Cloud uses the length reported by the server without alteration.
This property can be useful in cases where the server-provided length is too small or too large for your application’s schema or tooling requirements.
Specifies which API to use for data operations: the Bulk API or the REST API. The selected API affects how the provider performs read and write operations when retrieving or modifying data from Zoho CRM.
string
"Bulk"
This property allows you to switch between the Bulk and REST APIs for read and write operations.
This setting takes effect only when the UseCOQL property is set to 'false'. If UseCOQL is 'true', this property is ignored and COQL is used for data retrieval.
Note: This property does not specify the Zoho CRM version whose associated data model is used by the Cloud. The Zoho CRM version is specified by Schema.
In Users view, determines whether custom fields in Zoho CRM are dynamically included in the table definitions provided by the provider.
bool
true
When set to 'true' (the default), the Cloud automatically detects and includes any custom fields that exist in your Zoho CRM modules (tables) as additional columns. This ensures that your schema in the consuming application reflects all relevant data fields, including those that you or your organization have customized.
If set to 'false', only the standard predefined fields in the Users module is included in the table definition, and custom fields are excluded. This can be useful for simplifying the schema, improving performance, or avoiding unnecessary columns when custom fields are not needed for your workflow.
Determines whether the provider includes custom views (user-defined views) in the list of available views when retrieving data from Zoho CRM.
bool
false
When set to 'true', custom views created in Zoho CRM are listed alongside standard system views. This allows you to query and use these custom views for more tailored or specific data analysis.
However, retrieving custom views can be an expensive operation that may negatively impact performance, especially in environments with many custom views or large datasets. This property is set to 'false' by default to prioritize performance and reduce overhead when custom views are not required for your integration or reporting tasks.
Determines whether the provider includes Related Lists (associated or linked records) when presenting views from Zoho CRM.
bool
false
When set to 'true', the Cloud displays and makes available any Related Lists that exist within your Zoho CRM modules. This enables you to access and work with linked data in a more comprehensive manner, particularly for complex reporting and integration scenarios that rely on relationship data.
However, retrieving related lists can be an expensive operation that may significantly decrease performance, especially for large datasets or instances with many relationships. For this reason, the default value is 'false', ensuring better performance when related lists are not required for your application.
Specifies the polling interval (in seconds) used to check the status of a Bulk API job when working with Zoho CRM.
int
5
During data retrieval or updates using the Bulk API, the Cloud initiates a job on the Zoho CRM server. This property determines how often (in seconds) the Cloud should query the server to see if the job has completed. Once the job status is determined to be 'Completed', the Cloud proceeds to download and parse the result file, returning the data from the specified query.
A shorter interval (such as the default interval of 5 seconds) may provide quicker response times, but could increase the load on both the client and server if too frequent. A longer interval reduces the number of status checks but might delay data retrieval.
Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
int
-1
The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)
Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.
This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.
Specifies the number of records to return per page when retrieving data from Zoho CRM.
string
"200"
This property controls how many records are included in each page of the query results returned by the Cloud. This is particularly useful for paginating large datasets, ensuring more efficient data handling and retrieval. The page size can be adjusted to balance performance and data volume depending on the needs of your integration or reporting tools.
Note that the page size must be between 1 and 200. Setting it higher or lower than this range results in an error from the API.
Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
string
""
This property allows you to define which pseudocolumns the Cloud exposes as table columns.
To specify individual pseudocolumns, use the following format:
Table1=Column1;Table1=Column2;Table2=Column3
To include all pseudocolumns for all tables use:
*=*
Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
int
60
The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.
Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.
Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.
Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.
When set to 'true' (the default), the provider uses the Query API (COQL) to retrieve data from Zoho CRM.
bool
true
COQL is optimized for flexibility and easy querying, particularly for single-table or single-view queries. It allows you to use SQL-like syntax to retrieve data efficiently.
When Schema is set to 'v2', 'v2.1', or 'v4', COQL has the following limitations:
Controls whether the provider uses display names or API names when interacting with Zoho CRM modules and fields.
bool
false
Set this property to 'true' to use display names as seen in the Zoho CRM UI for some operations. This can be more user-friendly, but may cause inconsistencies if the display names change. Set this property to 'false' (the default) to ensure your SQL queries and integration logic use API names, which remain consistent even if display names change. This is particularly important for custom modules, where the API name can differ from the display name shown in the Zoho CRM UI.
For example, if you create a custom module called Potentials in the Zoho CRM UI, the underlying API name might be CustomModule_1. Setting this property to 'false' ensures that queries reference the API name (CustomModule_1) rather than the display name.
Controls whether filters in SQL queries are processed by the Zoho CRM server (server-side filtering) or by the client provider (client-side filtering) in REST API.
bool
true
When set to 'true' (the default), the Cloud sends the filters in your SQL queries directly to the Zoho CRM API, letting the server process them. This typically improves performance and reduces the amount of data transferred.
In REST API, when set to 'false', the Cloud retrieves all matching records from Zoho CRM and applies the filters on the client side. This is only recommended in rare cases, such as when recently updated data may not yet be fully indexed for server-side filtering. Client-side filtering is significantly slower and can be resource-intensive.
Specifies whether or not simple names should be used for tables and columns.
bool
false
Zoho CRM tables can include special characters in their names that are typically not allowed in standard databases. This property makes the Cloud easier to use with traditional database tools.
Setting UseSimpleNames to True simplifies the names of the columns that are returned. It enforces a naming scheme where only alphanumeric characters and underscores are valid for displayed column names.
Notes:
LZMA from 7Zip LZMA SDK
LZMA SDK is placed in the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
LZMA2 from XZ SDK
Version 1.9 and older are in the public domain.
Xamarin.Forms
Xamarin SDK
The MIT License (MIT)
Copyright (c) .NET Foundation Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
NSIS 3.10
Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
"Program" means the Contributions distributed in accordance with this Agreement.
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the Program.
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.