Skip to main content

Salesforce full reference

This is the full reference documentation for the Salesforce agent connector.

Supported entities and actions

The Salesforce connector supports the following entities and actions.

EntityActions
AccountsList, Get, API Search, Search
ContactsList, Get, API Search, Search
LeadsList, Get, API Search, Search
OpportunitiesList, Get, API Search, Search
TasksList, Get, API Search, Search
EventsList, Get, API Search
CampaignsList, Get, API Search
CasesList, Get, API Search
NotesList, Get, API Search
Content VersionsList, Get, Download
AttachmentsList, Get, Download
QueryList

Accounts

Accounts List

Returns a list of accounts via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.accounts.list(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for accounts. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Account ORDER BY LastModifiedDate DESC LIMIT 50"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Namestring
records[].attributesobject

Accounts Get

Get a single account by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

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

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Account ID (18-character ID starting with '001')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,Name,Industry,AnnualRevenue,Website"
Response Schema

Records

Field NameTypeDescription
Idstring
Namestring
attributesobject

Search for accounts using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields and objects. Use SOQL (list action) for structured queries with specific field conditions.

Python SDK

await salesforce.accounts.api_search(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} IN scope RETURNING Object(fields) [LIMIT n]
Examples:
  • "FIND {Acme} IN ALL FIELDS RETURNING Account(Id,Name)"
  • "FIND {tech*} IN NAME FIELDS RETURNING Account(Id,Name,Industry) LIMIT 50"
  • "FIND {"exact phrase"} RETURNING Account(Id,Name,Website)" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

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.

Python SDK

await salesforce.accounts.search(
query={"filter": {"eq": {"Id": "<str>"}}}
)

API

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

Parameters

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

Searchable Fields

Field NameTypeDescription
IdstringUnique identifier for the account record
NamestringName of the account or company
AccountSourcestringSource of the account record (e.g., Web, Referral)
BillingAddressobjectComplete billing address as a compound field
BillingCitystringCity portion of the billing address
BillingCountrystringCountry portion of the billing address
BillingPostalCodestringPostal code portion of the billing address
BillingStatestringState or province portion of the billing address
BillingStreetstringStreet address portion of the billing address
CreatedByIdstringID of the user who created this account
CreatedDatestringDate and time when the account was created
DescriptionstringText description of the account
IndustrystringPrimary business industry of the account
IsDeletedbooleanWhether the account has been moved to the Recycle Bin
LastActivityDatestringDate of the last activity associated with this account
LastModifiedByIdstringID of the user who last modified this account
LastModifiedDatestringDate and time when the account was last modified
NumberOfEmployeesintegerNumber of employees at the account
OwnerIdstringID of the user who owns this account
ParentIdstringID of the parent account, if this is a subsidiary
PhonestringPrimary phone number for the account
ShippingAddressobjectComplete shipping address as a compound field
ShippingCitystringCity portion of the shipping address
ShippingCountrystringCountry portion of the shipping address
ShippingPostalCodestringPostal code portion of the shipping address
ShippingStatestringState or province portion of the shipping address
ShippingStreetstringStreet address portion of the shipping address
TypestringType of account (e.g., Customer, Partner, Competitor)
WebsitestringWebsite URL for the account
SystemModstampstringSystem timestamp when the record was last modified
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.IdstringUnique identifier for the account record
hits[].data.NamestringName of the account or company
hits[].data.AccountSourcestringSource of the account record (e.g., Web, Referral)
hits[].data.BillingAddressobjectComplete billing address as a compound field
hits[].data.BillingCitystringCity portion of the billing address
hits[].data.BillingCountrystringCountry portion of the billing address
hits[].data.BillingPostalCodestringPostal code portion of the billing address
hits[].data.BillingStatestringState or province portion of the billing address
hits[].data.BillingStreetstringStreet address portion of the billing address
hits[].data.CreatedByIdstringID of the user who created this account
hits[].data.CreatedDatestringDate and time when the account was created
hits[].data.DescriptionstringText description of the account
hits[].data.IndustrystringPrimary business industry of the account
hits[].data.IsDeletedbooleanWhether the account has been moved to the Recycle Bin
hits[].data.LastActivityDatestringDate of the last activity associated with this account
hits[].data.LastModifiedByIdstringID of the user who last modified this account
hits[].data.LastModifiedDatestringDate and time when the account was last modified
hits[].data.NumberOfEmployeesintegerNumber of employees at the account
hits[].data.OwnerIdstringID of the user who owns this account
hits[].data.ParentIdstringID of the parent account, if this is a subsidiary
hits[].data.PhonestringPrimary phone number for the account
hits[].data.ShippingAddressobjectComplete shipping address as a compound field
hits[].data.ShippingCitystringCity portion of the shipping address
hits[].data.ShippingCountrystringCountry portion of the shipping address
hits[].data.ShippingPostalCodestringPostal code portion of the shipping address
hits[].data.ShippingStatestringState or province portion of the shipping address
hits[].data.ShippingStreetstringStreet address portion of the shipping address
hits[].data.TypestringType of account (e.g., Customer, Partner, Competitor)
hits[].data.WebsitestringWebsite URL for the account
hits[].data.SystemModstampstringSystem timestamp when the record was last modified
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

Contacts

Contacts List

Returns a list of contacts via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.contacts.list(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for contacts. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Contact WHERE AccountId = '001xx...' LIMIT 50"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Namestring
records[].attributesobject

Contacts Get

Get a single contact by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

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

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Contact ID (18-character ID starting with '003')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,FirstName,LastName,Email,Phone,AccountId"
Response Schema

Records

Field NameTypeDescription
Idstring
Namestring
attributesobject

Search for contacts using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields.

Python SDK

await salesforce.contacts.api_search(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} RETURNING Contact(fields) [LIMIT n]
Examples:
  • "FIND {John} IN NAME FIELDS RETURNING Contact(Id,FirstName,LastName,Email)"
  • "FIND {*@example.com} IN EMAIL FIELDS RETURNING Contact(Id,Name,Email) LIMIT 25" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

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.

Python SDK

await salesforce.contacts.search(
query={"filter": {"eq": {"Id": "<str>"}}}
)

API

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

Parameters

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

Searchable Fields

Field NameTypeDescription
IdstringUnique identifier for the contact record
AccountIdstringID of the account this contact is associated with
CreatedByIdstringID of the user who created this contact
CreatedDatestringDate and time when the contact was created
DepartmentstringDepartment within the account where the contact works
EmailstringEmail address of the contact
FirstNamestringFirst name of the contact
IsDeletedbooleanWhether the contact has been moved to the Recycle Bin
LastActivityDatestringDate of the last activity associated with this contact
LastModifiedByIdstringID of the user who last modified this contact
LastModifiedDatestringDate and time when the contact was last modified
LastNamestringLast name of the contact
LeadSourcestringSource from which this contact originated
MailingAddressobjectComplete mailing address as a compound field
MailingCitystringCity portion of the mailing address
MailingCountrystringCountry portion of the mailing address
MailingPostalCodestringPostal code portion of the mailing address
MailingStatestringState or province portion of the mailing address
MailingStreetstringStreet address portion of the mailing address
MobilePhonestringMobile phone number of the contact
NamestringFull name of the contact (read-only, concatenation of first and last name)
OwnerIdstringID of the user who owns this contact
PhonestringBusiness phone number of the contact
ReportsToIdstringID of the contact this contact reports to
TitlestringJob title of the contact
SystemModstampstringSystem timestamp when the record was last modified
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.IdstringUnique identifier for the contact record
hits[].data.AccountIdstringID of the account this contact is associated with
hits[].data.CreatedByIdstringID of the user who created this contact
hits[].data.CreatedDatestringDate and time when the contact was created
hits[].data.DepartmentstringDepartment within the account where the contact works
hits[].data.EmailstringEmail address of the contact
hits[].data.FirstNamestringFirst name of the contact
hits[].data.IsDeletedbooleanWhether the contact has been moved to the Recycle Bin
hits[].data.LastActivityDatestringDate of the last activity associated with this contact
hits[].data.LastModifiedByIdstringID of the user who last modified this contact
hits[].data.LastModifiedDatestringDate and time when the contact was last modified
hits[].data.LastNamestringLast name of the contact
hits[].data.LeadSourcestringSource from which this contact originated
hits[].data.MailingAddressobjectComplete mailing address as a compound field
hits[].data.MailingCitystringCity portion of the mailing address
hits[].data.MailingCountrystringCountry portion of the mailing address
hits[].data.MailingPostalCodestringPostal code portion of the mailing address
hits[].data.MailingStatestringState or province portion of the mailing address
hits[].data.MailingStreetstringStreet address portion of the mailing address
hits[].data.MobilePhonestringMobile phone number of the contact
hits[].data.NamestringFull name of the contact (read-only, concatenation of first and last name)
hits[].data.OwnerIdstringID of the user who owns this contact
hits[].data.PhonestringBusiness phone number of the contact
hits[].data.ReportsToIdstringID of the contact this contact reports to
hits[].data.TitlestringJob title of the contact
hits[].data.SystemModstampstringSystem timestamp when the record was last modified
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

Leads

Leads List

Returns a list of leads via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.leads.list(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for leads. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Lead WHERE Status = 'Open' LIMIT 100"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Namestring
records[].attributesobject

Leads Get

Get a single lead by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

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

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Lead ID (18-character ID starting with '00Q')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,FirstName,LastName,Email,Company,Status,LeadSource"
Response Schema

Records

Field NameTypeDescription
Idstring
Namestring
attributesobject

Search for leads using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields.

Python SDK

await salesforce.leads.api_search(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} RETURNING Lead(fields) [LIMIT n]
Examples:
  • "FIND {Smith} IN NAME FIELDS RETURNING Lead(Id,FirstName,LastName,Company,Status)"
  • "FIND {marketing} IN ALL FIELDS RETURNING Lead(Id,Name,LeadSource) LIMIT 50" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

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.

Python SDK

await salesforce.leads.search(
query={"filter": {"eq": {"Id": "<str>"}}}
)

API

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

Parameters

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

Searchable Fields

Field NameTypeDescription
IdstringUnique identifier for the lead record
AddressobjectComplete address as a compound field
CitystringCity portion of the address
CompanystringCompany or organization the lead works for
ConvertedAccountIdstringID of the account created when lead was converted
ConvertedContactIdstringID of the contact created when lead was converted
ConvertedDatestringDate when the lead was converted
ConvertedOpportunityIdstringID of the opportunity created when lead was converted
CountrystringCountry portion of the address
CreatedByIdstringID of the user who created this lead
CreatedDatestringDate and time when the lead was created
EmailstringEmail address of the lead
FirstNamestringFirst name of the lead
IndustrystringIndustry the lead's company operates in
IsConvertedbooleanWhether the lead has been converted to an account, contact, and opportunity
IsDeletedbooleanWhether the lead has been moved to the Recycle Bin
LastActivityDatestringDate of the last activity associated with this lead
LastModifiedByIdstringID of the user who last modified this lead
LastModifiedDatestringDate and time when the lead was last modified
LastNamestringLast name of the lead
LeadSourcestringSource from which this lead originated
MobilePhonestringMobile phone number of the lead
NamestringFull name of the lead (read-only, concatenation of first and last name)
NumberOfEmployeesintegerNumber of employees at the lead's company
OwnerIdstringID of the user who owns this lead
PhonestringPhone number of the lead
PostalCodestringPostal code portion of the address
RatingstringRating of the lead (e.g., Hot, Warm, Cold)
StatestringState or province portion of the address
StatusstringCurrent status of the lead in the sales process
StreetstringStreet address portion of the address
TitlestringJob title of the lead
WebsitestringWebsite URL for the lead's company
SystemModstampstringSystem timestamp when the record was last modified
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.IdstringUnique identifier for the lead record
hits[].data.AddressobjectComplete address as a compound field
hits[].data.CitystringCity portion of the address
hits[].data.CompanystringCompany or organization the lead works for
hits[].data.ConvertedAccountIdstringID of the account created when lead was converted
hits[].data.ConvertedContactIdstringID of the contact created when lead was converted
hits[].data.ConvertedDatestringDate when the lead was converted
hits[].data.ConvertedOpportunityIdstringID of the opportunity created when lead was converted
hits[].data.CountrystringCountry portion of the address
hits[].data.CreatedByIdstringID of the user who created this lead
hits[].data.CreatedDatestringDate and time when the lead was created
hits[].data.EmailstringEmail address of the lead
hits[].data.FirstNamestringFirst name of the lead
hits[].data.IndustrystringIndustry the lead's company operates in
hits[].data.IsConvertedbooleanWhether the lead has been converted to an account, contact, and opportunity
hits[].data.IsDeletedbooleanWhether the lead has been moved to the Recycle Bin
hits[].data.LastActivityDatestringDate of the last activity associated with this lead
hits[].data.LastModifiedByIdstringID of the user who last modified this lead
hits[].data.LastModifiedDatestringDate and time when the lead was last modified
hits[].data.LastNamestringLast name of the lead
hits[].data.LeadSourcestringSource from which this lead originated
hits[].data.MobilePhonestringMobile phone number of the lead
hits[].data.NamestringFull name of the lead (read-only, concatenation of first and last name)
hits[].data.NumberOfEmployeesintegerNumber of employees at the lead's company
hits[].data.OwnerIdstringID of the user who owns this lead
hits[].data.PhonestringPhone number of the lead
hits[].data.PostalCodestringPostal code portion of the address
hits[].data.RatingstringRating of the lead (e.g., Hot, Warm, Cold)
hits[].data.StatestringState or province portion of the address
hits[].data.StatusstringCurrent status of the lead in the sales process
hits[].data.StreetstringStreet address portion of the address
hits[].data.TitlestringJob title of the lead
hits[].data.WebsitestringWebsite URL for the lead's company
hits[].data.SystemModstampstringSystem timestamp when the record was last modified
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

Opportunities

Opportunities List

Returns a list of opportunities via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.opportunities.list(
q="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "opportunities",
"action": "list",
"params": {
"q": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for opportunities. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Opportunity WHERE StageName = 'Closed Won' LIMIT 50"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Namestring
records[].attributesobject

Opportunities Get

Get a single opportunity by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

await salesforce.opportunities.get(
id="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Opportunity ID (18-character ID starting with '006')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,Name,Amount,StageName,CloseDate,AccountId"
Response Schema

Records

Field NameTypeDescription
Idstring
Namestring
attributesobject

Search for opportunities using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields.

Python SDK

await salesforce.opportunities.api_search(
q="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "opportunities",
"action": "api_search",
"params": {
"q": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} RETURNING Opportunity(fields) [LIMIT n]
Examples:
  • "FIND {Enterprise} IN NAME FIELDS RETURNING Opportunity(Id,Name,Amount,StageName)"
  • "FIND {renewal} IN ALL FIELDS RETURNING Opportunity(Id,Name,CloseDate) LIMIT 25" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

Search and filter opportunities 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.

Python SDK

await salesforce.opportunities.search(
query={"filter": {"eq": {"Id": "<str>"}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "opportunities",
"action": "search",
"params": {
"query": {"filter": {"eq": {"Id": "<str>"}}}
}
}'

Parameters

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

Searchable Fields

Field NameTypeDescription
IdstringUnique identifier for the opportunity record
AccountIdstringID of the account associated with this opportunity
AmountnumberEstimated total sale amount
CampaignIdstringID of the campaign that generated this opportunity
CloseDatestringExpected close date for the opportunity
ContactIdstringID of the primary contact for this opportunity
CreatedByIdstringID of the user who created this opportunity
CreatedDatestringDate and time when the opportunity was created
DescriptionstringText description of the opportunity
ExpectedRevenuenumberExpected revenue based on amount and probability
ForecastCategorystringForecast category for this opportunity
ForecastCategoryNamestringName of the forecast category
IsClosedbooleanWhether the opportunity is closed
IsDeletedbooleanWhether the opportunity has been moved to the Recycle Bin
IsWonbooleanWhether the opportunity was won
LastActivityDatestringDate of the last activity associated with this opportunity
LastModifiedByIdstringID of the user who last modified this opportunity
LastModifiedDatestringDate and time when the opportunity was last modified
LeadSourcestringSource from which this opportunity originated
NamestringName of the opportunity
NextStepstringDescription of the next step in closing the opportunity
OwnerIdstringID of the user who owns this opportunity
ProbabilitynumberLikelihood of closing the opportunity (percentage)
StageNamestringCurrent stage of the opportunity in the sales process
TypestringType of opportunity (e.g., New Business, Existing Business)
SystemModstampstringSystem timestamp when the record was last modified
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.IdstringUnique identifier for the opportunity record
hits[].data.AccountIdstringID of the account associated with this opportunity
hits[].data.AmountnumberEstimated total sale amount
hits[].data.CampaignIdstringID of the campaign that generated this opportunity
hits[].data.CloseDatestringExpected close date for the opportunity
hits[].data.ContactIdstringID of the primary contact for this opportunity
hits[].data.CreatedByIdstringID of the user who created this opportunity
hits[].data.CreatedDatestringDate and time when the opportunity was created
hits[].data.DescriptionstringText description of the opportunity
hits[].data.ExpectedRevenuenumberExpected revenue based on amount and probability
hits[].data.ForecastCategorystringForecast category for this opportunity
hits[].data.ForecastCategoryNamestringName of the forecast category
hits[].data.IsClosedbooleanWhether the opportunity is closed
hits[].data.IsDeletedbooleanWhether the opportunity has been moved to the Recycle Bin
hits[].data.IsWonbooleanWhether the opportunity was won
hits[].data.LastActivityDatestringDate of the last activity associated with this opportunity
hits[].data.LastModifiedByIdstringID of the user who last modified this opportunity
hits[].data.LastModifiedDatestringDate and time when the opportunity was last modified
hits[].data.LeadSourcestringSource from which this opportunity originated
hits[].data.NamestringName of the opportunity
hits[].data.NextStepstringDescription of the next step in closing the opportunity
hits[].data.OwnerIdstringID of the user who owns this opportunity
hits[].data.ProbabilitynumberLikelihood of closing the opportunity (percentage)
hits[].data.StageNamestringCurrent stage of the opportunity in the sales process
hits[].data.TypestringType of opportunity (e.g., New Business, Existing Business)
hits[].data.SystemModstampstringSystem timestamp when the record was last modified
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

Tasks

Tasks List

Returns a list of tasks via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.tasks.list(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for tasks. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Task WHERE Status = 'Not Started' LIMIT 100"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Subjectstring
records[].attributesobject

Tasks Get

Get a single task by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

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

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Task ID (18-character ID starting with '00T')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,Subject,Status,Priority,ActivityDate,WhoId,WhatId"
Response Schema

Records

Field NameTypeDescription
Idstring
Subjectstring
attributesobject

Search for tasks using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields.

Python SDK

await salesforce.tasks.api_search(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} RETURNING Task(fields) [LIMIT n]
Examples:
  • "FIND {follow up} IN ALL FIELDS RETURNING Task(Id,Subject,Status,Priority)"
  • "FIND {call} IN NAME FIELDS RETURNING Task(Id,Subject,ActivityDate) LIMIT 50" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

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.

Python SDK

await salesforce.tasks.search(
query={"filter": {"eq": {"Id": "<str>"}}}
)

API

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

Parameters

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

Searchable Fields

Field NameTypeDescription
IdstringUnique identifier for the task record
AccountIdstringID of the account associated with this task
ActivityDatestringDue date for the task
CallDispositionstringResult of the call, if this task represents a call
CallDurationInSecondsintegerDuration of the call in seconds
CallTypestringType of call (Inbound, Outbound, Internal)
CompletedDateTimestringDate and time when the task was completed
CreatedByIdstringID of the user who created this task
CreatedDatestringDate and time when the task was created
DescriptionstringText description or notes about the task
IsClosedbooleanWhether the task has been completed
IsDeletedbooleanWhether the task has been moved to the Recycle Bin
IsHighPrioritybooleanWhether the task is marked as high priority
LastModifiedByIdstringID of the user who last modified this task
LastModifiedDatestringDate and time when the task was last modified
OwnerIdstringID of the user who owns this task
PrioritystringPriority level of the task (High, Normal, Low)
StatusstringCurrent status of the task
SubjectstringSubject or title of the task
TaskSubtypestringSubtype of the task (e.g., Call, Email, Task)
TypestringType of task
WhatIdstringID of the related object (Account, Opportunity, etc.)
WhoIdstringID of the related person (Contact or Lead)
SystemModstampstringSystem timestamp when the record was last modified
Response Schema
Field NameTypeDescription
hitsarrayList of matching records
hits[].idstringRecord identifier
hits[].scorenumberRelevance score
hits[].dataobjectRecord data containing the searchable fields listed above
hits[].data.IdstringUnique identifier for the task record
hits[].data.AccountIdstringID of the account associated with this task
hits[].data.ActivityDatestringDue date for the task
hits[].data.CallDispositionstringResult of the call, if this task represents a call
hits[].data.CallDurationInSecondsintegerDuration of the call in seconds
hits[].data.CallTypestringType of call (Inbound, Outbound, Internal)
hits[].data.CompletedDateTimestringDate and time when the task was completed
hits[].data.CreatedByIdstringID of the user who created this task
hits[].data.CreatedDatestringDate and time when the task was created
hits[].data.DescriptionstringText description or notes about the task
hits[].data.IsClosedbooleanWhether the task has been completed
hits[].data.IsDeletedbooleanWhether the task has been moved to the Recycle Bin
hits[].data.IsHighPrioritybooleanWhether the task is marked as high priority
hits[].data.LastModifiedByIdstringID of the user who last modified this task
hits[].data.LastModifiedDatestringDate and time when the task was last modified
hits[].data.OwnerIdstringID of the user who owns this task
hits[].data.PrioritystringPriority level of the task (High, Normal, Low)
hits[].data.StatusstringCurrent status of the task
hits[].data.SubjectstringSubject or title of the task
hits[].data.TaskSubtypestringSubtype of the task (e.g., Call, Email, Task)
hits[].data.TypestringType of task
hits[].data.WhatIdstringID of the related object (Account, Opportunity, etc.)
hits[].data.WhoIdstringID of the related person (Contact or Lead)
hits[].data.SystemModstampstringSystem timestamp when the record was last modified
next_cursorstring | nullCursor for next page of results
took_msnumberQuery execution time in milliseconds

Events

Events List

Returns a list of events via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.events.list(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for events. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Event WHERE StartDateTime > TODAY LIMIT 50"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Subjectstring
records[].attributesobject

Events Get

Get a single event by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

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

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Event ID (18-character ID starting with '00U')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,Subject,StartDateTime,EndDateTime,Location,WhoId,WhatId"
Response Schema

Records

Field NameTypeDescription
Idstring
Subjectstring
attributesobject

Search for events using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields.

Python SDK

await salesforce.events.api_search(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} RETURNING Event(fields) [LIMIT n]
Examples:
  • "FIND {meeting} IN ALL FIELDS RETURNING Event(Id,Subject,StartDateTime,Location)"
  • "FIND {demo} IN NAME FIELDS RETURNING Event(Id,Subject,EndDateTime) LIMIT 25" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

Campaigns

Campaigns List

Returns a list of campaigns via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.campaigns.list(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for campaigns. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Campaign WHERE IsActive = true LIMIT 50"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Namestring
records[].attributesobject

Campaigns Get

Get a single campaign by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

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

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Campaign ID (18-character ID starting with '701')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,Name,Type,Status,StartDate,EndDate,IsActive"
Response Schema

Records

Field NameTypeDescription
Idstring
Namestring
attributesobject

Search for campaigns using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields.

Python SDK

await salesforce.campaigns.api_search(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} RETURNING Campaign(fields) [LIMIT n]
Examples:
  • "FIND {webinar} IN ALL FIELDS RETURNING Campaign(Id,Name,Type,Status)"
  • "FIND {2024} IN NAME FIELDS RETURNING Campaign(Id,Name,StartDate,IsActive) LIMIT 50" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

Cases

Cases List

Returns a list of cases via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.cases.list(
q="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "cases",
"action": "list",
"params": {
"q": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for cases. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Case WHERE Status = 'New' LIMIT 100"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].CaseNumberstring
records[].Subjectstring
records[].attributesobject

Cases Get

Get a single case by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

await salesforce.cases.get(
id="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Case ID (18-character ID starting with '500')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,CaseNumber,Subject,Status,Priority,ContactId,AccountId"
Response Schema

Records

Field NameTypeDescription
Idstring
CaseNumberstring
Subjectstring
attributesobject

Search for cases using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields.

Python SDK

await salesforce.cases.api_search(
q="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "cases",
"action": "api_search",
"params": {
"q": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} RETURNING Case(fields) [LIMIT n]
Examples:
  • "FIND {login issue} IN ALL FIELDS RETURNING Case(Id,CaseNumber,Subject,Status)"
  • "FIND {urgent} IN NAME FIELDS RETURNING Case(Id,Subject,Priority) LIMIT 25" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

Notes

Notes List

Returns a list of notes via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.notes.list(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for notes. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT FIELDS(STANDARD) FROM Note WHERE ParentId = '001xx...' LIMIT 50"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Titlestring
records[].attributesobject

Notes Get

Get a single note by ID. Returns all accessible fields by default. Use the fields parameter to retrieve only specific fields for better performance.

Python SDK

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

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Note ID (18-character ID starting with '002')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,Title,Body,ParentId,OwnerId"
Response Schema

Records

Field NameTypeDescription
Idstring
Titlestring
attributesobject

Search for notes using SOSL (Salesforce Object Search Language). SOSL is optimized for text-based searches across multiple fields.

Python SDK

await salesforce.notes.api_search(
q="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOSL search query. Format: FIND {searchTerm} RETURNING Note(fields) [LIMIT n]
Examples:
  • "FIND {important} IN ALL FIELDS RETURNING Note(Id,Title,ParentId)"
  • "FIND {action items} IN NAME FIELDS RETURNING Note(Id,Title,Body) LIMIT 50" |
Response Schema

Records

Field NameTypeDescription
searchRecordsarray<object>

Content Versions

Content Versions List

Returns a list of content versions (file metadata) via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page. Note: ContentVersion does not support FIELDS(STANDARD), so specific fields must be listed.

Python SDK

await salesforce.content_versions.list(
q="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "content_versions",
"action": "list",
"params": {
"q": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for content versions. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT Id, Title, FileExtension, ContentSize FROM ContentVersion WHERE IsLatest = true LIMIT 50"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Titlestring
records[].FileExtensionstring
records[].ContentSizeinteger
records[].ContentDocumentIdstring
records[].VersionNumberstring
records[].IsLatestboolean
records[].attributesobject

Content Versions Get

Get a single content version's metadata by ID. Returns file metadata, not the file content. Use the download action to retrieve the actual file binary.

Python SDK

await salesforce.content_versions.get(
id="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce ContentVersion ID (18-character ID starting with '068')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,Title,FileExtension,ContentSize,ContentDocumentId,IsLatest"
Response Schema

Records

Field NameTypeDescription
Idstring
Titlestring
FileExtensionstring
ContentSizeinteger
ContentDocumentIdstring
VersionNumberstring
IsLatestboolean
attributesobject

Content Versions Download

Downloads the binary file content of a content version. First use the list or get action to retrieve the ContentVersion ID and file metadata (size, type, etc.), then use this action to download the actual file content. The response is the raw binary file data.

Python SDK

async for chunk in salesforce.content_versions.download(    id="<str>"):# Process each chunk (e.g., write to file)
file.write(chunk)

Note: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use async for to process chunks as they arrive.

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce ContentVersion ID (18-character ID starting with '068').
Obtain this ID from the list or get action.
range_headerstringNoOptional Range header for partial downloads (e.g., 'bytes=0-99')

Attachments

Attachments List

Returns a list of attachments (legacy) via SOQL query. Default returns up to 200 records. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page. Note: Attachments are a legacy feature; consider using ContentVersion (Salesforce Files) for new implementations.

Python SDK

await salesforce.attachments.list(
q="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "attachments",
"action": "list",
"params": {
"q": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query for attachments. Default returns up to 200 records.
To change the limit, provide your own query with a LIMIT clause.
Example: "SELECT Id, Name, ContentType, BodyLength, ParentId FROM Attachment WHERE ParentId = '001xx...' LIMIT 50"
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>
records[].Idstring
records[].Namestring
records[].ContentTypestring
records[].BodyLengthinteger
records[].ParentIdstring
records[].attributesobject

Attachments Get

Get a single attachment's metadata by ID. Returns file metadata, not the file content. Use the download action to retrieve the actual file binary. Note: Attachments are a legacy feature; consider using ContentVersion for new implementations.

Python SDK

await salesforce.attachments.get(
id="<str>"
)

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Attachment ID (18-character ID starting with '00P')
fieldsstringNoComma-separated list of fields to retrieve. If omitted, returns all accessible fields.
Example: "Id,Name,ContentType,BodyLength,ParentId"
Response Schema

Records

Field NameTypeDescription
Idstring
Namestring
ContentTypestring
BodyLengthinteger
ParentIdstring
attributesobject

Attachments Download

Downloads the binary file content of an attachment (legacy). First use the list or get action to retrieve the Attachment ID and file metadata, then use this action to download the actual file content. Note: Attachments are a legacy feature; consider using ContentVersion for new implementations.

Python SDK

async for chunk in salesforce.attachments.download(    id="<str>"):# Process each chunk (e.g., write to file)
file.write(chunk)

Note: Download operations return an async iterator of bytes chunks for memory-efficient streaming. Use async for to process chunks as they arrive.

API

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

Parameters

Parameter NameTypeRequiredDescription
idstringYesSalesforce Attachment ID (18-character ID starting with '00P').
Obtain this ID from the list or get action.
range_headerstringNoOptional Range header for partial downloads (e.g., 'bytes=0-99')

Query

Query List

Execute a custom SOQL query and return results. Use this for querying any Salesforce object. For pagination, check the response: if done is false, use nextRecordsUrl to fetch the next page.

Python SDK

await salesforce.query.list(
q="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/sources/{your_source_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "query",
"action": "list",
"params": {
"q": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
qstringYesSOQL query string. Include LIMIT clause to control the number of records returned.
Examples:
  • "SELECT Id, Name FROM Account LIMIT 100"
  • "SELECT FIELDS(STANDARD) FROM Contact WHERE AccountId = '001xx...' LIMIT 50"
  • "SELECT Id, Subject, Status FROM Case WHERE CreatedDate = TODAY" |
Response Schema

Records

Field NameTypeDescription
totalSizeinteger
doneboolean
nextRecordsUrlstring
recordsarray<object>