Setting up Salesforce to enable data extraction using Azure Data Factory (ADF)
Note: All requested values can be shared using the spreadsheet included with your welcome email.
Instructions are included in the spreadsheet.
Salesforce must be configured to allow Azure Data Factory to connect and extract data. These steps will guide you through the process. This information is compiled from source documentation from Salesforce and Microsoft. We must create a Connected App, a Permission Set and a User within Salesforce.
Create a Connected App
- Navigate to Settings (icon) > Setup > Apps > App Manager and click New Connected App
- Enter these suggested values (these are suggestions, not requirements)
- Connected App Name: ZoneReporting
- API Name: ZoneReporting
- Contact Email: An email address where you can receive email.
- Select Enable OAuth Settings
- Callback URL: not needed, but required by SF. Enter https://login.salesforce.com/services/oauth2/callback
- Setup OAuth access token scope, Full access is suggested to avoid permission issues later. At least Manage user data via APIs (api) should be added
- Select Enable Client Credentials Flow
- Click Save and Continue
- Click Manage Consumer Details
- Save the Consumer Key and Consumer Secret. Please provide these to your ZoneReporting contact via a secure method. Do not email them.
Create a Permission Set
- Navigate to Settings (icon) > Setup > Users > Permission Sets and click the New button
- Configure these values:
- Label: ZoneReporting - API Only
- API Name: This should pre-fill based on the Label
- License: Salesforce API Integration
- Click Save
- Select Object Settings in the Apps section - This controls which objects are accessible through the API.
- For each object to extract
Note: Only objects and fields selected here will be available to extract via the API.
- Click the object name
- Click the Edit button (it changes to a Save button once clicked)
- Check Read under Object Permissions
- Check Read for each column under Field Permissions that are desired
- Click the Save button
- For each object to extract
Create an API Only User
- Navigate to Settings (icon) > Setup > Users > Users and click the New button
- Enter the required fields. An email address is required and should be accessible to validate.
- Select the Salesforce Integration user license
- Select the Minimum Access - API Only Integrations profile
- Click Save/Create user. Salesforce will send an email to the address on file to create a password.
Follow the link and create a password for the user and save it into your password management system. This does not need to be provided to Zone.
- Back in the User admin window, edit the Permission Set Assignments for the user
- Add the ZoneReporting permission set created earlier
Configure the Connected App To Run as the API Only User
- Navigate to Settings (icon) > Setup > Apps > Connected Apps > Manage Connected Apps and click Edit
- Under Client Credentials Flow set the app to Run As as the user created in the previous steps
- Click Save
Please use the spreadsheet included with your welcome email to share the requested values with your ZoneReporting implementation team. Instructions for secure sharing are included in the spreadsheet.