> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cassidyai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Salesforce Agent Connector

> Let Agents query and update Salesforce records in real time during conversations.

The Salesforce [Connector](/agents/connectors/overview) gives your [Agents](/agents/overview) both read and write access to your Salesforce CRM. Agents can look up accounts, search for opportunities, create leads, update contacts, and more — all within a conversation. Data is queried in real time and never stored in Cassidy.

<Tip>For best results with complex Connector queries, use a powerful, reasoning-capable model. Cassidy supports models from OpenAI, Anthropic, and Google — see [Choose the right AI model](/guides/choose-ai-model) for current recommendations.</Tip>

## Add the Salesforce Connector

<Steps>
  <Step title="Select your Agent">
    Navigate to **Agents**, find the Agent you want to configure, click **...** and select **Edit**.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-0.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=30a28fbf9df72c55db50f014e7466ad2" alt="Agent dashboard showing the list of available Agents" width="650" height="484" data-path="images/integrations/salesforce-tool-img-0.png" />
    </Frame>
  </Step>

  <Step title="Open the Connectors section">
    In the Agent editor, go to the **Setup** tab and scroll to the **Connectors** section.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-1.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=21106b519cc50af872db100907d78330" alt="Setup tab showing the Connectors section in the Agent editor" width="2824" height="796" data-path="images/integrations/salesforce-tool-img-1.png" />
    </Frame>
  </Step>

  <Step title="Add Salesforce">
    Click **+ Add Connector** and then click **+ Add** on the **Salesforce** option.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-2.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=654698d6e83c41e2d15da08627f1070c" alt="Connector selection panel with the Salesforce option" width="1956" height="1228" data-path="images/integrations/salesforce-tool-img-2.png" />
    </Frame>
  </Step>

  <Step title="Choose your connection method">
    Select how users authenticate with Salesforce:

    * **Each user connects their own account** (recommended) — Each team member connects their personal Salesforce account. The Agent can only access what each user has permission to see in Salesforce.
    * **Use a shared Salesforce connection** — Connect a dedicated service account that all users share. This gives centralized control over what data the Agent can access. Only workspace admins can set up shared connections.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-3.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=0ed6d3f181632bda5cd1a3801e581fd0" alt="Connection method selection showing per-user and shared options" width="1584" height="944" data-path="images/integrations/salesforce-tool-img-3.png" />
    </Frame>
  </Step>

  <Step title="Set up a shared connection (if selected)">
    If you chose the shared option, click **Connect** to sign in with the service account and accept the access request.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-4.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=349a907b243b4aa2a01bfcdac7c2d170" alt="Shared connection setup prompting Salesforce sign-in" width="1500" height="256" data-path="images/integrations/salesforce-tool-img-4.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-5.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=3248087e122401dd9fe59a06a3fec141" alt="Salesforce sign-in screen during shared connection setup" width="1218" height="1536" data-path="images/integrations/salesforce-tool-img-5.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-6.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=90ad2f5a8755b12298d0afdd48db6a23" alt="Salesforce access request confirmation dialog" width="1194" height="2456" data-path="images/integrations/salesforce-tool-img-6.png" />
    </Frame>
  </Step>

  <Step title="Share the connection with your team (optional)">
    To share the connection with other team members, click **Change** next to the newly added connection, then click the **...** menu and select **Share**.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-7.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=818ef1717430d3f318d7f70b7a8d0d51" alt="Connection menu showing the Share option" width="1568" height="1468" data-path="images/integrations/salesforce-tool-img-7.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-8.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=02a771b6fda3d4b7a83235c52519782e" alt="Share dialog for the Salesforce connection" width="1648" height="560" data-path="images/integrations/salesforce-tool-img-8.png" />
    </Frame>

    Add specific people or groups, or change the general access to **Team**.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-9.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=ea735dc42c4b61f5c9d165f729ea86fd" alt="Sharing permissions panel for the Salesforce connection" width="992" height="892" data-path="images/integrations/salesforce-tool-img-9.png" />
    </Frame>
  </Step>

  <Step title="Configure tool permissions">
    Set permissions for each Salesforce action type. Every action is a separate tool that you control individually:

    * **Always Allow** — The Agent performs the action automatically when needed
    * **Needs Approval** — The Agent asks the user for permission before taking the action
    * **Disabled** — The Agent cannot perform the action

    Common Salesforce tools include Search records (view data), Create records (add new leads, contacts, etc.), Update records (change existing data), and Delete records (remove data). You decide the permission level for each tool separately. For example, you might set **Search records** to Always Allow but **Delete records** to Disabled. When you are done, click **Add**.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-10.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=897263c93bc58f2367425490b1bc534d" alt="Tool permissions panel showing Always Allow, Needs Approval, and Disabled options" width="1574" height="2784" data-path="images/integrations/salesforce-tool-img-10.png" />
    </Frame>
  </Step>

  <Step title="Start a conversation">
    Navigate to **Chat** and select the Agent with the Salesforce Connector enabled.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-11.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=c88768fae257dd72e7fe87e5d1f44082" alt="Chat interface with the Salesforce-enabled Agent selected" width="1418" height="776" data-path="images/integrations/salesforce-tool-img-11.png" />
    </Frame>

    If you chose the per-user connection method, users are prompted to connect their Salesforce account from within the chat on first use.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-12.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=8c5c83d6dfcebf9839b8bd3623a62f1a" alt="In-chat prompt asking the user to connect their Salesforce account" width="1376" height="510" data-path="images/integrations/salesforce-tool-img-12.png" />
    </Frame>

    Once connected, save your settings and continue chatting. Your Agent can now access Salesforce data to answer questions about accounts, opportunities, leads, contacts, and other CRM records.

    <Frame>
      <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-13.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=92590e328f06f623f5ac162ae2b34797" alt="Agent responding with Salesforce data in the chat" width="2392" height="2470" data-path="images/integrations/salesforce-tool-img-13.png" />
    </Frame>
  </Step>
</Steps>

## Monitor Salesforce actions

When an Agent uses the Salesforce Connector during a conversation, you can review what happened by expanding the **Analyzed Sources** dropdown and clicking any Salesforce step.

<Frame>
  <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-14.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=c09810d832992a6284cdbffc7bef4dd3" alt="Analyzed Sources dropdown showing Salesforce actions taken" width="1370" height="408" data-path="images/integrations/salesforce-tool-img-14.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-15.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=9b7e03f6c2dfd86f9c9a795c7ccea3fc" alt="Expanded Salesforce action details showing the query and results" width="1380" height="1558" data-path="images/integrations/salesforce-tool-img-15.png" />
</Frame>

If an action lacks the required permissions, the step shows **No output data**.

<Frame>
  <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-16.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=1e806c4a98a2e223a93f72b42eda94ba" alt="Salesforce action showing No output data due to missing permissions" width="1388" height="846" data-path="images/integrations/salesforce-tool-img-16.png" />
</Frame>

If an action requires approval (set to **Needs Approval**), you see an approval prompt where you can click **Approve** or **Reject** before the action executes.

<Frame>
  <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-17.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=c9ab26e8961877521d04b8ce0afb5500" alt="Approval prompt with Approve and Reject buttons for a Salesforce action" width="1408" height="908" data-path="images/integrations/salesforce-tool-img-17.png" />
</Frame>

## Data security

* **Permission-based access** — The Agent can only access what the connected Salesforce account has permission to see
* **Auditability** — All queries and actions are logged in your Agent's activity history
* **Service account control** — Using a service account lets you define exactly what objects, fields, and records are accessible
* **No data stored** — Salesforce data is accessed in real time and never copied or stored in Cassidy

<Accordion title="Advanced: OAuth scopes">
  This integration uses standard Salesforce OAuth scopes (`full` and `refresh_token`) to securely access your data. If your organization requires custom scopes, contact [support@cassidyai.com](mailto:support@cassidyai.com).
</Accordion>

<Accordion title="Troubleshooting: OAuth connection error">
  If you see an OAuth error like `OAUTH_APPROVAL_ERROR_GENERIC`, follow these steps:

  1. **Have an authorized user connect first** — Ask a user with the **Approve Uninstalled Connected Apps** permission in Salesforce to connect. Users with the System Administrator profile have this permission by default.
  2. **Install the Cassidy app in Salesforce** — Once the authorized connection is made, your Salesforce admin should:
     * Go to the **Connected Apps OAuth Usage** page in Salesforce Setup
     * Find the **Cassidy Assistants** app
     * Click **Install**

  <Frame>
    <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-18.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=6d777d4eb2d50f69014230258d07207a" alt="Connected Apps OAuth Usage page in Salesforce Setup" width="1114" height="324" data-path="images/integrations/salesforce-tool-img-18.png" />
  </Frame>

  <Frame>
    <img src="https://mintcdn.com/cassidy/opUjsHGkJXVqagIV/images/integrations/salesforce-tool-img-19.png?fit=max&auto=format&n=opUjsHGkJXVqagIV&q=85&s=971df82842a9be956713d28316f452b2" alt="Cassidy Assistants app listed in Salesforce Connected Apps" width="1370" height="430" data-path="images/integrations/salesforce-tool-img-19.png" />
  </Frame>

  After completing these steps, other users should be able to connect without encountering the OAuth error.
</Accordion>

## Next steps

<CardGroup cols={2}>
  <Card title="Knowledge Base" icon="book" href="/knowledge-base/overview">
    Set up your Knowledge Base for AI-powered context across Agents and Workflows.
  </Card>

  <Card title="Salesforce for Workflows" icon="diagram-project" href="/integrations/salesforce/workflows">
    Automate Salesforce record changes with Workflow triggers and actions.
  </Card>
</CardGroup>
