Skip to main content

Salesforce

Supported Entities and Actions

EntityActions
AccountsList, Get, Search
ContactsList, Get, Search
LeadsList, Get, Search
OpportunitiesList, Get, Search
TasksList, Get, Search
EventsList, Get, Search
CampaignsList, Get, Search
CasesList, Get, Search
NotesList, Get, 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

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

API

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

Params

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

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

API

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

Params

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

salesforce.accounts.search(
q="<str>"
)

API

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

Params

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>

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

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

API

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

Params

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

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

API

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

Params

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

salesforce.contacts.search(
q="<str>"
)

API

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

Params

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>

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

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

API

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

Params

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

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

API

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

Params

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

salesforce.leads.search(
q="<str>"
)

API

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

Params

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>

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

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

API

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

Params

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

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

API

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

Params

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

salesforce.opportunities.search(
q="<str>"
)

API

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

Params

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>

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

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

API

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

Params

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

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

API

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

Params

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

salesforce.tasks.search(
q="<str>"
)

API

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

Params

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>

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

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

API

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

Params

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

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

API

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

Params

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

salesforce.events.search(
q="<str>"
)

API

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

Params

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

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

API

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

Params

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

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

API

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

Params

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

salesforce.campaigns.search(
q="<str>"
)

API

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

Params

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

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

API

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

Params

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

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

API

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

Params

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

salesforce.cases.search(
q="<str>"
)

API

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

Params

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

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

API

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

Params

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

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

API

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

Params

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

salesforce.notes.search(
q="<str>"
)

API

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

Params

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

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

API

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

Params

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

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

API

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

Params

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/instances/{your_connector_instance_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "content_versions",
"action": "download",
"params": {
"id": "<str>"
}
}'

Params

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

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

API

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

Params

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

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

API

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

Params

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/instances/{your_connector_instance_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "attachments",
"action": "download",
"params": {
"id": "<str>"
}
}'

Params

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

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

API

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

Params

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>

Configuration

The connector requires the following configuration variables:

VariableTypeRequiredDefaultDescription
instance_urlstringYeshttps://login.salesforce.comYour Salesforce instance URL (e.g., https://na1.salesforce.com)

These variables are used to construct the base API URL. Pass them via the config parameter when initializing the connector.

Authentication

The Salesforce connector supports the following authentication methods:

Salesforce OAuth 2.0

Field NameTypeRequiredDescription
refresh_tokenstrYesOAuth refresh token for automatic token renewal
client_idstrYesConnected App Consumer Key
client_secretstrYesConnected App Consumer Secret

Example

Python SDK

SalesforceConnector(
auth_config=SalesforceAuthConfig(
refresh_token="<OAuth refresh token for automatic token renewal>",
client_id="<Connected App Consumer Key>",
client_secret="<Connected App Consumer Secret>"
)
)

API

curl --location 'https://api.airbyte.ai/api/v1/connectors/instances' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"connector_definition_id": "b117307c-14b6-41aa-9422-947e34922962",
"auth_config": {
"refresh_token": "<OAuth refresh token for automatic token renewal>",
"client_id": "<Connected App Consumer Key>",
"client_secret": "<Connected App Consumer Secret>"
},
"name": "My Salesforce Connector"
}'