Skip to main content

Zoho-Crm full reference

This is the full reference documentation for the Zoho-Crm agent connector.

Supported entities and actions

The Zoho-Crm connector supports the following entities and actions.

EntityActions
LeadsList, Get, Context Store Search, Context Store SQL Query, Semantic Search
ContactsList, Get, Context Store Search, Context Store SQL Query, Semantic Search
AccountsList, Get, Context Store Search, Context Store SQL Query, Semantic Search
DealsList, Get, Context Store Search, Context Store SQL Query, Semantic Search
CampaignsList, Get, Context Store Search, Context Store SQL Query, Semantic Search
TasksList, Get, Context Store Search, Context Store SQL Query, Semantic Search
EventsList, Get, Context Store Search, Context Store SQL Query, Semantic Search
CallsList, Get, Context Store Search, Context Store SQL Query, Semantic Search
ProductsList, Get, Context Store Search, Context Store SQL Query, Semantic Search
QuotesList, Get, Context Store Search, Context Store SQL Query
InvoicesList, Get, Context Store Search, Context Store SQL Query
NotesList, Get, Context Store Search, Context Store SQL Query, Semantic Search

Leads

Leads List

Returns a paginated list of leads

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "leads",
"action": "list"
}'

Python SDK

await zoho_crm.leads.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "leads",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Companynull | string
First_Namenull | string
Last_Namenull | string
Full_Namenull | string
Emailnull | string
Phonenull | string
Mobilenull | string
Faxnull | string
Designationnull | string
Lead_Sourcenull | string
Industrynull | string
Annual_Revenuenull | number
No_of_Employeesnull | integer
Ratingnull | string
Lead_Statusnull | string
Websitenull | string
Streetnull | string
Citynull | string
Statenull | string
Zip_Codenull | string
Countrynull | string
Descriptionnull | string
Converted_Detailnull | object
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$convertednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$layout_idnull | object
$locked_for_menull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$zia_owner_assignmentnull | string
Email_Opt_Outnull | boolean
Last_Activity_Timenull | string
Locked__snull | boolean
Record_Imagenull | string
Salutationnull | string
Secondary_Emailnull | string
Skype_IDnull | string
Tagnull | array
Twitternull | string
Unsubscribed_Modenull | string
Unsubscribed_Timenull | string

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Leads Get

Get a single lead by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "leads",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.leads.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "leads",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesLead ID

Search and filter leads records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "leads",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.leads.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "leads",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
First_NamestringLead's first name
Last_NamestringLead's last name
Full_NamestringLead's full name
EmailstringLead's email address
PhonestringLead's phone number
MobilestringLead's mobile number
CompanystringCompany the lead is associated with
DesignationstringLead's job title. Zoho names this Designation on Leads and Title on Contacts; there is no Title field on the Leads module.
Lead_SourcestringSource from which the lead was generated
IndustrystringIndustry the lead belongs to
Annual_RevenuenumberAnnual revenue of the lead's company
No_of_EmployeesintegerNumber of employees in the lead's company
RatingstringLead rating
Lead_StatusstringCurrent status of the lead
WebsitestringLead's website URL
CitystringLead's city
StatestringLead's state or province
CountrystringLead's country
DescriptionstringDescription or notes about the lead
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].First_NamestringLead's first name
data[].Last_NamestringLead's last name
data[].Full_NamestringLead's full name
data[].EmailstringLead's email address
data[].PhonestringLead's phone number
data[].MobilestringLead's mobile number
data[].CompanystringCompany the lead is associated with
data[].DesignationstringLead's job title. Zoho names this Designation on Leads and Title on Contacts; there is no Title field on the Leads module.
data[].Lead_SourcestringSource from which the lead was generated
data[].IndustrystringIndustry the lead belongs to
data[].Annual_RevenuenumberAnnual revenue of the lead's company
data[].No_of_EmployeesintegerNumber of employees in the lead's company
data[].RatingstringLead rating
data[].Lead_StatusstringCurrent status of the lead
data[].WebsitestringLead's website URL
data[].CitystringLead's city
data[].StatestringLead's state or province
data[].CountrystringLead's country
data[].DescriptionstringDescription or notes about the lead
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Leads Context Store SQL Query

Run a SQL query against leads records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "leads",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.leads.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "leads",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search leads records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "leads",
"action": "context_store_search",
"params": {
"semantic": {"field": "Full_Name", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed leads.context_store_search helper only accepts query.

await zoho_crm.execute(
"leads",
"context_store_search",
{"semantic": {"field": "Full_Name", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "leads",
"action": "context_store_search",
"params": {
"semantic": {"field": "Full_Name", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Full_Name2048Lead's full name
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.Full_NamestringSource record field
data[].entity.DesignationstringSource record field
data[].entity.CompanystringSource record field
data[].entity.Lead_StatusstringSource record field
data[].entity.Lead_SourcestringSource record field
data[].entity.IndustrystringSource record field
data[].entity.StatestringSource record field
data[].entity.CountrystringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Contacts

Contacts List

Returns a paginated list of contacts

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "contacts",
"action": "list"
}'

Python SDK

await zoho_crm.contacts.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
First_Namenull | string
Last_Namenull | string
Full_Namenull | string
Emailnull | string
Phonenull | string
Mobilenull | string
Faxnull | string
Titlenull | string
Departmentnull | string
Account_Nameobject | any
Lead_Sourcenull | string
Date_of_Birthnull | string
Mailing_Streetnull | string
Mailing_Citynull | string
Mailing_Statenull | string
Mailing_Zipnull | string
Mailing_Countrynull | string
Other_Streetnull | string
Other_Citynull | string
Other_Statenull | string
Other_Zipnull | string
Other_Countrynull | string
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$is_duplicatenull | boolean
$layout_idnull | object
$locked_for_menull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$statenull | string
$zia_owner_assignmentnull | string
Assistantnull | string
Asst_Phonenull | string
Contact_Auto_Numbernull | string
Email_Opt_Outnull | boolean
Home_Phonenull | string
Last_Activity_Timenull | string
Locked__snull | boolean
Other_Phonenull | string
Record_Imagenull | string
Reporting_Toobject | any
Salutationnull | string
Secondary_Emailnull | string
Skype_IDnull | string
Tagnull | array
Twitternull | string
Unsubscribed_Modenull | string
Unsubscribed_Timenull | string
Vendor_Nameobject | any

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Contacts Get

Get a single contact by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "contacts",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.contacts.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesContact ID

Search and filter contacts records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "contacts",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.contacts.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
First_NamestringContact's first name
Last_NamestringContact's last name
Full_NamestringContact's full name
EmailstringContact's email address
PhonestringContact's phone number
MobilestringContact's mobile number
TitlestringContact's job title
DepartmentstringDepartment the contact belongs to
Account_NameobjectAccount the contact belongs to, as a lookup object with name and id
Lead_SourcestringSource from which the contact was generated
Date_of_BirthstringContact's date of birth
Mailing_CitystringMailing address city
Mailing_StatestringMailing address state or province
Mailing_CountrystringMailing address country
DescriptionstringDescription or notes about the contact
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].First_NamestringContact's first name
data[].Last_NamestringContact's last name
data[].Full_NamestringContact's full name
data[].EmailstringContact's email address
data[].PhonestringContact's phone number
data[].MobilestringContact's mobile number
data[].TitlestringContact's job title
data[].DepartmentstringDepartment the contact belongs to
data[].Account_NameobjectAccount the contact belongs to, as a lookup object with name and id
data[].Lead_SourcestringSource from which the contact was generated
data[].Date_of_BirthstringContact's date of birth
data[].Mailing_CitystringMailing address city
data[].Mailing_StatestringMailing address state or province
data[].Mailing_CountrystringMailing address country
data[].DescriptionstringDescription or notes about the contact
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Contacts Context Store SQL Query

Run a SQL query against contacts records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "contacts",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.contacts.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search contacts records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "contacts",
"action": "context_store_search",
"params": {
"semantic": {"field": "Full_Name", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed contacts.context_store_search helper only accepts query.

await zoho_crm.execute(
"contacts",
"context_store_search",
{"semantic": {"field": "Full_Name", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "contacts",
"action": "context_store_search",
"params": {
"semantic": {"field": "Full_Name", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Full_Name2048Contact's full name
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.Full_NamestringSource record field
data[].entity.TitlestringSource record field
data[].entity.DepartmentstringSource record field
data[].entity.account_namestringSource record field
data[].entity.Lead_SourcestringSource record field
data[].entity.Mailing_StatestringSource record field
data[].entity.Mailing_CountrystringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Accounts

Accounts List

Returns a paginated list of accounts

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "accounts",
"action": "list"
}'

Python SDK

await zoho_crm.accounts.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "accounts",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Account_Namenull | string
Account_Numbernull | string
Account_Typenull | string
Industrynull | string
Annual_Revenuenull | number
Employeesnull | integer
Phonenull | string
Faxnull | string
Websitenull | string
Ownershipnull | string
Ratingnull | string
SIC_Codenull | integer
Ticker_Symbolnull | string
Parent_Accountobject | any
Billing_Streetnull | string
Billing_Citynull | string
Billing_Statenull | string
Billing_Codenull | string
Billing_Countrynull | string
Shipping_Streetnull | string
Shipping_Citynull | string
Shipping_Statenull | string
Shipping_Codenull | string
Shipping_Countrynull | string
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$is_duplicatenull | boolean
$layout_idnull | object
$locked_for_menull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$statenull | string
$zia_owner_assignmentnull | string
Account_Sitenull | string
Last_Activity_Timenull | string
Locked__snull | boolean
Record_Imagenull | string
Tagnull | array

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Accounts Get

Get a single account by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "accounts",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.accounts.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "accounts",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesAccount ID

Search and filter accounts records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "accounts",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.accounts.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "accounts",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
Account_NamestringName of the account or company
Account_NumberstringAccount number
Account_TypestringType of account (e.g., Analyst, Competitor, Customer)
IndustrystringIndustry the account belongs to
Annual_RevenuenumberAnnual revenue of the account
EmployeesintegerNumber of employees
PhonestringAccount phone number
WebsitestringAccount website URL
OwnershipstringOwnership type (e.g., Public, Private)
RatingstringAccount rating
Billing_CitystringBilling address city
Billing_StatestringBilling address state or province
Billing_CountrystringBilling address country
DescriptionstringDescription or notes about the account
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].Account_NamestringName of the account or company
data[].Account_NumberstringAccount number
data[].Account_TypestringType of account (e.g., Analyst, Competitor, Customer)
data[].IndustrystringIndustry the account belongs to
data[].Annual_RevenuenumberAnnual revenue of the account
data[].EmployeesintegerNumber of employees
data[].PhonestringAccount phone number
data[].WebsitestringAccount website URL
data[].OwnershipstringOwnership type (e.g., Public, Private)
data[].RatingstringAccount rating
data[].Billing_CitystringBilling address city
data[].Billing_StatestringBilling address state or province
data[].Billing_CountrystringBilling address country
data[].DescriptionstringDescription or notes about the account
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Accounts Context Store SQL Query

Run a SQL query against accounts records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "accounts",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.accounts.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "accounts",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search accounts records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "accounts",
"action": "context_store_search",
"params": {
"semantic": {"field": "Account_Name", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed accounts.context_store_search helper only accepts query.

await zoho_crm.execute(
"accounts",
"context_store_search",
{"semantic": {"field": "Account_Name", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "accounts",
"action": "context_store_search",
"params": {
"semantic": {"field": "Account_Name", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Account_Name2048Name of the account or company
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.Account_NamestringSource record field
data[].entity.IndustrystringSource record field
data[].entity.Account_TypestringSource record field
data[].entity.WebsitestringSource record field
data[].entity.Billing_StatestringSource record field
data[].entity.Billing_CountrystringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Deals

Deals List

Returns a paginated list of deals

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "deals",
"action": "list"
}'

Python SDK

await zoho_crm.deals.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Deal_Namenull | string
Amountnull | number
Stagenull | string
Probabilitynull | integer
Closing_Datenull | string
Typenull | string
Next_Stepnull | string
Lead_Sourcenull | string
Contact_Nameobject | any
Account_Nameobject | any
Campaign_Sourceobject | any
Pipelinenull | object
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$followednull | boolean
$followersnull | array
$in_mergenull | boolean
$layout_idnull | object
$locked_for_menull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$statenull | string
$zia_owner_assignmentnull | string
Expected_Revenuenull | number
Last_Activity_Timenull | string
Lead_Conversion_Timenull | integer
Locked__snull | boolean
Overall_Sales_Durationnull | integer
Sales_Cycle_Durationnull | integer
Tagnull | array

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Deals Get

Get a single deal by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "deals",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.deals.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesDeal ID

Search and filter deals records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "deals",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.deals.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
Deal_NamestringName of the deal
Account_NameobjectAccount the deal belongs to, as a lookup object with name and id
AmountnumberMonetary value of the deal
StagestringCurrent stage of the deal in the pipeline
ProbabilityintegerProbability of closing the deal (percentage)
Closing_DatestringExpected closing date
TypestringType of deal (e.g., New Business, Existing Business)
Next_StepstringNext step in the deal process
Lead_SourcestringSource from which the deal originated
DescriptionstringDescription or notes about the deal
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].Deal_NamestringName of the deal
data[].Account_NameobjectAccount the deal belongs to, as a lookup object with name and id
data[].AmountnumberMonetary value of the deal
data[].StagestringCurrent stage of the deal in the pipeline
data[].ProbabilityintegerProbability of closing the deal (percentage)
data[].Closing_DatestringExpected closing date
data[].TypestringType of deal (e.g., New Business, Existing Business)
data[].Next_StepstringNext step in the deal process
data[].Lead_SourcestringSource from which the deal originated
data[].DescriptionstringDescription or notes about the deal
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Deals Context Store SQL Query

Run a SQL query against deals records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "deals",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.deals.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search deals records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "deals",
"action": "context_store_search",
"params": {
"semantic": {"field": "Deal_Name", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed deals.context_store_search helper only accepts query.

await zoho_crm.execute(
"deals",
"context_store_search",
{"semantic": {"field": "Deal_Name", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "deals",
"action": "context_store_search",
"params": {
"semantic": {"field": "Deal_Name", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Deal_Name2048Name of the deal
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.Deal_NamestringSource record field
data[].entity.StagestringSource record field
data[].entity.TypestringSource record field
data[].entity.Closing_DatestringSource record field
data[].entity.Lead_SourcestringSource record field
data[].entity.account_namestringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Campaigns

Campaigns List

Returns a paginated list of campaigns

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "campaigns",
"action": "list"
}'

Python SDK

await zoho_crm.campaigns.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Campaign_Namenull | string
Typenull | string
Statusnull | string
Start_Datenull | string
End_Datenull | string
Expected_Revenuenull | number
Budgeted_Costnull | number
Actual_Costnull | number
Num_sentnull | string
Expected_Responsenull | integer
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$layout_idnull | object
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$statenull | string
Last_Activity_Timenull | string
Parent_Campaignobject | any
Tagnull | array

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Campaigns Get

Get a single campaign by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "campaigns",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.campaigns.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesCampaign ID

Search and filter campaigns records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "campaigns",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.campaigns.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
Campaign_NamestringName of the campaign
TypestringType of campaign (e.g., Email, Webinar, Conference)
StatusstringCurrent status of the campaign
Start_DatestringCampaign start date
End_DatestringCampaign end date
Expected_RevenuenumberExpected revenue from the campaign
Budgeted_CostnumberBudget allocated for the campaign
Actual_CostnumberActual cost incurred
Num_sentstringNumber of campaign messages sent
Expected_ResponseintegerExpected response count
DescriptionstringDescription or notes about the campaign
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].Campaign_NamestringName of the campaign
data[].TypestringType of campaign (e.g., Email, Webinar, Conference)
data[].StatusstringCurrent status of the campaign
data[].Start_DatestringCampaign start date
data[].End_DatestringCampaign end date
data[].Expected_RevenuenumberExpected revenue from the campaign
data[].Budgeted_CostnumberBudget allocated for the campaign
data[].Actual_CostnumberActual cost incurred
data[].Num_sentstringNumber of campaign messages sent
data[].Expected_ResponseintegerExpected response count
data[].DescriptionstringDescription or notes about the campaign
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Campaigns Context Store SQL Query

Run a SQL query against campaigns records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "campaigns",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.campaigns.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search campaigns records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "campaigns",
"action": "context_store_search",
"params": {
"semantic": {"field": "Campaign_Name", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed campaigns.context_store_search helper only accepts query.

await zoho_crm.execute(
"campaigns",
"context_store_search",
{"semantic": {"field": "Campaign_Name", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "campaigns",
"action": "context_store_search",
"params": {
"semantic": {"field": "Campaign_Name", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Campaign_Name2048Name of the campaign
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.Campaign_NamestringSource record field
data[].entity.TypestringSource record field
data[].entity.StatusstringSource record field
data[].entity.Start_DatestringSource record field
data[].entity.End_DatestringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Tasks

Tasks List

Returns a paginated list of tasks

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "tasks",
"action": "list"
}'

Python SDK

await zoho_crm.tasks.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Subjectnull | string
Due_Datenull | string
Statusnull | string
Prioritynull | string
Send_Notification_Emailnull | boolean
Remind_Atnull | object
Who_Idobject | any
What_Idobject | any
Recurring_Activitynull | object
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
Closed_Timenull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$locked_for_menull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$se_modulenull | string
$statenull | string
$u_idnull | string
$zia_owner_assignmentnull | string
BEST_TIMEnull | array
Last_Activity_Timenull | string
Locked__snull | boolean
Tagnull | array

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Tasks Get

Get a single task by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "tasks",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.tasks.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesTask ID

Search and filter tasks records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "tasks",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.tasks.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
SubjectstringSubject or title of the task
Who_IdobjectContact or lead the task is with, as a lookup object with name and id
What_IdobjectAccount, deal, or other record the task is linked to, as a lookup object with name and id
Due_DatestringDue date for the task
StatusstringCurrent status (e.g., Not Started, In Progress, Completed)
PrioritystringPriority level (e.g., High, Highest, Low, Lowest, Normal)
Send_Notification_EmailbooleanWhether to send a notification email
DescriptionstringDescription or notes about the task
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Closed_TimestringTime the task was closed
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].SubjectstringSubject or title of the task
data[].Who_IdobjectContact or lead the task is with, as a lookup object with name and id
data[].What_IdobjectAccount, deal, or other record the task is linked to, as a lookup object with name and id
data[].Due_DatestringDue date for the task
data[].StatusstringCurrent status (e.g., Not Started, In Progress, Completed)
data[].PrioritystringPriority level (e.g., High, Highest, Low, Lowest, Normal)
data[].Send_Notification_EmailbooleanWhether to send a notification email
data[].DescriptionstringDescription or notes about the task
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified
data[].Closed_TimestringTime the task was closed

Tasks Context Store SQL Query

Run a SQL query against tasks records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "tasks",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.tasks.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search tasks records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "tasks",
"action": "context_store_search",
"params": {
"semantic": {"field": "Subject", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed tasks.context_store_search helper only accepts query.

await zoho_crm.execute(
"tasks",
"context_store_search",
{"semantic": {"field": "Subject", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "tasks",
"action": "context_store_search",
"params": {
"semantic": {"field": "Subject", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Subject2048Subject or title of the task
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.SubjectstringSource record field
data[].entity.StatusstringSource record field
data[].entity.PrioritystringSource record field
data[].entity.Due_DatestringSource record field
data[].entity.Closed_TimestringSource record field
data[].entity.related_tostringSource record field
data[].entity.contact_namestringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Events

Events List

Returns a paginated list of events (meetings/calendar events)

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "events",
"action": "list"
}'

Python SDK

await zoho_crm.events.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "events",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Event_Titlenull | string
Start_DateTimenull | string
End_DateTimenull | string
All_daynull | boolean
Venuenull | string
Participantsnull | array
Who_Idobject | any
What_Idobject | any
Remind_Atnull | object
Recurring_Activitynull | object
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$calendar_booking_eventnull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$meeting_detailsnull | object
$orchestrationnull | boolean
$process_flownull | boolean
$recurrence_idnull | string
$reviewnull | object
$review_processnull | object
$se_modulenull | string
$send_notificationnull | boolean
$statenull | string
$u_idnull | string
Check_In_Addressnull | string
Check_In_Bynull | object
Check_In_Citynull | string
Check_In_Commentnull | string
Check_In_Countrynull | string
Check_In_Statenull | string
Check_In_Statusnull | string
Check_In_Sub_Localitynull | string
Check_In_Timenull | string
Last_Activity_Timenull | string
Latitudenull | number
Longitudenull | number
Tagnull | array
ZIP_Codenull | string

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Events Get

Get a single event by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "events",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.events.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "events",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesEvent ID

Search and filter events records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "events",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.events.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "events",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
Event_TitlestringTitle of the event
Who_IdobjectContact or lead invited to the event, as a lookup object with name and id
What_IdobjectAccount, deal, or other record the event is linked to, as a lookup object with name and id
Start_DateTimestringEvent start date and time
End_DateTimestringEvent end date and time
All_daybooleanWhether this is an all-day event
VenuestringEvent location. Zoho names this field Venue; there is no Location field on the Events module.
DescriptionstringDescription or notes about the event
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].Event_TitlestringTitle of the event
data[].Who_IdobjectContact or lead invited to the event, as a lookup object with name and id
data[].What_IdobjectAccount, deal, or other record the event is linked to, as a lookup object with name and id
data[].Start_DateTimestringEvent start date and time
data[].End_DateTimestringEvent end date and time
data[].All_daybooleanWhether this is an all-day event
data[].VenuestringEvent location. Zoho names this field Venue; there is no Location field on the Events module.
data[].DescriptionstringDescription or notes about the event
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Events Context Store SQL Query

Run a SQL query against events records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "events",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.events.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "events",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search events records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "events",
"action": "context_store_search",
"params": {
"semantic": {"field": "Event_Title", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed events.context_store_search helper only accepts query.

await zoho_crm.execute(
"events",
"context_store_search",
{"semantic": {"field": "Event_Title", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "events",
"action": "context_store_search",
"params": {
"semantic": {"field": "Event_Title", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Event_Title2048Title of the event
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.Event_TitlestringSource record field
data[].entity.Start_DateTimestringSource record field
data[].entity.End_DateTimestringSource record field
data[].entity.All_daystringSource record field
data[].entity.VenuestringSource record field
data[].entity.related_tostringSource record field
data[].entity.contact_namestringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Calls

Calls List

Returns a paginated list of calls

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "calls",
"action": "list"
}'

Python SDK

await zoho_crm.calls.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Subjectnull | string
Call_Typenull | string
Call_Start_Timenull | string
Call_Durationnull | string
Call_Duration_in_secondsnull | number
Call_Purposenull | string
Call_Resultnull | string
Who_Idobject | any
What_Idobject | any
Descriptionnull | string
Caller_IDnull | string
Call_Statusnull | string
Call_Agendanull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$calendar_booking_callnull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$se_modulenull | string
$statenull | string
Dialled_Numbernull | string
Last_Activity_Timenull | string
Remindernull | string
Tagnull | array

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Calls Get

Get a single call by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "calls",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.calls.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesCall ID

Search and filter calls records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "calls",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.calls.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
SubjectstringSubject of the call
Who_IdobjectContact or lead on the call, as a lookup object with name and id
What_IdobjectAccount, deal, or other record the call is linked to, as a lookup object with name and id
Call_TypestringType of call (Inbound or Outbound)
Call_Start_TimestringStart time of the call
Call_DurationstringDuration of the call as a formatted string
Call_Duration_in_secondsnumberDuration of the call in seconds
Call_PurposestringPurpose of the call
Call_ResultstringResult or outcome of the call
Caller_IDstringCaller ID number
Call_StatusstringDisposition of the call (Missed, Received, Overdue, Scheduled). Zoho names this field Call_Status; there is no Outgoing_Call_Status field on the Calls module.
Call_AgendastringFree-text agenda written before the call
DescriptionstringDescription or notes about the call
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].SubjectstringSubject of the call
data[].Who_IdobjectContact or lead on the call, as a lookup object with name and id
data[].What_IdobjectAccount, deal, or other record the call is linked to, as a lookup object with name and id
data[].Call_TypestringType of call (Inbound or Outbound)
data[].Call_Start_TimestringStart time of the call
data[].Call_DurationstringDuration of the call as a formatted string
data[].Call_Duration_in_secondsnumberDuration of the call in seconds
data[].Call_PurposestringPurpose of the call
data[].Call_ResultstringResult or outcome of the call
data[].Caller_IDstringCaller ID number
data[].Call_StatusstringDisposition of the call (Missed, Received, Overdue, Scheduled). Zoho names this field Call_Status; there is no Outgoing_Call_Status field on the Calls module.
data[].Call_AgendastringFree-text agenda written before the call
data[].DescriptionstringDescription or notes about the call
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Calls Context Store SQL Query

Run a SQL query against calls records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "calls",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.calls.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search calls records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "calls",
"action": "context_store_search",
"params": {
"semantic": {"field": "Subject", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed calls.context_store_search helper only accepts query.

await zoho_crm.execute(
"calls",
"context_store_search",
{"semantic": {"field": "Subject", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "calls",
"action": "context_store_search",
"params": {
"semantic": {"field": "Subject", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Subject2048Subject of the call
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.SubjectstringSource record field
data[].entity.Call_TypestringSource record field
data[].entity.Call_StatusstringSource record field
data[].entity.Call_PurposestringSource record field
data[].entity.Call_Start_TimestringSource record field
data[].entity.related_tostringSource record field
data[].entity.contact_namestringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Products

Products List

Returns a paginated list of products

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "products",
"action": "list"
}'

Python SDK

await zoho_crm.products.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "products",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Product_Namenull | string
Product_Codenull | string
Product_Categorynull | string
Product_Activenull | boolean
Unit_Pricenull | number
Commission_Ratenull | number
Manufacturernull | string
Sales_Start_Datenull | string
Sales_End_Datenull | string
Support_Start_Datenull | string
Support_Expiry_Datenull | string
Qty_in_Stocknull | number
Qty_in_Demandnull | number
Qty_Orderednull | number
Reorder_Levelnull | number
Handlerobject | any
Taxnull | array
Vendor_Nameobject | any
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$layout_idnull | object
$locked_for_menull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$statenull | string
Last_Activity_Timenull | string
Locked__snull | boolean
Record_Imagenull | string
Tagnull | array
Taxablenull | boolean
Usage_Unitnull | string

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Products Get

Get a single product by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "products",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.products.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "products",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesProduct ID

Search and filter products records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "products",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.products.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "products",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
Product_NamestringName of the product
Product_CodestringProduct code or SKU
Product_CategorystringCategory of the product
Product_ActivebooleanWhether the product is active
Unit_PricenumberUnit price of the product
Commission_RatenumberCommission rate for the product
ManufacturerstringProduct manufacturer
Sales_Start_DatestringDate when sales begin
Sales_End_DatestringDate when sales end
Qty_in_StocknumberQuantity currently in stock
Qty_in_DemandnumberQuantity in demand
Qty_OrderednumberQuantity on order
DescriptionstringDescription of the product
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].Product_NamestringName of the product
data[].Product_CodestringProduct code or SKU
data[].Product_CategorystringCategory of the product
data[].Product_ActivebooleanWhether the product is active
data[].Unit_PricenumberUnit price of the product
data[].Commission_RatenumberCommission rate for the product
data[].ManufacturerstringProduct manufacturer
data[].Sales_Start_DatestringDate when sales begin
data[].Sales_End_DatestringDate when sales end
data[].Qty_in_StocknumberQuantity currently in stock
data[].Qty_in_DemandnumberQuantity in demand
data[].Qty_OrderednumberQuantity on order
data[].DescriptionstringDescription of the product
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Products Context Store SQL Query

Run a SQL query against products records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "products",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.products.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "products",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search products records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "products",
"action": "context_store_search",
"params": {
"semantic": {"field": "Product_Name", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed products.context_store_search helper only accepts query.

await zoho_crm.execute(
"products",
"context_store_search",
{"semantic": {"field": "Product_Name", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "products",
"action": "context_store_search",
"params": {
"semantic": {"field": "Product_Name", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Product_Name2048Name of the product
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.Product_NamestringSource record field
data[].entity.Product_CodestringSource record field
data[].entity.Product_CategorystringSource record field
data[].entity.ManufacturerstringSource record field
data[].entity.Product_ActivestringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds

Quotes

Quotes List

Returns a paginated list of quotes

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "quotes",
"action": "list"
}'

Python SDK

await zoho_crm.quotes.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "quotes",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Subjectnull | string
Quote_Stagenull | string
Valid_Tillnull | string
Deal_Nameobject | any
Contact_Nameobject | any
Account_Nameobject | any
Carriernull | string
Shipping_Streetnull | string
Shipping_Citynull | string
Shipping_Statenull | string
Shipping_Codenull | string
Shipping_Countrynull | string
Billing_Streetnull | string
Billing_Citynull | string
Billing_Statenull | string
Billing_Codenull | string
Billing_Countrynull | string
Sub_Totalnull | number
Taxnull | number
Adjustmentnull | number
Grand_Totalnull | number
Discountnull | number
Terms_and_Conditionsnull | string
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$convertednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$layout_idnull | object
$line_taxnull | array
$locked_for_menull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$statenull | string
Last_Activity_Timenull | string
Locked__snull | boolean
Product_Detailsnull | array
Quote_Numbernull | string
Tagnull | array
Teamnull | string

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Quotes Get

Get a single quote by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "quotes",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.quotes.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "quotes",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesQuote ID

Search and filter quotes records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "quotes",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.quotes.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "quotes",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
SubjectstringSubject or title of the quote
Quote_StagestringCurrent stage of the quote
Valid_TillstringDate until which the quote is valid
CarrierstringShipping carrier
Sub_TotalnumberSubtotal before tax and adjustments
TaxnumberTax amount
AdjustmentnumberAdjustment amount
Grand_TotalnumberTotal amount including tax and adjustments
DiscountnumberDiscount amount
Terms_and_ConditionsstringTerms and conditions text
DescriptionstringDescription or notes about the quote
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].SubjectstringSubject or title of the quote
data[].Quote_StagestringCurrent stage of the quote
data[].Valid_TillstringDate until which the quote is valid
data[].CarrierstringShipping carrier
data[].Sub_TotalnumberSubtotal before tax and adjustments
data[].TaxnumberTax amount
data[].AdjustmentnumberAdjustment amount
data[].Grand_TotalnumberTotal amount including tax and adjustments
data[].DiscountnumberDiscount amount
data[].Terms_and_ConditionsstringTerms and conditions text
data[].DescriptionstringDescription or notes about the quote
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Quotes Context Store SQL Query

Run a SQL query against quotes records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "quotes",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.quotes.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "quotes",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Invoices

Invoices List

Returns a paginated list of invoices

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "invoices",
"action": "list"
}'

Python SDK

await zoho_crm.invoices.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "invoices",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Subjectnull | string
Invoice_Numbernull | string
Invoice_Datenull | string
Due_Datenull | string
Statusnull | string
Sales_Orderobject | any
Contact_Nameobject | any
Account_Nameobject | any
Deal_Nameobject | any
Purchase_Ordernull | string
Excise_Dutynull | number
Billing_Streetnull | string
Billing_Citynull | string
Billing_Statenull | string
Billing_Codenull | string
Billing_Countrynull | string
Shipping_Streetnull | string
Shipping_Citynull | string
Shipping_Statenull | string
Shipping_Codenull | string
Shipping_Countrynull | string
Sub_Totalnull | number
Taxnull | number
Adjustmentnull | number
Grand_Totalnull | number
Discountnull | number
Terms_and_Conditionsnull | string
Descriptionnull | string
Created_Timenull | string
Modified_Timenull | string
Created_Byobject | any
Modified_Byobject | any
Record_Status__snull | string
$approvalnull | object
$approval_statenull | string
$approvednull | boolean
$currency_symbolnull | string
$editablenull | boolean
$field_statesnull | object
$in_mergenull | boolean
$layout_idnull | object
$line_taxnull | array
$locked_for_menull | boolean
$orchestrationnull | boolean
$process_flownull | boolean
$reviewnull | object
$review_processnull | object
$statenull | string
Last_Activity_Timenull | string
Locked__snull | boolean
Product_Detailsnull | array
Sales_Commissionnull | number
Tagnull | array

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Invoices Get

Get a single invoice by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "invoices",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.invoices.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "invoices",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesInvoice ID

Search and filter invoices records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "invoices",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.invoices.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "invoices",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
SubjectstringSubject or title of the invoice
Invoice_NumberstringInvoice number
Invoice_DatestringDate the invoice was issued
Due_DatestringPayment due date
StatusstringCurrent status of the invoice
Purchase_OrderstringAssociated purchase order number
Sub_TotalnumberSubtotal before tax and adjustments
TaxnumberTax amount
AdjustmentnumberAdjustment amount
Grand_TotalnumberTotal amount including tax and adjustments
DiscountnumberDiscount amount
Excise_DutynumberExcise duty amount
Terms_and_ConditionsstringTerms and conditions text
DescriptionstringDescription or notes about the invoice
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].SubjectstringSubject or title of the invoice
data[].Invoice_NumberstringInvoice number
data[].Invoice_DatestringDate the invoice was issued
data[].Due_DatestringPayment due date
data[].StatusstringCurrent status of the invoice
data[].Purchase_OrderstringAssociated purchase order number
data[].Sub_TotalnumberSubtotal before tax and adjustments
data[].TaxnumberTax amount
data[].AdjustmentnumberAdjustment amount
data[].Grand_TotalnumberTotal amount including tax and adjustments
data[].DiscountnumberDiscount amount
data[].Excise_DutynumberExcise duty amount
data[].Terms_and_ConditionsstringTerms and conditions text
data[].DescriptionstringDescription or notes about the invoice
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Invoices Context Store SQL Query

Run a SQL query against invoices records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "invoices",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.invoices.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "invoices",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Notes

Notes List

Returns a paginated list of notes

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "notes",
"action": "list"
}'

Python SDK

await zoho_crm.notes.list()

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "list"
}'

Parameters

Parameter NameTypeRequiredDescription
pageintegerNoPage number
per_pageintegerNoNumber of records per page
page_tokenstringNoPage token for fetching beyond 2000 records
sort_bystringNoField to sort by
sort_order"asc" | "desc"NoSort order
Response Schema

Records

Field NameTypeDescription
idstring
Ownerobject | any
Note_Titlenull | string
Note_Contentnull | string
Parent_Idobject | any
Created_Timenull | string
Modified_Timenull | string
$attachmentsnull | array
$editablenull | boolean
$field_statesnull | object
$is_shared_to_clientnull | boolean
$se_modulenull | string
$sizenull | integer
$statenull | string
$voice_notenull | boolean
Created_Byobject | any
Modified_Byobject | any

Meta

Field NameTypeDescription
more_recordsboolean
pageinteger

Notes Get

Get a single note by ID

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "notes",
"action": "get",
"params": {
"id": "<str>"
}
}'

Python SDK

await zoho_crm.notes.get(
id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "get",
"params": {
"id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
idstringYesNote ID

Search and filter notes records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "notes",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"id": "<str>"
}
}
}
}
}'

Python SDK

await zoho_crm.notes.context_store_search(
query={"filter": {"eq": {"id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"id": "<str>"}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
idstringUnique record identifier
Note_ContentstringBody of the note. This is where rep-authored free text actually accumulates in Zoho CRM -- notes attach to any module record and, unlike the per-record Description textarea, are mandatory content by construction.
Note_TitlestringOptional short title for the note
Parent_IdobjectRecord the note is attached to, as a lookup object with name and id
Created_TimestringTime the record was created
Modified_TimestringTime the record was last modified
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].idstringUnique record identifier
data[].Note_ContentstringBody of the note. This is where rep-authored free text actually accumulates in Zoho CRM -- notes attach to any module record and, unlike the per-record Description textarea, are mandatory content by construction.
data[].Note_TitlestringOptional short title for the note
data[].Parent_IdobjectRecord the note is attached to, as a lookup object with name and id
data[].Created_TimestringTime the record was created
data[].Modified_TimestringTime the record was last modified

Notes Context Store SQL Query

Run a SQL query against notes records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "notes",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK

await zoho_crm.notes.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search notes records by meaning rather than by exact or fuzzy field values. Semantic search embeds a natural-language prompt and returns the most similar passages, ranked by relevance. Pass semantic={field, prompt, filter?, context_size?, min_similarity?, dedup?} to context_store_search instead of query. Only available in hosted mode.

CLI

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "zoho-crm",
"entity": "notes",
"action": "context_store_search",
"params": {
"semantic": {"field": "Note_Content", "prompt": "<your natural-language query>"}
}
}'

Python SDK

Semantic search is passed through the generic execute method — the typed notes.context_store_search helper only accepts query.

await zoho_crm.execute(
"notes",
"context_store_search",
{"semantic": {"field": "Note_Content", "prompt": "<your natural-language query>"}},
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "notes",
"action": "context_store_search",
"params": {
"semantic": {"field": "Note_Content", "prompt": "<your natural-language query>"}
}
}'

Semantic Parameters

Parameter NameTypeRequiredDescription
semantic.fieldstringYesField to search semantically. Mutually exclusive with query.
semantic.promptstringYesNatural-language query that is embedded and compared against stored passages.
semantic.filterobjectNoFilter conditions (same shape/operators as query.filter). sort is not supported — results are ranked by similarity.
semantic.context_sizeintegerNoCharacters of surrounding context to return per hit, up to the field's configured window. Omit to return the full configured window.
semantic.min_similaritynumberNoMinimum similarity score in [-1.0, 1.0]. Omit for 0.25; scores below the threshold are discarded before deduplication and top-k selection. Use -1.0 to disable the cutoff.
semantic.dedupstringNomax (default) returns the single best-scoring passage per record; none returns multiple passages per record, still ranked by similarity and capped by limit.
fieldsarrayNoField paths to include in results (dot notation for nested fields). Applied to each hit's entity.
limitintegerNoMaximum results to return (default 10, maximum 100).

Semantically Searchable Fields

Field NameMax Context (chars)Description
Note_Content2048Body of the note. This is where rep-authored free text actually accumulates in Zoho CRM -- notes attach to any module record and, unlike the per-record Description textarea, are mandatory content by construction.
Response Schema
Field NameTypeDescription
dataarrayList of matching passages
data[].entityobjectThe matched source record
data[].entity.idstringSource record field
data[].entity.Modified_TimestringSource record field
data[].entity.Created_TimestringSource record field
data[].entity.Note_TitlestringSource record field
data[].entity.parent_idstringSource record field
data[].entity.parent_namestringSource record field
data[].metadataobjectMatch metadata
data[].metadata.scorenumberSimilarity score
data[].metadata.contextstringThe matched passage text
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds