Skip to main content
GuideServerConfigure and deploy Tabsdata servers on your machine.TutorialsConfigure data integration workflows within a running Tabsdata server.Advanced TutorialsBuild end-to-end workflows between two specific systems.API ReferenceCLI ReferenceRelease Notes
Version: 2.0.0

SalesforceSrc

class
class SalesforceSrc(
queries: QueriesSpec,
include_deleted: bool = False,
initial_last_modified: datetime | None = None,
api_version: ApiVersionSpec | None = None,
src_cfg: SrcCfgSpec | None = None,
)

Bases: Src

Categories: source

Salesforce SOQL source for @publisher -- one query.

Every table this source publishes automatically carries two metadata columns: @td.salesforce.soql, the query that produced the row as it was sent to Salesforce (any $lastModified token already substituted), and @td.salesforce.last_modified, the initial_last_modified cutoff it ran with (empty when unset). Setting the src_cfg key tabsdata.src_metadata.drop to True leaves them off.

Examples

Publish an SObject query, including deleted rows (queryAll):

@publisher(
source=SalesforceSrc(
queries=["SELECT Id, Name FROM Account"],
include_deleted=True,
),
output_tables=["accounts"],
)
def ingest(accounts: TableFrameSpec) -> TableFrameSpec:
return accounts

Parameters

parameter
queriesQueriesSpec (list[str])

SOQL query list; today exactly one entry (one output slot). The list shape leaves room for future multi-query support.

parameter
include_deletedbool

When true, also scan deleted rows (queryAll).

parameter
initial_last_modifieddatetime | None

Optional cutoff substituted for any $lastModified token in the SOQL string.

parameter
api_versionApiVersionSpec | None (str | None)

Optional API-version override, e.g. "60.0" (<major>.<minor>, 1-3 digit major, 1-2 digit minor).

parameter
src_cfgSrcCfgSpec | None (Mapping[Literal['salesforce.logging_level', 'tabsdata.src_metadata.drop'], Any] | None)

Optional connector config over the keys salesforce.logging_level and tabsdata.src_metadata.drop.