Salesforce Integration
This guide provides step-by-step instructions for integrating Salesforce with Genfin. Genfin integrates with Salesforce via an External Client App. It is read-only and designed to enrich the data in Genfin with Salesforce knowledge.
Let's walk through the setup.
Instructions
1. Create the Connected App
In Salesforce, go to Setup → App Manager → New Connected App → New External Client App
- Connected App Name: Genfin
- API Name: Genfin_Sync
- Contact Email: Your admin's email
- Enable OAuth Settings: Yes.
- Callback URL: https://api.genfin.ai/webhooks/salesforce/callback
- Selected OAuth Scopes: Manage user data via APIs (api) , Perform requests at any time (refresh_token, offline_access)
- Enable Client Credentials Flow: Yes
Save. Salesforce displays a warning that the app may take 2–10 minutes to propagate.
2. Configure the Run-As User
Client Credentials Flow needs a designated user whose permissions the API calls run as. In the newly created Connected App:
- Click Manage → Edit Policies
- Under Client Credentials Flow, set Run As to a dedicated integration user (recommended: a Salesforce license user named "Genfin Integration" with Read access to the Contact object)
- Save
This user must have at minimum Read on Contact and any custom fields the customer wants synced.
3. Retrieve Credentials
- Back in the Connected App detail page, click Manage Consumer Details
- Salesforce requires re-authentication for this step
- Copy the Consumer Key (this is
client_id) - Copy the Consumer Secret (this is
client_secret)
4. Note the Instance URL
The Salesforce REST endpoint is tied to the org's instance. The admin can find it at Setup → Company Information → My Domain URL — something like https://acme.my.salesforce.com . Required for the token endpoint and all subsequent API calls.
5. Enter Credentials in Genfin
In Genfin, navigate to Settings → Integrations → Salesforce → Connect and paste:
- Consumer Key
- Consumer Secret
- Instance URL (e.g.,
https://acme.my.salesforce.com) - API Version (default
v60.0, can be overridden)
Genfin validates the credentials by attempting a token refresh before saving.