Salesforce Access for Data Foundation
Data Foundation brings data from every system you connect, in as many instances as you have, into one Common Finance Model. Salesforce is one of the systems it reads directly. Salesforce is a CRM source, not a ledger: it supplies customers, products and the sales pipeline, never general ledger entries. This page is for the Salesforce administrator who sets up the access, and for the PlaidCloud user who asks them to.
PlaidCloud only reads data. Nobody sends a password or a security token by email.
Send the Access Request
Section titled “Send the Access Request”On the project’s Foundation tab, choose Create a new connection and pick Salesforce. The form shows the full request. Click Copy request to paste it into your own message, or Email request to open it in your mail program with the subject “Read-only Salesforce access for PlaidCloud (OAuth 2.0 client credentials).”
What the Salesforce Administrator Sets Up
Section titled “What the Salesforce Administrator Sets Up”-
Create an External Client App under Setup > Apps > External Client Apps > New, or a Connected App if your org still has them:
- Enable OAuth settings, and tick Enable Client Credentials Flow only (no authorization code or password flow).
- OAuth scope: Manage user data via APIs (
api). - Run As: a dedicated integration user (step 2).
-
Give the integration user a profile or permission set with:
- API Enabled
- Read on Account (including the Account Number field), Product2, Opportunity, OpportunityLineItem and Organization (for the default currency)
- View All Data, or sharing that lets it see every opportunity you report on
Salesforce limits every row and field PlaidCloud can read to what this user can see.
-
Copy the Consumer Key (client ID) and Consumer Secret from the app, and the org’s My Domain URL, for example
https://yourcompany.my.salesforce.com.
What to Send Back
Section titled “What to Send Back”| The administrator sends | Entered in PlaidCloud as |
|---|---|
| The My Domain URL | My Domain URL |
| The Client ID (Consumer Key) | Client ID |
| The Client secret (Consumer Secret), through the secure connection form, not by email | Client secret |
Under Entity, enter the entity the Salesforce org’s pipeline belongs to in Name: an org has no entities to list. One org is one entity, so two orgs are two connections.
Check the Access
Section titled “Check the Access”Back in PlaidCloud, click Test connection. Each dataset shows as Readable, Missing permission or Error:
| Dataset | What it reads in Salesforce |
|---|---|
| Customers | Account |
| Products | Product2 |
| Pipeline | Opportunity and OpportunityLineItem, with the account numbers |
All three are optional. When one shows Missing permission, ask the administrator to add the read access on that object to the integration user and test again.
Pipeline amounts are in the opportunity’s currency. An org that uses one currency has no such field, so PlaidCloud uses the org’s default currency from Organization, and otherwise the entity’s currency.