Slite (AI) AgentAgent Data Sources

Salesforce

Salesforce

By connecting Slite with Salesforce, you can ask natural-language questions about your CRM data and get answers backed by live queries — no SOQL required, and no data copied out of Salesforce.
This article covers connecting Salesforce, how Slite Agent uses your data, permissions, and troubleshooting.

Connecting Salesforce & the Slite Agent

Required permissions for setup

To connect Slite and Salesforce, you must have the necessary permissions* in both platforms.
  • In Slite: Permission to add or remove agent sources depends on your team's settings. By default, only workspace admins or owners can set up a connection. However, a Slite admin can enable a setting to allow all members to add and remove agent sources.
  • In Salesforce: A Salesforce admin needs to create an External Client App, configure JWT Bearer Flow, and pre-authorize the users who will query Salesforce through Slite Agent.
*If you don't have these permissions, ask a Salesforce admin to set up the External Client App and pre-authorize your users.

Initial Salesforce connection

Step 1: Add an External Client App in Salesforce

    Click the gear icon in the top right corner and choose Setup .
    In the left sidebar, navigate to Platform Tools > Apps > External Client Apps > External Client App Manager .
    Alternatively, you can use the Quick Find search field.
    Click New External Client App in the top right corner.
    In the Basic Information section, fill in the mandatory fields.
    Leave the Local value in the Distribution State field.
    Expand the API (Enable OAuth Settings) section, and check Enable OAuth .
    Enter the following Callback URL: https://slite.com/api/auth/salesforce/callback
    Click the following Available OAuth Scopes, then click :
    
  • Manage user data via APIs (api)
    
  • Perform requests at any time (refresh_token, offline_access)
    In the Flow Enablement section, check Enable JWT Bearer Flow , then go to Slite ( insert-your-domain.slite.com/slite/sources/salesforce ) to download your certificate.
    Replace insert-your-domain with your actual Slite workspace subdomain.
    Go back to Salesforce and click Upload File to upload the certificate, then click Create .

Step 2: Manage your External Client App in Salesforce

    In the Policies tab , expand the OAuth Policies section, then click Edit .
    In the Permitted Users dropdown, choose "Admin approved users are pre-authorized" , then click OK .
    Expand the App Policies section and select profiles by clicking : you can select every profile for all your users to be able to use the app, or define a subset as you prefer.
    Do the same in the Permission Sets section by clicking : select all permission sets, or define a subset as you prefer.
    Click Save .

Step 3: Get your Consumer Key and connect to Slite

    Go back to the Settings tab and expand the OAuth Settings section.
    Click Consumer Key and Secret .
    In the new page that opens, paste the verification code you received in your inbox.
    Copy the Consumer Key .
    Go back to Slite, paste the Consumer Key , enter your Login URL , then click Connect to Salesforce .
    Once connected, Salesforce will be available as a source when you ask questions in the Slite Agent.

How Slite Agent uses your Salesforce data

Slite Agent does not copy or index any of your Salesforce data — no records, no schema, no field metadata. Slite Agent relies on the LLM's existing knowledge of standard Salesforce objects (Accounts, Contacts, Opportunities, Leads, Cases, etc.) and uses it to generate read-only SOQL queries that run live against your Salesforce org each time you ask a question.
Custom objects and custom fields work the same way — Slite Agent passes the object name straight through to Salesforce in the SOQL query, so things like MyObject__c or Region__c are resolved by Salesforce at query time, not by Slite Agent.
Every Salesforce result includes a source citation showing the exact SOQL that ran, so you can see what was queried.

Access control & privacy

Salesforce is a  Mirrored  source: Slite Agent honors each user's individual Salesforce permissions. When you ask a question, Slite Agent impersonates your Salesforce identity using JWT Bearer Flow and runs the query against Salesforce on your behalf. Salesforce's own permission model — including object permissions, field-level security, sharing rules, and row-level access — is enforced natively for every query. Slite Agent never bypasses it.

What permissions does a user need?

For a user to query Salesforce through Slite Agent, they need to be pre-authorized for the External Client App in Salesforce. A Salesforce admin does this by assigning the app to the user's profile or to a permission set in the External Client App's policy settings.
Once pre-authorized, the user inherits all of their existing Salesforce permissions through Slite Agent — they can only see and query the objects, fields, and records they already have access to in Salesforce.

Read-only access

Slite Agent is strictly read-only. Every SOQL query is checked before being sent to Salesforce, and any query containing write operations (INSERT, UPDATE, DELETE, MERGE, TRUNCATE, DROP, CREATE, ALTER, GRANT, REVOKE) is rejected. Slite Agent cannot create, modify, or delete records in your Salesforce org.

Frequently asked questions

Will Slite Agent write back to Salesforce, modify records, or send emails?

No. Slite Agent is strictly read-only — see  Read-only access  above. Slite Agent cannot create, update, or delete records, send emails, or perform any other write operations in Salesforce.

Can Slite Agent query my custom objects?

Yes. Slite Agent resolves object and field names at query time by passing them straight through to Salesforce in the SOQL. Custom objects (e.g., MyObject__c) and custom fields (e.g., Region__c) work the same way as standard ones — you may need to mention them by name in your question for Slite Agent to use them.

Why are some results capped at a few hundred rows?

Salesforce queries through Slite Agent return at most 300 records per query. If you need to work with larger result sets, ask Slite Agent to aggregate (counts, sums, group-bys) or to filter further to narrow the result.

Can I connect more than one Salesforce org?

Not currently. Each Slite workspace can connect to one Salesforce org at a time. Trying to set up a second connection will return a "Multiple connections found" error.

What are common use cases for Salesforce in Slite Agent?

Teams typically use the Salesforce integration to ask questions across CRM data without writing SOQL. Common patterns:
  • Pipeline and forecasting"What's our pipeline by stage for this quarter?" or "Show me opportunities closing this month grouped by owner."
  • Account research before a call"Summarize all open opportunities and recent activity for Acme Corp."
  • Exec reporting — natural-language aggregations like "Total ARR closed-won by industry last quarter" without exporting to a spreadsheet.
  • Operational checks"Which leads from last week haven't been contacted yet?" or "How many cases are still open from the EU region?"