Connect Salesforce to Rig
Sync your Salesforce accounts, contacts, leads, opportunities, cases and users into Rig, so your AI tools can answer pipeline and revenue questions against live CRM data. Salesforce connects server-to-server using the OAuth 2.0 Client Credentials flow, so it keeps working without per-user logins or staff turnover breaking it.
Before you start
- You need Salesforce admin access to create the app.
- Ideally use a dedicated integration user, preferably one with the API Only User permission, with read access to the objects you want Rig to see. The integration runs as that user, so its permissions are exactly what Rig can read.
- By the end you'll have three values to paste into Rig: an Instance URL, a Consumer Key and a Consumer Secret.
Step 1: Create an app with the Client Credentials flow
Connected Apps vs External Client Apps
Salesforce restricted creating new Connected Apps in Spring '26. New orgs create an External Client App instead. The end result is identical: a Consumer Key and Secret you paste into Rig. Use whichever path your org offers.
External Client App (recommended)
- In Salesforce, go to
Setup, typeExternalin Quick Find, and openExternal Client App Manager. ClickNew External Client App. - Enter a name (e.g. "Rig"), an API name, and a contact email.
- Under
API (Enable OAuth Settings), selectEnable OAuth. - Callback URL: the Client Credentials flow never uses a redirect, but the field is required. Enter any valid HTTPS URL, e.g.
https://login.salesforce.com/services/oauth2/callback. - For OAuth Scopes, add
Manage user data via APIs (api). - Under Flow Enablement, enable the
Client Credentials Flowand accept the security warning. - Click
Create. - Back in
External Client App Manager, open the app's actions menu and chooseEdit Policies. Under Client Credentials Flow, set Run As to your integration user, then Save. - From the app's actions menu choose
Edit Settings, openOAuth Settings, and copy the Consumer Key and Consumer Secret.
Connected App (legacy / existing apps)
Setup→App Manager→New Connected App.- Enable OAuth settings, add the
Manage user data via APIs (api)scope, tickEnable Client Credentials Flow, and save. - On the app, click
Manage→Edit Policies, and under Client Credentials Flow set theRun Asuser. - Back on the app, open
Manage Consumer Detailsand copy the Consumer Key and Consumer Secret.
Step 2: Grant the integration user object access
The integration runs as the Run As user, so Rig can only read the objects and fields that user is allowed to see. This step is easy to miss and is the most common reason a connection authenticates but returns nothing.
⚠️ Integration users start with no object access
A user on a Salesforce Integration license (and most minimal profiles) has no access to standard objects by default. If the Run As user can't read an object, Rig shows "Object not accessible to the integration user" and Salesforce returns sObject type 'Account' is not supported (INVALID_TYPE). The fix is always to grant that object via a permission set below.
- In
Setup, typePermission Setsin Quick Find and open it. ClickNewto create one (e.g. "Rig Read Access"), or reuse an existing one. Leave the license set to--None--so it can be assigned to any user. - Open the permission set, go to
Object Settings, and for each object you want to sync — Account, Contact, Lead, Opportunity, Case, User — enableRead(andView Allif you want every record, not just the user's own). - While you're in each object's settings, make sure the fields you care about are readable — field-level security can hide individual columns even when the object is granted. A missing field shows in Rig as "Field not accessible to the integration user".
- Go to
Manage Assignments→Add Assignment, select your Run As integration user, and save.
Step 3: Find your instance URL
In Setup, open My Domain and copy your My Domain URL, for example https://acme.my.salesforce.com. Sandboxes look like https://acme--sandbox.sandbox.my.salesforce.com.
Step 4: Connect it in Rig
- In Rig, open
Connectionsin the left sidebar and go to theSourcesstep. - Search for Salesforce (it's under CRM, marked
OAuth) and click its card. - Instance URL: paste your My Domain URL.
- Connected App Consumer Key: paste the Consumer Key.
- Connected App Consumer Secret: paste the Consumer Secret.
- Click
Continue, thenTestto pull a small sample, thenSyncto run the full pipeline.
What Rig pulls in
Salesforce lands in its own salesforce schema, with the standard fields for each object:
- Accounts, Contacts and Leads
- Opportunities: stage, amount, close date, forecast category
- Cases
- Users
Good to know
- Rig reads only what the Run As user can see. Give that user least-privilege, read-only access to the objects you want to sync.
- Anyone with the Consumer Key and Secret can mint access tokens. Rotate the secret periodically, and immediately if it leaks.
- Make sure you copy the production My Domain URL (or the matching sandbox URL) for the org whose data you want.
- You can disconnect Salesforce at any time from
Connections→Sources.