12 KiB
Salesforce
Overview
The Salesforce source supports both Full Refresh and Incremental syncs. You can choose if this connector will copy only the new or updated data, or all rows in the tables and columns you set up for replication, every time a sync is run.
The Connector supports replicating both standard and custom Salesforce objects.
Features
| Feature | Supported? |
|---|---|
| Full Refresh Sync | Yes |
| Incremental Sync | Yes |
| SSL connection | Yes |
| Namespaces | No |
Incremental Deletes Sync
This connector retrieves deleted records from Salesforce. For the streams which support it, a deleted record will be marked with the field isDeleted=true value.
Performance considerations
The connector is restricted by daily Salesforce rate limiting. The connector uses as much rate limit as it can every day, then ends the sync early with success status and continues the sync from where it left the next time. Note that, picking up from where it ends will work only for incremental sync.
Getting Started (Airbyte Cloud)
Sandbox accounts
If you log in using at https://login.salesforce.com, then your account is not a sandbox. If you log in at https://test.salesforce.com then it's a sandbox.
If this is Greek to you, then you are likely not using a sandbox account.
Requirements
- Salesforce Account with Enterprise access or API quota purchased
- Dedicated Salesforce user (optional)
Setup guide
Creating a dedicated read only Salesforce user
While you can setup the Salesforce connector using any user which has read permissions to your account, we recommend creating a dedicated, read-only user for use with Airbyte. This allows you to granularly control the data Airbyte can read.
To create a dedicated read only Salesforce user:
-
Login to Salesforce with an admin account
-
On the top right side of the screen, click the "setup" gear icon then click "Setup"
-
Under the "Administration" section on the left side of the screen, click "Users" > "Profiles"
-
Click the "new profile" button
-
Select "Read only" as the value of the "Existing Profile" field, and
Airbyte Read Only User(or whatever name you prefer) as the profile name -
click "Save". This should take you to the profiles page.
-
Click "edit"
-
Scroll down to the "Standard Object Permissions" and "Custom Object Permissions" and enable the "read" checkbox for objects which you would to be able to replicate via Airbyte
-
Scroll to the top and click "Save"
-
Under the "Administration" section on the left side of the screen, click "Users" > "Users".
-
Click "New User"
-
Fill out the required fields
a. In the "License" field, select
Salesforceb. In the "Profile" field, select
Airbyte Read Only Userc. In the "Email" field, make sure to use an email address which you can access (this will be required later to verify the account)
-
Click "save"
-
Copy the "Username" field and keep it handy -- you will use it when setting up Airbyte later
-
Login to the email you set in step 12c above and verify your new Salesforce account user. You'll need to set a password as part of this process. Keep this password handy.
-
With the username and password, you should be ready to setup the Salesforce connector.
Configuring the connector in the Airbyte UI
- Toggle whether your Salesforce account is a Sandbox account or a live account.
- Click
Authenticate your Salesforce accountto sign in with Salesforce and authorize your account. - Fill in the rest of the details.
- You should be ready to sync data.
Getting started (Airbyte OSS)
Requirements
- Salesforce Account with Enterprise access or API quota purchased
- Dedicated read only Salesforce user (optional)
- Salesforce OAuth credentials
Setup guide
Sandbox accounts
If you log in using at https://login.salesforce.com, then your account is not a sandbox. If you log in at https://test.salesforce.com then it's a sandbox.
If this is Greek to you, then you are likely not using a sandbox account.
Setup guide
Read only user
See the section above for creating a read only user. This step is optional.
Salesforce Oauth Credentials
We recommend the following walkthrough while keeping in mind the edits we suggest below for setting up a Salesforce app that can pull data from Salesforce and locating the credentials you need to provide to Airbyte.
Suggested edits:
- If your salesforce URL does not take the form
X.salesforce.com, use your actual Salesforce domain name. For example, if your Salesforce URL isawesomecompany.force.comthen use that instead ofawesomecompany.salesforce.com. - When running a
curlcommand, always run it with the-Loption to follow any redirects. - If you created a read only user, use those credentials when logging in to generate oauth tokens
Streams
Note: The connector supports reading both Standard Objects and Custom Objects from Salesforce. Each object is read as a separate stream.
See a list of all Salesforce Standard Objects here.
We fetch and handle all the possible & available streams dynamically based on:
- User Role & Permissions to read & fetch objects and their data
- Whether or not the stream has the queryable property set to true. Queryable streams are available to be fetched via the API. If you cannot see your object available via Airbyte, please ensure it is API-accessible to the user you used for authenticating into Airbyte
Note: Using the BULK API is not possible to receive data from the following streams due to limitations from the Salesforce API. The connector will sync them via the REST API which will occasionally cost more of your API quota:
- AcceptedEventRelation
- AssetTokenEvent
- AttachedContentNote
- Attachment
- CaseStatus
- ContractStatus
- DeclinedEventRelation
- EventWhoRelation
- FieldSecurityClassification
- OrderStatus
- PartnerRole
- QuoteTemplateRichTextData
- RecentlyViewed
- ServiceAppointmentStatus
- SolutionStatus
- TaskPriority
- TaskStatus
- TaskWhoRelation
- UndecidedEventRelation
Changelog
| Version | Date | Pull Request | Subject |
|---|---|---|---|
| 1.0.2 | 2022-03-01 | 10751 | Fix broken link anchor in connector configuration |
| 1.0.1 | 2022-02-27 | 10679 | Reorganize input parameter order on the UI |
| 1.0.0 | 2022-02-27 | 10516 | Speed up schema discovery by using parallelism |
| 0.1.23 | 2022-02-10 | 10141 | Processing of failed jobs |
| 0.1.22 | 2022-02-02 | 10012 | Increase CSV field_size_limit |
| 0.1.21 | 2022-01-28 | 9499 | If a sync reaches daily rate limit it ends the sync early with success status. Read more in Performance considerations section |
| 0.1.20 | 2022-01-26 | 9757 | Parse CSV with "unix" dialect |
| 0.1.19 | 2022-01-25 | 8617 | Update connector fields title/description |
| 0.1.18 | 2022-01-20 | 9478 | Add available stream filtering by queryable flag |
| 0.1.17 | 2022-01-19 | 9302 | Deprecate API Type parameter |
| 0.1.16 | 2022-01-18 | 9151 | Fix pagination in REST API streams |
| 0.1.15 | 2022-01-11 | 9409 | Correcting the presence of an extra else handler in the error handling |
| 0.1.14 | 2022-01-11 | 9386 | Handling 400 error, while sobject doesn't support query or queryAll requests |
| 0.1.13 | 2022-01-11 | 8797 | Switched from authSpecification to advanced_auth in specefication |
| 0.1.12 | 2021-12-23 | 8871 | Fix examples for new field in specification |
| 0.1.11 | 2021-12-23 | 8871 | Add the ability to filter streams by user |
| 0.1.10 | 2021-12-23 | 9005 | Handling 400 error when a stream is not queryable |
| 0.1.9 | 2021-12-07 | 8405 | Filter 'null' byte(s) in HTTP responses |
| 0.1.8 | 2021-11-30 | 8191 | Make start_date optional and change its format to YYYY-MM-DD |
| 0.1.7 | 2021-11-24 | 8206 | Handling 400 error when trying to create a job for sync using Bulk API. |
| 0.1.6 | 2021-11-16 | 8009 | Fix retring of BULK jobs |
| 0.1.5 | 2021-11-15 | 7885 | Add Transform for output records |
| 0.1.4 | 2021-11-09 | 7778 | Fix types for anyType fields |
| 0.1.3 | 2021-11-06 | 7592 | Fix getting anyType fields using BULK API |
| 0.1.2 | 2021-09-30 | 6438 | Annotate Oauth2 flow initialization parameters in connector specification |
| 0.1.1 | 2021-09-21 | 6209 | Fix bug with pagination for BULK API |
| 0.1.0 | 2021-09-08 | 5619 | Salesforce Aitbyte-Native Connector |