{"sourceDefinitionId": "b117307c-14b6-41aa-9422-947e34922962", "name": "Salesforce", "dockerRepository": "airbyte/source-salesforce", "dockerImageTag": "2.7.19-preview.20cc051", "documentationUrl": "https://docs.airbyte.com/integrations/sources/salesforce", "icon": "salesforce.svg", "iconUrl": "https://connectors.airbyte.com/files/metadata/airbyte/source-salesforce/latest/icon.svg", "sourceType": "api", "spec": {"connectionSpecification": {"$schema": "http://json-schema.org/draft-07/schema#", "title": "Salesforce Source Spec", "type": "object", "required": ["client_id", "client_secret", "refresh_token"], "additionalProperties": true, "properties": {"is_sandbox": {"title": "Sandbox", "description": "Toggle if you're using a Salesforce Sandbox", "type": "boolean", "default": false, "order": 1}, "auth_type": {"type": "string", "const": "Client"}, "client_id": {"title": "Client ID", "description": "Enter your Salesforce developer application's Client ID", "type": "string", "order": 2}, "client_secret": {"title": "Client Secret", "description": "Enter your Salesforce developer application's Client secret", "type": "string", "airbyte_secret": true, "order": 3}, "refresh_token": {"title": "Refresh Token", "description": "Enter your application's Salesforce Refresh Token used for Airbyte to access your Salesforce account.", "type": "string", "airbyte_secret": true, "order": 4}, "start_date": {"title": "Start Date", "description": "Enter the date (or date-time) in the YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ format. Airbyte will replicate the data updated on and after this date. If this field is blank, Airbyte will replicate the data for last two years.", "type": "string", "pattern": "^([0-9]{4}-[0-9]{2}-[0-9]{2}(T[0-9]{2}:[0-9]{2}:[0-9]{2}Z)?)$", "pattern_descriptor": "YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ", "examples": ["2021-07-25", "2021-07-25T00:00:00Z"], "format": "date-time", "order": 5}, "force_use_bulk_api": {"title": "Force to use BULK API", "type": "boolean", "description": "Toggle to use Bulk API (this might cause empty fields for some streams)", "default": false, "order": 6}, "stream_slice_step": {"title": "Stream Slice Step for Incremental sync", "type": "string", "description": "The size of the time window (ISO8601 duration) to slice requests.", "default": "P30D", "order": 7, "examples": ["PT12H", "P7D", "P30D", "P1M", "P1Y"]}, "lookback_window": {"title": "Lookback Window for Incremental sync", "type": "string", "description": "The duration (ISO8601 duration) to re-read data from the source when running incremental syncs. This compensates for records that may not be immediately available when querying the Salesforce API due to eventual consistency delays. The connector will re-query this amount of time before the last cursor position on each sync. Increase this value if you observe missing records in your destination. See Limitations & Troubleshooting for details.", "default": "PT10M", "order": 8, "examples": ["PT10M", "PT30M", "PT1H"]}, "streams_criteria": {"type": "array", "order": 9, "items": {"type": "object", "required": ["criteria", "value"], "properties": {"criteria": {"type": "string", "title": "Search criteria", "enum": ["starts with", "ends with", "contains", "exacts", "starts not with", "ends not with", "not contains", "not exacts"], "order": 1, "default": "contains"}, "value": {"type": "string", "title": "Search value", "order": 2}}}, "title": "Filter Salesforce Objects", "description": "Add filters to select only required stream based on `SObject` name. Use this field to filter which tables are displayed by this connector. This is useful if your Salesforce account has a large number of tables (>1000), in which case you may find it easier to navigate the UI and speed up the connector's performance if you restrict the tables displayed by this connector."}}}, "documentationUrl": "https://docs.airbyte.com/integrations/sources/salesforce", "supportsNormalization": false, "supportsDBT": false, "advanced_auth": {"auth_flow_type": "oauth2.0", "predicate_key": ["auth_type"], "predicate_value": "Client", "oauth_config_specification": {"oauth_user_input_from_connector_config_specification": {"type": "object", "additionalProperties": false, "properties": {"is_sandbox": {"type": "boolean", "path_in_connector_config": ["is_sandbox"]}}}, "complete_oauth_output_specification": {"type": "object", "additionalProperties": false, "properties": {"refresh_token": {"type": "string", "path_in_connector_config": ["refresh_token"]}}}, "complete_oauth_server_input_specification": {"type": "object", "additionalProperties": false, "properties": {"client_id": {"type": "string"}, "client_secret": {"type": "string"}}}, "complete_oauth_server_output_specification": {"type": "object", "additionalProperties": false, "properties": {"client_id": {"type": "string", "path_in_connector_config": ["client_id"]}, "client_secret": {"type": "string", "path_in_connector_config": ["client_secret"]}}}}}}, "tombstone": false, "public": true, "custom": false, "releaseStage": "generally_available", "supportLevel": "certified", "allowedHosts": {"hosts": ["*.salesforce.com"]}, "suggestedStreams": {"streams": ["Account", "Contact", "Lead", "Opportunity", "OpportunityStage", "Stage", "Task", "User"]}, "maxSecondsBetweenMessages": 86400, "releases": {"rolloutConfiguration": {"enableProgressiveRollout": false, "initialPercentage": 0, "maxPercentage": 50, "advanceDelayMinutes": 10}}, "ab_internal": {"sl": 300, "ql": 400, "isEnterprise": false, "requireVersionIncrementsInPullRequests": true}, "generated": {"git": {"commit_sha": "21de1da5c70b273cc4ea08daacb8bdaebd640a18", "commit_timestamp": "2026-03-18T22:52:54+00:00", "commit_author": "Devin AI", "commit_author_email": "158243242+devin-ai-integration[bot]@users.noreply.github.com"}, "source_file_info": {"metadata_file_path": "metadata/airbyte/source-salesforce/2.7.19-preview.20cc051/metadata.yaml", "metadata_bucket_name": "prod-airbyte-cloud-connector-metadata-service", "metadata_last_modified": "2026-03-19T11:56:51.684000+00:00", "registry_entry_generated_at": "2026-03-19T11:58:10.756810"}, "sbomUrl": "https://connectors.airbyte.com/files/sbom/airbyte/source-salesforce/2.7.19-preview.20cc051.spdx.json"}, "packageInfo": {"cdk_version": "python:7.4.1"}, "language": "python", "supportsFileTransfer": false, "supportsDataActivation": false, "connectorTestSuitesOptions": [{"suite": "liveTests", "testConnections": [{"id": "114d8a58-804d-49cd-be0f-14d8f20012b6", "name": "salesforce_config_bulk_dev_null"}, {"id": "36b229e8-cea8-4d92-8b3d-cdfe488b00a5", "name": "salesforce_config_dev_null"}, {"id": "4cfaad00-8911-450e-a8f0-d31c6acd2fe2", "name": "salesforce_config_sandbox_dev_null"}]}, {"suite": "unitTests"}, {"suite": "integrationTests", "testSecrets": [{"fileName": "config_bulk.json", "name": "SECRET_SOURCE-SALESFORCE_BULK_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}, {"fileName": "config.json", "name": "SECRET_SOURCE-SALESFORCE_REST_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}, {"fileName": "config_sandbox.json", "name": "SECRET_SOURCE-SALESFORCE_SANDBOX_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}]}, {"suite": "acceptanceTests", "testSecrets": [{"fileName": "config_bulk.json", "name": "SECRET_SOURCE-SALESFORCE_BULK_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}, {"fileName": "config.json", "name": "SECRET_SOURCE-SALESFORCE_REST_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}, {"fileName": "config_sandbox.json", "name": "SECRET_SOURCE-SALESFORCE_SANDBOX_CREDS", "secretStore": {"alias": "airbyte-connector-testing-secret-store", "type": "GSM"}}]}], "tags": ["language:python", "cdk:python"], "externalDocumentationUrls": [{"title": "REST API Release Notes", "type": "api_release_history", "url": "https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/rest_rns.htm"}, {"title": "Winter 2026 release notes - API", "type": "api_release_history", "url": "https://help.salesforce.com/s/articleView?id=release-notes.salesforce_release_notes.htm&release=258&type=5"}], "license": "ELv2", "remoteRegistries": {"pypi": {"enabled": true, "packageName": "airbyte-source-salesforce"}}, "githubIssueLabel": "source-salesforce", "connectorBuildOptions": {"baseImage": "docker.io/airbyte/python-connector-base:4.0.2@sha256:9fdb1888c4264cf6fee473649ecb593f56f58e5d0096a87ee0b231777e2e3e73"}}