Skip to content

Commit df47987

Browse files
authored
📕 source salesforce: fix broken page anchor in spec.json & add guide for adding read only user (#10751)
1 parent a4e8417 commit df47987

File tree

5 files changed

+48
-15
lines changed

5 files changed

+48
-15
lines changed

‎airbyte-config/init/src/main/resources/seed/source_definitions.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@
669669
- name: Salesforce
670670
sourceDefinitionId: b117307c-14b6-41aa-9422-947e34922962
671671
dockerRepository: airbyte/source-salesforce
672-
dockerImageTag: 1.0.1
672+
dockerImageTag: 1.0.2
673673
documentationUrl: https://docs.airbyte.io/integrations/sources/salesforce
674674
icon: salesforce.svg
675675
sourceType: api

‎airbyte-config/init/src/main/resources/seed/source_specs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7064,7 +7064,7 @@
70647064
supportsNormalization: false
70657065
supportsDBT: false
70667066
supported_destination_sync_modes: []
7067-
- dockerImage: "airbyte/source-salesforce:1.0.1"
7067+
- dockerImage: "airbyte/source-salesforce:1.0.2"
70687068
spec:
70697069
documentationUrl: "https://docs.airbyte.com/integrations/sources/salesforce"
70707070
connectionSpecification:
@@ -7081,7 +7081,7 @@
70817081
title: "Sandbox"
70827082
description: "Whether the app is in a Salesforce sandbox or not. If you\
70837083
\ do not know what this is, assume it as false. We provide more info on\
7084-
\ this field in the <a href=\"https://docs.airbyte.com/integrations/sources/salesforce#is_sandbox\"\
7084+
\ this field in the <a href=\"https://docs.airbyte.com/integrations/sources/salesforce#sandbox-accounts\"\
70857085
>docs</a>."
70867086
type: "boolean"
70877087
default: false

‎airbyte-integrations/connectors/source-salesforce/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,5 @@ COPY source_salesforce ./source_salesforce
2525
ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
2626
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]
2727

28-
LABEL io.airbyte.version=1.0.1
28+
LABEL io.airbyte.version=1.0.2
2929
LABEL io.airbyte.name=airbyte/source-salesforce

‎airbyte-integrations/connectors/source-salesforce/source_salesforce/spec.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"properties": {
1010
"is_sandbox": {
1111
"title": "Sandbox",
12-
"description": "Whether the app is in a Salesforce sandbox or not. If you do not know what this is, assume it as false. We provide more info on this field in the <a href=\"https://docs.airbyte.com/integrations/sources/salesforce#is_sandbox\">docs</a>.",
12+
"description": "Whether the app is in a Salesforce sandbox or not. If you do not know what this is, assume it as false. We provide more info on this field in the <a href=\"https://docs.airbyte.com/integrations/sources/salesforce#sandbox-accounts\">docs</a>.",
1313
"type": "boolean",
1414
"default": false,
1515
"order": 1

‎docs/integrations/sources/salesforce.md

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ The connector uses as much rate limit as it can every day, then ends the sync ea
2525
Note that, picking up from where it ends will work only for incremental sync.
2626

2727
## Getting Started (Airbyte Cloud)
28+
2829
#### Sandbox accounts
2930

3031
If you log in using at [https://login.salesforce.com](https://login.salesforce.com), then your account is not a sandbox. If you log in at [https://test.salesforce.com](https://test.salesforce.com) then it's a sandbox.
@@ -33,48 +34,79 @@ If this is Greek to you, then you are likely not using a sandbox account.
3334

3435
### Requirements
3536

36-
* Salesforce Account
37+
* Salesforce Account with Enterprise access or API quota purchased
3738
* Dedicated Salesforce user (optional)
3839

39-
**Note**: In order to tightly scope Airbyte's access to your data, we recommend creating a dedicated read-only Salesforce user that is used for Airbyte syncs. You can also further the user's (and therefore Airbyte's) access to only the data and streams you need Airbyte to replicate by creating a profile in Salesforce and assigning it to the user.
40-
4140
### Setup guide
4241

42+
#### Creating a dedicated read only Salesforce user
43+
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.
44+
45+
To create a dedicated read only Salesforce user:
46+
1. Login to Salesforce with an admin account
47+
2. On the top right side of the screen, click the "setup" gear icon then click "Setup"
48+
3. Under the "Administration" section on the left side of the screen, click "Users" > "Profiles"
49+
4. Click the "new profile" button
50+
5. 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
51+
6. click "Save". This should take you to the profiles page.
52+
7. Click "edit"
53+
8. 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
54+
9. Scroll to the top and click "Save"
55+
10. Under the "Administration" section on the left side of the screen, click "Users" > "Users".
56+
11. Click "New User"
57+
12. Fill out the required fields
58+
a. In the "License" field, select `Salesforce`
59+
b. In the "Profile" field, select `Airbyte Read Only User`
60+
c. In the "Email" field, make sure to use an email address which you can access (this will be required later to verify the account)
61+
13. Click "save"
62+
14. Copy the "Username" field and keep it handy -- you will use it when setting up Airbyte later
63+
15. 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.
64+
16. With the username and password, you should be ready to setup the Salesforce connector.
65+
66+
#### Configuring the connector in the Airbyte UI
4367
1. Toggle whether your Salesforce account is a Sandbox account or a live account.
4468
2. Click `Authenticate your Salesforce account` to sign in with Salesforce and authorize your account.
4569
3. Fill in the rest of the details.
4670
4. You should be ready to sync data.
4771

4872
## Getting started (Airbyte OSS)
4973
### Requirements
50-
* Salesforce Account
51-
* Salesforce OAuth credentials
52-
* Dedicated Salesforce user (optional)
53-
54-
**Note**: In order to tightly scope Airbyte's access to your data, we recommend creating a dedicated read-only Salesforce user that is used for Airbyte syncs. You can also further the user's (and therefore Airbyte's) access to only the data and streams you need Airbyte to replicate by creating a profile in Salesforce and assigning it to the user.
74+
* Salesforce Account with Enterprise access or API quota purchased
75+
* Dedicated read only Salesforce user (optional)
76+
* Salesforce OAuth credentials
5577

5678
### Setup guide
5779

5880
#### Sandbox accounts
5981
If you log in using at [https://login.salesforce.com](https://login.salesforce.com), then your account is not a sandbox. If you log in at [https://test.salesforce.com](https://test.salesforce.com) then it's a sandbox.
6082

6183
If this is Greek to you, then you are likely not using a sandbox account.
84+
85+
### Setup guide
86+
87+
#### Read only user
88+
See the [section above](#creating-a-dedicated-read-only-salesforce-user) for creating a read only user. This step is optional.
89+
90+
#### Salesforce Oauth Credentials
6291
We recommend the following [walkthrough](https://medium.com/@bpmmendis94/obtain-access-refresh-tokens-from-salesforce-rest-api-a324fe4ccd9b) **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.
6392

6493
Suggested edits:
6594

6695
1. If your salesforce URL does not take the form `X.salesforce.com`, use your actual Salesforce domain name. For example, if your Salesforce URL is `awesomecompany.force.com` then use that instead of `awesomecompany.salesforce.com`.
6796
2. When running a `curl` command, always run it with the `-L` option to follow any redirects.
97+
3. If you created a read only user, use those credentials when logging in to generate oauth tokens
6898

6999
## Streams
70100

71-
**Note**: The connector supports reading both standard streams and Custom Objects from Salesforce.
101+
**Note**: The connector supports reading both Standard Objects and Custom Objects from Salesforce. Each object is read as a separate stream.
102+
103+
See a list of all Salesforce Standard Objects [here](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_list.htm).
72104

73105
We fetch and handle all the possible & available streams dynamically based on:
74106
- User Role & Permissions to read & fetch objects and their data
75107
- 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
76108

77-
**Note**: Using the BULK API is not possible to receive data from the following streams:
109+
**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 whcih will occasionally cost more of your API quota:
78110

79111
* AcceptedEventRelation
80112
* AssetTokenEvent
@@ -100,6 +132,7 @@ We fetch and handle all the possible & available streams dynamically based on:
100132

101133
| Version | Date | Pull Request | Subject |
102134
|:--------|:-----------| :--- |:---------------------------------------------------------------------------------------------------------------------------------|
135+
| 1.0.2 | 2022-03-01 | [10751](https://github.com/airbytehq/airbyte/pull/10751) | Fix broken link anchor in connector configuration |
103136
| 1.0.1 | 2022-02-27 | [10679](https://github.com/airbytehq/airbyte/pull/10679) | Reorganize input parameter order on the UI |
104137
| 1.0.0 | 2022-02-27 | [10516](https://github.com/airbytehq/airbyte/pull/10516) | Speed up schema discovery by using parallelism |
105138
| 0.1.23 | 2022-02-10 | [10141](https://github.com/airbytehq/airbyte/pull/10141) | Processing of failed jobs |

0 commit comments

Comments
 (0)