> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ada.cx/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ada.cx/_mcp/server.

# Salesforce user setup

## Overview\[#overview]

The Salesforce block enables your AI Agent to interact with your Salesforce CRM during [Handoff](/docs/handoffs) conversations. Before you set up the Salesforce block, you need to configure a Salesforce user with the appropriate credentials and API permissions.

## Use cases

Configure a Salesforce user when you need to:

* **Log cases from conversations**: Automatically populate Salesforce cases with conversation content.
* **Capture leads from chat**: Create Salesforce leads with information collected during conversations.
* **Look up case information**: Retrieve and share case details with end users.

## Capabilities & configuration

The Salesforce block allows your AI Agent to perform the following actions in Salesforce:

* **Create a Case**: Seamlessly populate case fields in Salesforce with conversation content.
* **Create a Lead**: Build out detailed leads with information collected from a chat.
* **Check a Case**: Recall specific case information and share with an end user.

Before you set up your Salesforce block, you need to configure a Salesforce user with the appropriate credentials and API permissions.

## Quick start

Complete these steps to set up a Salesforce user for the integration. See [Implementation & usage](#implementation--usage) for detailed instructions.

#### Create a Salesforce user profile

Create a new profile with App Manager permissions.

#### Add API permissions

Grant API access and configure standard object permissions.

#### Configure field-level access

Set Edit and Read access for case and lead fields.

## Implementation & usage

Configure a Salesforce user with the required permissions before setting up the Salesforce block.

### Configure a Salesforce user\[#configure-a-salesforce-user-(with-app-manager-permissions)]

Create a Salesforce user profile with App Manager permissions to enable the integration.

**To configure a Salesforce user with App Manager permissions:**

1. If you don't have a profile set up for the user, create a new
   profile with the Salesforce user license (found under
   **Administration** > **Users** in **Setup**).

2. To ensure the user has access to the **App Manager** option, request a
   Salesforce System Admin to give the **View Setup and
   Configuration**, **Customize Applications**, and **Modify All Data
   Profile** permission levels.

3. If creating a new user, assign the profile from above to the new
   user. If you don't see the profile, make sure the license is set to
   **Salesforce**.

4. Once you've created the user and verified the account, log in with
   it. If the profile has **API Only** enabled already, you will need to
   switch back to your admin account and log in to it through the **User
   Details** page.

5. Navigate to **Personal Settings/Setup**, and go to **My Personal
   Information** > **Reset My Security Token**.

6. Once you reset the token, you should receive a new token via email.
   Save this in a safe place.

### Add API permissions\[#add-api-permissions-to-a-salesforce-user]

Grant the necessary API permissions to enable the Salesforce block to interact with your CRM.

**To add API permissions:**

1. Go to the Salesforce **User Profile**.

   ![](/_fern-img/0cb4ac669125284a0b42bb00dea3632bd7b67036d5f0b43209c742a90db2bb06.webp)

2. In the **Profile Details** page, click **Edit**.

3. Ensure the following settings are in place:

   * In the **Administrative Permissions** section, select the **API Enabled** check box.

   * In the **Administrative Permissions** section, optionally select **API Only User**. This ensures the user can only be used with
     the API, and cannot log into Salesforce directly.

   * Under **Standard Object Permissions** > **Cases**, grant **Read** and **Create** permissions.

   * Under **Standard Object Permissions** > **Leads**, grant **Read** and **Create** permissions.

   * In the **Password Policies** section, set **User passwords expires in** to **Never expires**. This ensures that the credentials
     configured in Ada will continue to be valid, allowing the
     Salesforce block to continue functioning.

4. Click **Save**.

5. On the **Profile Details** page, under **Record Type Settings** >
   **Standard Record Type Settings** > **Cases**, make sure a default
   record type is set.

6. For fields you would like to populate via **Create Case**, set to **Edit Access**.

7. For fields you would like to query via **Check Case**, set to **Read Access**. Field access permissions can be set on the
   **Profile Details** page under **Field-Level Security** > **Standard
   Field-Level Security** > **Case**.

8. For fields you would like to populate via **Create Lead**, set to **Edit Access**. Field access permissions can be
   set on the **Profile Details** page under **Field-Level Security** >
   **Standard Field-Level Security** > **Lead**.

---

Have any questions? Contact your Ada team, or email us at [](mailto:help@ada.cx?subject=Help%20Docs%20inquiry).