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

# Salesforce

> What agents can do in Salesforce at each access level, and how to connect, limit, and disconnect Salesforce.

Connect Salesforce so your agents can work in your Salesforce account. You choose an access level for each account, and Squad refuses any agent action outside that level.

## Access levels

Each Salesforce account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.

| Level                          | The connect window describes this level as                  | Actions agents can use |
| ------------------------------ | ----------------------------------------------------------- | ---------------------- |
| **Read-only**                  | "Read records via the API. Cannot write."                   | 143 of 224             |
| **Read + write** (recommended) | "Standard API access for reading and writing records."      | 206 of 224             |
| **Full access**                | "Same access as your user — read, write, reports, Chatter." | 224 of 224             |

The description of **Read-only** does not cover every action at that level. This level also allows: Create bulk query job.

**Read + write** is the recommended level. The connect window selects it for you, and you can choose another level.

The Salesforce sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every agent action against the level you chose, and it refuses actions outside that level.

## What agents can do at each level

Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Salesforce account?" The agent can search the Salesforce actions for you.</Tip>

Each action shows its name, a one-line description where the Salesforce action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

<AccordionGroup>
  <Accordion title="Read-only">
    Agents can use 143 of the 224 Salesforce actions at this level:

    * View and search account details
    * View and search contacts
    * View objects
    * View records
    * View views
    * View and search leads
    * View and search opportunities
    * View, search, and run reports
    * View and search campaigns
    * View and search notes
    * View apps
    * View and search articles

    All 143 actions at this level:

    <AccordionGroup>
      <Accordion title="Account details (12)">
        | Action                                    | What it does                                                                                                                                          | Slug                                                   |
        | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
        | Fetch account by ID with query            | DEPRECATED: Use this action to retrieve a Salesforce Account by its unique ID, which must be a valid and existing Salesforce Account ID.              | `SALESFORCE_FETCH_ACCOUNT_BY_ID_WITH_QUERY`            |
        | Get account                               | Retrieves a specific account by ID from Salesforce, returning all available fields.                                                                   | `SALESFORCE_GET_ACCOUNT`                               |
        | Get ui API actions lookup account         | Get lookup field actions for a Salesforce object.                                                                                                     | `SALESFORCE_GET_UI_API_ACTIONS_LOOKUP_ACCOUNT`         |
        | Get ui API mru list records account       | Get Most Recently Used (MRU) list view records for Account object.                                                                                    | `SALESFORCE_GET_UI_API_MRU_LIST_RECORDS_ACCOUNT`       |
        | Get uiapi actions mru list account        | Retrieve header actions available on the MRU (Most Recently Used) list view for a specified Salesforce object.                                        | `SALESFORCE_GET_UIAPI_ACTIONS_MRU_LIST_ACCOUNT`        |
        | Get uiapi list info account all accounts  | Retrieves list view metadata for the Account AllAccounts view using Salesforce UI API.                                                                | `SALESFORCE_GET_UIAPI_LIST_INFO_ACCOUNT_ALL_ACCOUNTS`  |
        | Get uiapi list info account recent        | Get list view metadata from Salesforce UI API.                                                                                                        | `SALESFORCE_GET_UIAPI_LIST_INFO_ACCOUNT_RECENT`        |
        | Get uiapi list info account search result | Retrieves list view metadata for the Account \_\_SearchResult view using Salesforce UI API.                                                           | `SALESFORCE_GET_UIAPI_LIST_INFO_ACCOUNT_SEARCH_RESULT` |
        | Get uiapimru list info account            | Get Most Recently Used (MRU) list view metadata for Account object.                                                                                   | `SALESFORCE_GET_UIAPIMRU_LIST_INFO_ACCOUNT`            |
        | List accounts                             | Lists accounts from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection.                                           | `SALESFORCE_LIST_ACCOUNTS`                             |
        | Retrieve account data and error responses | DEPRECATED: Retrieves comprehensive metadata for the Salesforce Account sObject, detailing its properties, recent records, and related resource URLs. | `SALESFORCE_RETRIEVE_ACCOUNT_DATA_AND_ERROR_RESPONSES` |
        | Search accounts                           | Search for Salesforce accounts using criteria like name, industry, type, location, or contact information.                                            | `SALESFORCE_SEARCH_ACCOUNTS`                           |
      </Accordion>

      <Accordion title="Apps (3)">
        | Action                | What it does                                                                          | Slug                               |
        | --------------------- | ------------------------------------------------------------------------------------- | ---------------------------------- |
        | Get app               | Get metadata about a specific Salesforce app by ID.                                   | `SALESFORCE_GET_APP`               |
        | Get apps              | Get metadata for all apps a user has access to.                                       | `SALESFORCE_GET_APPS`              |
        | Get last selected app | Retrieves the app the current user last selected or the app the user sees by default. | `SALESFORCE_GET_LAST_SELECTED_APP` |
      </Accordion>

      <Accordion title="Articles (2)">
        | Action                         | What it does                                                                               | Slug                                        |
        | ------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------- |
        | Get support knowledge articles | Retrieves user's visible knowledge articles and data categories from Salesforce Knowledge. | `SALESFORCE_GET_SUPPORT_KNOWLEDGE_ARTICLES` |
        | Search knowledge articles      | Search for Salesforce Knowledge articles with titles matching the search query.            | `SALESFORCE_SEARCH_KNOWLEDGE_ARTICLES`      |
      </Accordion>

      <Accordion title="Campaigns (4)">
        | Action                                     | What it does                                                                                                                                                                                     | Slug                                                    |
        | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
        | Get campaign                               | Retrieves a specific campaign by ID from Salesforce, returning all available fields.                                                                                                             | `SALESFORCE_GET_CAMPAIGN`                               |
        | List campaigns                             | Lists campaigns from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection.                                                                                     | `SALESFORCE_LIST_CAMPAIGNS`                             |
        | Retrieve campaign data with error handling | DEPRECATED: Retrieves comprehensive information and metadata for the Salesforce Campaign sObject, provided it is enabled and accessible in the organization, and features robust error handling. | `SALESFORCE_RETRIEVE_CAMPAIGN_DATA_WITH_ERROR_HANDLING` |
        | Search campaigns                           | Search for Salesforce campaigns using multiple criteria like name, type, status, date range, or active status.                                                                                   | `SALESFORCE_SEARCH_CAMPAIGNS`                           |
      </Accordion>

      <Accordion title="Collections (1)">
        | Action                  | What it does                                                             | Slug                                 |
        | ----------------------- | ------------------------------------------------------------------------ | ------------------------------------ |
        | Get sobject collections | Retrieve multiple records of the same sObject type in a single API call. | `SALESFORCE_GET_SOBJECT_COLLECTIONS` |
      </Accordion>

      <Accordion title="Contacts (9)">
        | Action                                        | What it does                                                                                                                 | Slug                                                       |
        | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
        | Get contact                                   | Retrieves a specific contact by ID from Salesforce, returning all available fields.                                          | `SALESFORCE_GET_CONTACT`                                   |
        | Get contact by ID                             | Retrieves a Salesforce Contact by its unique ID.                                                                             | `SALESFORCE_GET_CONTACT_BY_ID`                             |
        | Get lookup suggestions case contact           | Get lookup field suggestions with POST request.                                                                              | `SALESFORCE_GET_LOOKUP_SUGGESTIONS_CASE_CONTACT`           |
        | Get related list records contacts             | Retrieve related list records with request body parameters for filtering and pagination.                                     | `SALESFORCE_GET_RELATED_LIST_RECORDS_CONTACTS`             |
        | List contacts                                 | Lists contacts from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection.                  | `SALESFORCE_LIST_CONTACTS`                                 |
        | Query contacts by name                        | DEPRECATED: Finds Salesforce Contact records by name using a case-insensitive search.                                        | `SALESFORCE_QUERY_CONTACTS_BY_NAME`                        |
        | Retrieve contact info with standard responses | DEPRECATED: Retrieves comprehensive metadata (e.g., fields, data types, picklist values) for the Salesforce Contact SObject. | `SALESFORCE_RETRIEVE_CONTACT_INFO_WITH_STANDARD_RESPONSES` |
        | Retrieve specific contact by ID               | (DEPRECATED: use SALESFORCE\_GET\_CONTACT\_BY\_ID) Retrieves a Salesforce Contact by its unique ID.                          | `SALESFORCE_RETRIEVE_SPECIFIC_CONTACT_BY_ID`               |
        | Search contacts                               | Search Salesforce Contact records (not Leads.                                                                                | `SALESFORCE_SEARCH_CONTACTS`                               |
      </Accordion>

      <Accordion title="Content (1)">
        | Action           | What it does                                                                             | Slug                          |
        | ---------------- | ---------------------------------------------------------------------------------------- | ----------------------------- |
        | Get file content | Returns the binary content of a Salesforce file, including references to external files. | `SALESFORCE_GET_FILE_CONTENT` |
      </Accordion>

      <Accordion title="Dashboards (2)">
        | Action          | What it does                                                                                   | Slug                         |
        | --------------- | ---------------------------------------------------------------------------------------------- | ---------------------------- |
        | Get dashboard   | Gets detailed metadata for a specific dashboard including its components, layout, and filters. | `SALESFORCE_GET_DASHBOARD`   |
        | List dashboards | Lists all dashboards available in Salesforce with basic metadata including name, ID, and URLs. | `SALESFORCE_LIST_DASHBOARDS` |
      </Accordion>

      <Accordion title="Entries (1)">
        | Action                 | What it does                                                                                                         | Slug                                |
        | ---------------------- | -------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
        | List pricebook entries | Lists pricebook entries from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_PRICEBOOK_ENTRIES` |
      </Accordion>

      <Accordion title="Fields (2)">
        | Action                       | What it does                                                                                                                                                      | Slug                                      |
        | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- |
        | Get all fields for object    | Retrieves all fields (standard and custom) for a Salesforce object with complete metadata including field types, constraints, picklist values, and relationships. | `SALESFORCE_GET_ALL_FIELDS_FOR_OBJECT`    |
        | Get lookup field suggestions | Retrieve lookup field suggestions for editing lookup fields with search filtering.                                                                                | `SALESFORCE_GET_LOOKUP_FIELD_SUGGESTIONS` |
      </Accordion>

      <Accordion title="Files (2)">
        | Action               | What it does                                                                          | Slug                              |
        | -------------------- | ------------------------------------------------------------------------------------- | --------------------------------- |
        | Get file information | Retrieve comprehensive metadata and information about a specified file in Salesforce. | `SALESFORCE_GET_FILE_INFORMATION` |
        | Get file shares      | Returns information about the objects with which the specified file has been shared.  | `SALESFORCE_GET_FILE_SHARES`      |
      </Accordion>

      <Accordion title="Items (2)">
        | Action                         | What it does                                                     | Slug                                        |
        | ------------------------------ | ---------------------------------------------------------------- | ------------------------------------------- |
        | Get all navigation items       | Gets all navigation items (tabs) that the user has access to.    | `SALESFORCE_GET_ALL_NAVIGATION_ITEMS`       |
        | Get ui API apps user nav items | Get personalized navigation items for a specific Salesforce app. | `SALESFORCE_GET_UI_API_APPS_USER_NAV_ITEMS` |
      </Accordion>

      <Accordion title="Jobs (3)">
        | Action                | What it does                                                           | Slug                               |
        | --------------------- | ---------------------------------------------------------------------- | ---------------------------------- |
        | Create bulk query job |                                                                        | `SALESFORCE_CREATE_BULK_QUERY_JOB` |
        | Get query job info    | Retrieve information about a Salesforce Bulk API v2 query job.         | `SALESFORCE_GET_QUERY_JOB_INFO`    |
        | Get query job results | Retrieves results for a completed Bulk API v2 query job in CSV format. | `SALESFORCE_GET_QUERY_JOB_RESULTS` |
      </Accordion>

      <Accordion title="Leads (5)">
        | Action                                    | What it does                                                                                                               | Slug                                                   |
        | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
        | Get lead                                  | Retrieves a specific lead by ID from Salesforce, returning all available fields.                                           | `SALESFORCE_GET_LEAD`                                  |
        | List leads                                | Lists leads from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection.                   | `SALESFORCE_LIST_LEADS`                                |
        | Retrieve lead by ID                       | Retrieves details for a Salesforce Lead by its ID.                                                                         | `SALESFORCE_RETRIEVE_LEAD_BY_ID`                       |
        | Retrieve lead data with various responses | DEPRECATED: Retrieves Lead sObject data from Salesforce, such as recently viewed leads or general Lead object information. | `SALESFORCE_RETRIEVE_LEAD_DATA_WITH_VARIOUS_RESPONSES` |
        | Search leads                              | Search for Salesforce leads using criteria like name, email, phone, company, title, status, or lead source.                | `SALESFORCE_SEARCH_LEADS`                              |
      </Accordion>

      <Accordion title="Lists (3)">
        | Action                                 | What it does                                                     | Slug                                                |
        | -------------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------- |
        | Get related list actions               | Get actions on related lists for record detail pages.            | `SALESFORCE_GET_RELATED_LIST_ACTIONS`               |
        | Get ui API actions record related list | Get available actions on related lists for a record detail page. | `SALESFORCE_GET_UI_API_ACTIONS_RECORD_RELATED_LIST` |
        | Get ui API list info recent            | Get list views for a Salesforce object.                          | `SALESFORCE_GET_UI_API_LIST_INFO_RECENT`            |
      </Accordion>

      <Accordion title="Notes (4)">
        | Action                     | What it does                                                                                                          | Slug                                    |
        | -------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
        | Get note                   | Retrieves a specific note by ID from Salesforce, returning all available fields.                                      | `SALESFORCE_GET_NOTE`                   |
        | Get note by ID with fields | DEPRECATED: Retrieves a Salesforce Note object by its ID, optionally specifying which fields to return.               | `SALESFORCE_GET_NOTE_BY_ID_WITH_FIELDS` |
        | List notes                 | Lists notes from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection.              | `SALESFORCE_LIST_NOTES`                 |
        | Search notes               | Search for Salesforce notes using multiple criteria like title, body content, parent record, owner, or creation date. | `SALESFORCE_SEARCH_NOTES`               |
      </Accordion>

      <Accordion title="Objects (16)">
        | Action                                    | What it does                                                                                                                                                   | Slug                                                       |
        | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
        | Get all custom objects                    | Retrieves all Salesforce objects (standard and custom) with detailed metadata.                                                                                 | `SALESFORCE_GET_ALL_CUSTOM_OBJECTS`                        |
        | Get composite sobjects                    | Retrieves multiple records of the same object type by IDs with a request body.                                                                                 | `SALESFORCE_GET_COMPOSITE_SOBJECTS`                        |
        | Get s object quick action default values  | Retrieves default field values for a quick action in a specific record context.                                                                                | `SALESFORCE_GET_S_OBJECT_QUICK_ACTION_DEFAULT_VALUES`      |
        | Get s objects updated                     | Retrieve a list of sObject records that have been updated within a given timeframe.                                                                            | `SALESFORCE_GET_S_OBJECTS_UPDATED`                         |
        | Get sobject by external ID                | Retrieve a Salesforce record by matching an external ID field value.                                                                                           | `SALESFORCE_GET_SOBJECT_BY_EXTERNAL_ID`                    |
        | Get sobject describe approvallayouts      | Retrieves approval layouts for a specified Salesforce object.                                                                                                  | `SALESFORCE_GET_SOBJECTS_SOBJECT_DESCRIBE_APPROVALLAYOUTS` |
        | Get sobject platformaction                | Retrieves metadata description of PlatformAction SObject.                                                                                                      | `SALESFORCE_GET_SOBJECT_PLATFORMACTION`                    |
        | Get sobject quick action default values   | Retrieves default field values for a specific quick action on an sObject.                                                                                      | `SALESFORCE_GET_SOBJECT_QUICK_ACTION_DEFAULT_VALUES`       |
        | Get sobject relationship                  | Retrieves records by traversing sObject relationships using friendly URLs.                                                                                     | `SALESFORCE_GET_SOBJECT_RELATIONSHIP`                      |
        | Get supported objects directory           | Get a Salesforce org's active theme and directory of supported objects.                                                                                        | `SALESFORCE_GET_SUPPORTED_OBJECTS_DIRECTORY`               |
        | Head process rules s object               | Return HTTP headers for process rules of an sObject without retrieving the response body.                                                                      | `SALESFORCE_HEAD_PROCESS_RULES_S_OBJECT`                   |
        | Head sobject quick action default values  | Return HTTP headers for sObject quick action default values by context ID without response body.                                                               | `SALESFORCE_HEAD_SOBJECT_QUICK_ACTION_DEFAULT_VALUES`      |
        | Head sobjects global describe layouts     | Return HTTP headers for all global publisher layouts without response body.                                                                                    | `SALESFORCE_HEAD_SOBJECTS_GLOBAL_DESCRIBE_LAYOUTS`         |
        | Head sobjects quick action                | Return HTTP headers for a specific sObject quick action without response body.                                                                                 | `SALESFORCE_HEAD_SOBJECTS_QUICK_ACTION`                    |
        | Retrieve note object information          | DEPRECATED: Retrieves comprehensive metadata for the Salesforce 'Note' SObject, if it is enabled and accessible, to understand its structure and capabilities. | `SALESFORCE_RETRIEVE_NOTE_OBJECT_INFORMATION`              |
        | Retrieve specific campaign object details | DEPRECATED: Retrieves details for a specific Salesforce Campaign object by its ID, optionally limiting to specified fields.                                    | `SALESFORCE_RETRIEVE_SPECIFIC_CAMPAIGN_OBJECT_DETAILS`     |
      </Accordion>

      <Accordion title="Opportunities (5)">
        | Action                                          | What it does                                                                                                          | Slug                                                         |
        | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
        | Get opportunity                                 | Retrieves a specific opportunity by ID from Salesforce, returning all available fields.                               | `SALESFORCE_GET_OPPORTUNITY`                                 |
        | List opportunities                              | Lists opportunities from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection.      | `SALESFORCE_LIST_OPPORTUNITIES`                              |
        | Retrieve opportunities data                     | Retrieves all available Opportunity records, representing potential revenue-generating deals, from Salesforce.        | `SALESFORCE_RETRIEVE_OPPORTUNITIES_DATA`                     |
        | Retrieve opportunity by ID with optional fields | DEPRECATED: Retrieves a Salesforce Opportunity by its ID.                                                             | `SALESFORCE_RETRIEVE_OPPORTUNITY_BY_ID_WITH_OPTIONAL_FIELDS` |
        | Search opportunities                            | Search for Salesforce opportunities using multiple criteria like name, account, stage, amount, close date, or status. | `SALESFORCE_SEARCH_OPPORTUNITIES`                            |
      </Accordion>

      <Accordion title="Pages (1)">
        | Action                       | What it does                                | Slug                                      |
        | ---------------------------- | ------------------------------------------- | ----------------------------------------- |
        | Get record edit page actions | Get available actions on record edit pages. | `SALESFORCE_GET_RECORD_EDIT_PAGE_ACTIONS` |
      </Accordion>

      <Accordion title="Photos (1)">
        | Action            | What it does                                           | Slug                           |
        | ----------------- | ------------------------------------------------------ | ------------------------------ |
        | Get photo actions | Retrieve available photo actions for Salesforce pages. | `SALESFORCE_GET_PHOTO_ACTIONS` |
      </Accordion>

      <Accordion title="Price books (1)">
        | Action          | What it does                                                                                                  | Slug                         |
        | --------------- | ------------------------------------------------------------------------------------------------------------- | ---------------------------- |
        | List pricebooks | Lists pricebooks from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_PRICEBOOKS` |
      </Accordion>

      <Accordion title="Queries (2)">
        | Action             | What it does                                          | Slug                            |
        | ------------------ | ----------------------------------------------------- | ------------------------------- |
        | Execute soql query | DEPRECATED: Use SALESFORCE\_RUN\_SOQL\_QUERY instead. | `SALESFORCE_EXECUTE_SOQL_QUERY` |
        | Run soql query     | Executes a SOQL query against Salesforce data.        | `SALESFORCE_RUN_SOQL_QUERY`     |
      </Accordion>

      <Accordion title="Records (11)">
        | Action                             | What it does                                                                                        | Slug                                            |
        | ---------------------------------- | --------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
        | Get a batch of records             | Retrieve multiple Salesforce records in a single request with customizable field selection.         | `SALESFORCE_GET_A_BATCH_OF_RECORDS`             |
        | Get child records                  | Get child records for a specified parent record and child relationship name.                        | `SALESFORCE_GET_CHILD_RECORDS`                  |
        | Get job failed record results      | Retrieve failed records from a Salesforce Bulk API 2.0 ingest job.                                  | `SALESFORCE_GET_JOB_FAILED_RECORD_RESULTS`      |
        | Get job successful record results  | Retrieve successfully processed records from a Salesforce Bulk API 2.0 ingest job.                  | `SALESFORCE_GET_JOB_SUCCESSFUL_RECORD_RESULTS`  |
        | Get job unprocessed record results | Retrieve unprocessed records from a Salesforce Bulk API 2.0 ingest job.                             | `SALESFORCE_GET_JOB_UNPROCESSED_RECORD_RESULTS` |
        | Get list view records by ID        | Returns record data for a list view by its ID.                                                      | `SALESFORCE_GET_LIST_VIEW_RECORDS_BY_ID`        |
        | Get list view records by name      | Retrieves paginated record data for a specified list view using the object and list view API names. | `SALESFORCE_GET_LIST_VIEW_RECORDS_BY_NAME`      |
        | Get mru list view records          | Retrieve record data for an object's most recently used (MRU) list view.                            | `SALESFORCE_GET_MRU_LIST_VIEW_RECORDS`          |
        | Get record counts                  | Retrieve total record counts for specified Salesforce objects.                                      | `SALESFORCE_GET_RECORD_COUNTS`                  |
        | Get s object record                | Retrieve a single Salesforce record by ID from any sObject type.                                    | `SALESFORCE_GET_S_OBJECT_RECORD`                |
        | Get ui API record ui               | Retrieve layout, field metadata, and record data in a single response.                              | `SALESFORCE_GET_UI_API_RECORD_UI`               |
      </Accordion>

      <Accordion title="Reports (6)">
        | Action              | What it does                                                                                                                                                                                                    | Slug                             |
        | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- |
        | Get report          | Gets detailed metadata for a specific report including its structure, columns, filters, and groupings.                                                                                                          | `SALESFORCE_GET_REPORT`          |
        | Get report instance | Gets the results of a report instance created by running a report.                                                                                                                                              | `SALESFORCE_GET_REPORT_INSTANCE` |
        | List reports        | Lists all reports available in Salesforce with basic metadata including name, ID, and URLs.                                                                                                                     | `SALESFORCE_LIST_REPORTS`        |
        | Query report        | DEPRECATED: Executes a Salesforce report synchronously by its id and reportType, optionally with dynamic ad-hoc adjustments like filters or groupings, and returns its data without modifying the saved report. | `SALESFORCE_QUERY_REPORT`        |
        | Run report          | Runs a report and returns the results.                                                                                                                                                                          | `SALESFORCE_RUN_REPORT`          |
        | Run report async    |                                                                                                                                                                                                                 | `SALESFORCE_RUN_REPORT_ASYNC`    |
      </Accordion>

      <Accordion title="Resources (2)">
        | Action                  | What it does                                                    | Slug                                 |
        | ----------------------- | --------------------------------------------------------------- | ------------------------------------ |
        | Get chatter resources   | Access Chatter resources directory.                             | `SALESFORCE_GET_CHATTER_RESOURCES`   |
        | Get composite resources | Retrieve a list of available composite resources in Salesforce. | `SALESFORCE_GET_COMPOSITE_RESOURCES` |
      </Accordion>

      <Accordion title="Settings (2)">
        | Action                             | What it does                                                        | Slug                                            |
        | ---------------------------------- | ------------------------------------------------------------------- | ----------------------------------------------- |
        | Get related list preferences batch | Get a batch of related list user preferences from Salesforce.       | `SALESFORCE_GET_RELATED_LIST_PREFERENCES_BATCH` |
        | Get uiapi related list preferences | Retrieve user preferences for a specific related list on an object. | `SALESFORCE_GET_UIAPI_RELATED_LIST_PREFERENCES` |
      </Accordion>

      <Accordion title="Tasks (1)">
        | Action       | What it does                                                                                                                  | Slug                      |
        | ------------ | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
        | Search tasks | Search for Salesforce tasks using multiple criteria like subject, status, priority, assigned user, related records, or dates. | `SALESFORCE_SEARCH_TASKS` |
      </Accordion>

      <Accordion title="Templates (2)">
        | Action                   | What it does                                                                          | Slug                                  |
        | ------------------------ | ------------------------------------------------------------------------------------- | ------------------------------------- |
        | List analytics templates | List CRM Analytics templates available in the org.                                    | `SALESFORCE_LIST_ANALYTICS_TEMPLATES` |
        | List email templates     | Lists available email templates in Salesforce with filtering and search capabilities. | `SALESFORCE_LIST_EMAIL_TEMPLATES`     |
      </Accordion>

      <Accordion title="Types (2)">
        | Action                                        | What it does                                                                        | Slug                                                       |
        | --------------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------- |
        | Get picklist values by record type            | Get values for all picklist fields of a record type, including dependent picklists. | `SALESFORCE_GET_PICKLIST_VALUES_BY_RECORD_TYPE`            |
        | Get s objects describe layouts record type ID | Retrieve layout metadata for a specific record type on an object.                   | `SALESFORCE_GET_S_OBJECTS_DESCRIBE_LAYOUTS_RECORD_TYPE_ID` |
      </Accordion>

      <Accordion title="Usage (1)">
        | Action         | What it does                                                     | Slug                        |
        | -------------- | ---------------------------------------------------------------- | --------------------------- |
        | Get org limits | Retrieve organization limits with max and remaining allocations. | `SALESFORCE_GET_ORG_LIMITS` |
      </Accordion>

      <Accordion title="Users (3)">
        | Action                      | What it does                                                                   | Slug                                     |
        | --------------------------- | ------------------------------------------------------------------------------ | ---------------------------------------- |
        | Get user info               | Retrieves information about the current user or a specific user in Salesforce. | `SALESFORCE_GET_USER_INFO`               |
        | Head sobjects user password | Return HTTP headers for User password resource without response body.          | `SALESFORCE_HEAD_SOBJECTS_USER_PASSWORD` |
        | Sobject user password       | Check whether a Salesforce user's password has expired.                        | `SALESFORCE_SOBJECT_USER_PASSWORD`       |
      </Accordion>

      <Accordion title="Views (8)">
        | Action                         | What it does                                                            | Slug                                        |
        | ------------------------------ | ----------------------------------------------------------------------- | ------------------------------------------- |
        | Get list view actions          | Retrieve header actions on list views.                                  | `SALESFORCE_GET_LIST_VIEW_ACTIONS`          |
        | Get list view metadata batch   | Retrieve metadata for multiple list views in a single batch request.    | `SALESFORCE_GET_LIST_VIEW_METADATA_BATCH`   |
        | Get list view metadata by name | Returns list view metadata by object and list view API name.            | `SALESFORCE_GET_LIST_VIEW_METADATA_BY_NAME` |
        | Get list view results          | Retrieves the results of a list view for a specified sObject.           | `SALESFORCE_GET_LIST_VIEW_RESULTS`          |
        | Get mru list view metadata     | Retrieve MRU list view metadata for a Salesforce object.                | `SALESFORCE_GET_MRU_LIST_VIEW_METADATA`     |
        | Get object list views          | Returns a collection of list views associated with a Salesforce object. | `SALESFORCE_GET_OBJECT_LIST_VIEWS`          |
        | Get sobject list view          | Retrieve basic information about a specific list view for an sObject.   | `SALESFORCE_GET_SOBJECT_LIST_VIEW`          |
        | Get sobject list views         | Retrieve list views for a specified sObject.                            | `SALESFORCE_GET_SOBJECT_LIST_VIEWS`         |
      </Accordion>

      <Accordion title="Other actions (23)">
        | Action                          | What it does                                                                                        | Slug                                         |
        | ------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------- |
        | Execute sosl search             | Execute a SOSL search to search across multiple Salesforce objects.                                 | `SALESFORCE_EXECUTE_SOSL_SEARCH`             |
        | Get API                         | Discover available REST API resources for a specified Salesforce API version.                       | `SALESFORCE_GET_API`                         |
        | Get compact layouts             | Retrieve compact layout information for multiple Salesforce objects.                                | `SALESFORCE_GET_COMPACT_LAYOUTS`             |
        | Get consent action              | Retrieve aggregated consent preferences across multiple records for a specific action.              | `SALESFORCE_GET_CONSENT_ACTION`              |
        | Get global actions              | Retrieve actions displayed in the Salesforce Global Actions menu with metadata.                     | `SALESFORCE_GET_GLOBAL_ACTIONS`              |
        | Get quick actions               | Retrieve global and object-specific quick actions from Salesforce.                                  | `SALESFORCE_GET_QUICK_ACTIONS`               |
        | Get search layout               | Retrieves search result layout information for specified sObjects.                                  | `SALESFORCE_GET_SEARCH_LAYOUT`               |
        | Get search suggestions          | Returns a list of suggested searches based on the user's query string.                              | `SALESFORCE_GET_SEARCH_SUGGESTIONS`          |
        | Get support                     | Retrieves the root of the Support Knowledge REST API.                                               | `SALESFORCE_GET_SUPPORT`                     |
        | Get theme                       | Get icons and colors for Salesforce UI themes.                                                      | `SALESFORCE_GET_THEME`                       |
        | Head actions custom             | Return HTTP headers for custom invocable actions without response body.                             | `SALESFORCE_HEAD_ACTIONS_CUSTOM`             |
        | Head actions standard           | Return HTTP headers for standard invocable actions metadata without response body.                  | `SALESFORCE_HEAD_ACTIONS_STANDARD`           |
        | Head appmenu salesforce1        | Return HTTP headers for AppMenu Salesforce1 mobile navigation items without response body.          | `SALESFORCE_HEAD_APPMENU_SALESFORCE1`        |
        | Head quick actions              | Return HTTP headers for Quick Actions resource without response body.                               | `SALESFORCE_HEAD_QUICK_ACTIONS`              |
        | List custom invocable actions   | Retrieves the list of custom actions including Flow actions, Apex actions, and invocable processes. | `SALESFORCE_LIST_CUSTOM_INVOCABLE_ACTIONS`   |
        | List standard invocable actions | Retrieves the list of standard actions that can be statically invoked.                              | `SALESFORCE_LIST_STANDARD_INVOCABLE_ACTIONS` |
        | Parameterized search            | Execute RESTful search using parameters instead of SOSL clause.                                     | `SALESFORCE_PARAMETERIZED_SEARCH`            |
        | Post parameterized search       | Execute parameterized search across Salesforce objects with advanced filtering.                     | `SALESFORCE_POST_PARAMETERIZED_SEARCH`       |
        | Query                           | DEPRECATED: Use SALESFORCE\_RUN\_SOQL\_QUERY instead.                                               | `SALESFORCE_QUERY`                           |
        | Query all                       | Execute SOQL queries including soft-deleted and archived records.                                   | `SALESFORCE_QUERY_ALL`                       |
        | Query more                      |                                                                                                     | `SALESFORCE_QUERY_MORE`                      |
        | Search                          | DEPRECATED: Use SALESFORCE\_EXECUTE\_SOSL\_SEARCH instead.                                          | `SALESFORCE_SEARCH`                          |
        | Tooling query                   | Execute SOQL queries against Salesforce Tooling API metadata objects.                               | `SALESFORCE_TOOLING_QUERY`                   |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Read + write (recommended)">
    Agents can use 206 of the 224 Salesforce actions at this level: everything in **Read-only**, plus:

    * Create and update records
    * Create and update contacts
    * Create and update objects
    * Create and update leads
    * Create and update opportunities
    * Create and update campaigns
    * Send emails
    * Create and update notes
    * Create and update tasks
    * Create and update account details
    * Update settings
    * Manage activities

    The 63 actions that this level adds to **Read-only**:

    <AccordionGroup>
      <Accordion title="Account details (4)">
        | Action                                    | What it does                                                                              | Slug                                                   |
        | ----------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------ |
        | Account creation with content type option | DEPRECATED: Creates a new Salesforce Account using a JSON POST request, requiring 'Name'. | `SALESFORCE_ACCOUNT_CREATION_WITH_CONTENT_TYPE_OPTION` |
        | Create account                            | Creates a new account in Salesforce with the specified information.                       | `SALESFORCE_CREATE_ACCOUNT`                            |
        | Update account                            | Updates an existing account in Salesforce with the specified changes.                     | `SALESFORCE_UPDATE_ACCOUNT`                            |
        | Who am I                                  |                                                                                           | `SALESFORCE_WHO_AM_I`                                  |
      </Accordion>

      <Accordion title="Activities (1)">
        | Action             | What it does                                                                                             | Slug                            |
        | ------------------ | -------------------------------------------------------------------------------------------------------- | ------------------------------- |
        | Log email activity | Creates an EmailMessage record to log email activity in Salesforce, associating it with related records. | `SALESFORCE_LOG_EMAIL_ACTIVITY` |
      </Accordion>

      <Accordion title="Calls (1)">
        | Action   | What it does                                                                                                         | Slug                  |
        | -------- | -------------------------------------------------------------------------------------------------------------------- | --------------------- |
        | Log call | Logs a completed phone call as a task in Salesforce with call-specific details like duration, type, and disposition. | `SALESFORCE_LOG_CALL` |
      </Accordion>

      <Accordion title="Campaigns (3)">
        | Action                          | What it does                                                                                                                      | Slug                                         |
        | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
        | Create campaign                 | Creates a new campaign in Salesforce.                                                                                             | `SALESFORCE_CREATE_CAMPAIGN`                 |
        | Update campaign                 | Updates an existing campaign in Salesforce with the specified changes.                                                            | `SALESFORCE_UPDATE_CAMPAIGN`                 |
        | Update campaign by ID with JSON | DEPRECATED: Updates specific fields of an existing Campaign in Salesforce, identified by its unique id, which must already exist. | `SALESFORCE_UPDATE_CAMPAIGN_BY_ID_WITH_JSON` |
      </Accordion>

      <Accordion title="Code (1)">
        | Action              | What it does                                                              | Slug                             |
        | ------------------- | ------------------------------------------------------------------------- | -------------------------------- |
        | Create sobject tree | Create one or more sObject trees with root records of the specified type. | `SALESFORCE_CREATE_SOBJECT_TREE` |
      </Accordion>

      <Accordion title="Contacts (6)">
        | Action                              | What it does                                                                                   | Slug                                             |
        | ----------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------ |
        | Add contact to campaign             | Adds a contact to a campaign by creating a CampaignMember record to track campaign engagement. | `SALESFORCE_ADD_CONTACT_TO_CAMPAIGN`             |
        | Associate contact to account        | Associates a contact with an account by updating the contact's AccountId field.                | `SALESFORCE_ASSOCIATE_CONTACT_TO_ACCOUNT`        |
        | Create contact                      | Creates a new contact in Salesforce with the specified information.                            | `SALESFORCE_CREATE_CONTACT`                      |
        | Create new contact with JSON header | DEPRECATED: Creates a new Contact in Salesforce.                                               | `SALESFORCE_CREATE_NEW_CONTACT_WITH_JSON_HEADER` |
        | Update contact                      | Updates an existing contact in Salesforce with the specified changes.                          | `SALESFORCE_UPDATE_CONTACT`                      |
        | Update contact by ID                | DEPRECATED: Updates specified fields of an existing Salesforce Contact by its ID.              | `SALESFORCE_UPDATE_CONTACT_BY_ID`                |
      </Accordion>

      <Accordion title="Custom fields (1)">
        | Action              | What it does                                                        | Slug                             |
        | ------------------- | ------------------------------------------------------------------- | -------------------------------- |
        | Create custom field | Create a custom field on a Salesforce object using the Tooling API. | `SALESFORCE_CREATE_CUSTOM_FIELD` |
      </Accordion>

      <Accordion title="Emails (3)">
        | Action                   | What it does                                                                                              | Slug                                  |
        | ------------------------ | --------------------------------------------------------------------------------------------------------- | ------------------------------------- |
        | Send email               | Sends an email through Salesforce with options for recipients, attachments, and activity logging.         | `SALESFORCE_SEND_EMAIL`               |
        | Send email from template | Sends an email using a predefined Salesforce email template with merge field support.                     | `SALESFORCE_SEND_EMAIL_FROM_TEMPLATE` |
        | Send mass email          | Sends bulk emails to multiple recipients immediately and irreversibly using a template or custom content. | `SALESFORCE_SEND_MASS_EMAIL`          |
      </Accordion>

      <Accordion title="Favorites (1)">
        | Action          | What it does                                         | Slug                         |
        | --------------- | ---------------------------------------------------- | ---------------------------- |
        | Update favorite | Update a favorite's properties in Salesforce UI API. | `SALESFORCE_UPDATE_FAVORITE` |
      </Accordion>

      <Accordion title="Files (1)">
        | Action      | What it does                                                     | Slug                     |
        | ----------- | ---------------------------------------------------------------- | ------------------------ |
        | Upload file | Upload a file to Salesforce Files home via the Connect REST API. | `SALESFORCE_UPLOAD_FILE` |
      </Accordion>

      <Accordion title="Jobs (3)">
        | Action                 | What it does                                            | Slug                                |
        | ---------------------- | ------------------------------------------------------- | ----------------------------------- |
        | Close or abort job     | Close or abort a Salesforce Bulk API v2 ingest job.     | `SALESFORCE_CLOSE_OR_ABORT_JOB`     |
        | Create bulk ingest job |                                                         | `SALESFORCE_CREATE_BULK_INGEST_JOB` |
        | Upload job data        | Upload CSV data to a Salesforce Bulk API v2 ingest job. | `SALESFORCE_UPLOAD_JOB_DATA`        |
      </Accordion>

      <Accordion title="Leads (5)">
        | Action                                  | What it does                                                                                                                                                          | Slug                                                 |
        | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
        | Add lead to campaign                    | Adds a lead to a campaign by creating a CampaignMember record, allowing you to track campaign engagement.                                                             | `SALESFORCE_ADD_LEAD_TO_CAMPAIGN`                    |
        | Create lead                             | Creates a new lead in Salesforce.                                                                                                                                     | `SALESFORCE_CREATE_LEAD`                             |
        | Create lead with specified content type | DEPRECATED: Creates a new Lead in Salesforce, requiring LastName and Company unless person accounts are enabled and Company is null.                                  | `SALESFORCE_CREATE_LEAD_WITH_SPECIFIED_CONTENT_TYPE` |
        | Update lead                             | Updates an existing lead in Salesforce with the specified changes.                                                                                                    | `SALESFORCE_UPDATE_LEAD`                             |
        | Update lead by ID with JSON payload     | DEPRECATED: Updates specified fields of an existing Lead in Salesforce via its unique ID (path parameter), returning HTTP 204 on success or error details on failure. | `SALESFORCE_UPDATE_LEAD_BY_ID_WITH_JSON_PAYLOAD`     |
      </Accordion>

      <Accordion title="Line items (1)">
        | Action                    | What it does                                  | Slug                                   |
        | ------------------------- | --------------------------------------------- | -------------------------------------- |
        | Add opportunity line item | Adds a product (line item) to an opportunity. | `SALESFORCE_ADD_OPPORTUNITY_LINE_ITEM` |
      </Accordion>

      <Accordion title="Notes (3)">
        | Action                     | What it does                                                                             | Slug                                    |
        | -------------------------- | ---------------------------------------------------------------------------------------- | --------------------------------------- |
        | Create note                | Creates a new note attached to a Salesforce record with the specified title and content. | `SALESFORCE_CREATE_NOTE`                |
        | Update note                | Updates an existing note in Salesforce with the specified changes.                       | `SALESFORCE_UPDATE_NOTE`                |
        | Update specific note by ID | DEPRECATED: Use update\_specific\_note\_by\_id instead.                                  | `SALESFORCE_UPDATE_SPECIFIC_NOTE_BY_ID` |
      </Accordion>

      <Accordion title="Objects (6)">
        | Action                        | What it does                                                                                               | Slug                                       |
        | ----------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
        | Create custom object          | Create a custom object in Salesforce using the Metadata API.                                               | `SALESFORCE_CREATE_CUSTOM_OBJECT`          |
        | Execute sobject quick action  | Execute a specific quick action on an sObject to create records with pre-configured defaults.              | `SALESFORCE_EXECUTE_SOBJECT_QUICK_ACTION`  |
        | Patch composite sobjects      | Upsert up to 200 records using external ID field matching.                                                 | `SALESFORCE_PATCH_COMPOSITE_SOBJECTS`      |
        | Post composite sobjects       | Create up to 200 records in one request using sObject Collections.                                         | `SALESFORCE_POST_COMPOSITE_SOBJECTS`       |
        | Update account object by ID   | DEPRECATED: Updates specified fields of an existing Salesforce Account object identified by its unique ID. | `SALESFORCE_UPDATE_ACCOUNT_OBJECT_BY_ID`   |
        | Upsert sobject by external ID | Upsert records using sObject Rows by External ID.                                                          | `SALESFORCE_UPSERT_SOBJECT_BY_EXTERNAL_ID` |
      </Accordion>

      <Accordion title="Opportunities (4)">
        | Action                          | What it does                                                                          | Slug                                         |
        | ------------------------------- | ------------------------------------------------------------------------------------- | -------------------------------------------- |
        | Clone opportunity with products | Clones an opportunity and optionally its products (line items).                       | `SALESFORCE_CLONE_OPPORTUNITY_WITH_PRODUCTS` |
        | Create opportunity              | Creates a new opportunity in Salesforce with the specified information.               | `SALESFORCE_CREATE_OPPORTUNITY`              |
        | Update opportunity              | Updates an existing opportunity in Salesforce with the specified changes.             | `SALESFORCE_UPDATE_OPPORTUNITY`              |
        | Update opportunity by ID        | DEPRECATED: Updates specified fields of an existing Salesforce Opportunity by its ID. | `SALESFORCE_UPDATE_OPPORTUNITY_BY_ID`        |
      </Accordion>

      <Accordion title="Records (7)">
        | Action                                      | What it does                                                                                                                                                                      | Slug                                                     |
        | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
        | Clone record                                | Creates a copy of an existing Salesforce record by reading its data, removing system fields, and creating a new record.                                                           | `SALESFORCE_CLONE_RECORD`                                |
        | Create a record                             | Create a Salesforce record using the UI API.                                                                                                                                      | `SALESFORCE_CREATE_A_RECORD`                             |
        | Create campaign record via post             | DEPRECATED: Creates a new campaign record in Salesforce.                                                                                                                          | `SALESFORCE_CREATE_CAMPAIGN_RECORD_VIA_POST`             |
        | Create note record with content type header | DEPRECATED: Creates a new Note record in Salesforce, associated with an existing Salesforce object via ParentId, automatically including a Content-Type: application/json header. | `SALESFORCE_CREATE_NOTE_RECORD_WITH_CONTENT_TYPE_HEADER` |
        | Create opportunity record                   | DEPRECATED: Creates a new Opportunity record in Salesforce.                                                                                                                       | `SALESFORCE_CREATE_OPPORTUNITY_RECORD`                   |
        | Create s object record                      | Create a new Salesforce SObject record.                                                                                                                                           | `SALESFORCE_CREATE_S_OBJECT_RECORD`                      |
        | Update record                               | Update a record's data in Salesforce via UI API.                                                                                                                                  | `SALESFORCE_UPDATE_RECORD`                               |
      </Accordion>

      <Accordion title="Rows (1)">
        | Action              | What it does                                                     | Slug                             |
        | ------------------- | ---------------------------------------------------------------- | -------------------------------- |
        | Sobject rows update | Update specific fields in an existing Salesforce sObject record. | `SALESFORCE_SOBJECT_ROWS_UPDATE` |
      </Accordion>

      <Accordion title="Rules (1)">
        | Action                      | What it does                                                                                                                                       | Slug                                     |
        | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
        | Apply lead assignment rules | Applies configured lead assignment rules to a specific lead, automatically routing it to the appropriate owner based on your organization's rules. | `SALESFORCE_APPLY_LEAD_ASSIGNMENT_RULES` |
      </Accordion>

      <Accordion title="Settings (2)">
        | Action                          | What it does                                                                                                  | Slug                                         |
        | ------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
        | Update list view preferences    | Update user preferences for a Salesforce list view including column widths, text wrapping, and display order. | `SALESFORCE_UPDATE_LIST_VIEW_PREFERENCES`    |
        | Update related list preferences | Update user preferences for a specific related list on an object in Salesforce.                               | `SALESFORCE_UPDATE_RELATED_LIST_PREFERENCES` |
      </Accordion>

      <Accordion title="Tasks (3)">
        | Action        | What it does                                                                                                               | Slug                       |
        | ------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
        | Complete task | Marks a task as completed with optional completion notes.                                                                  | `SALESFORCE_COMPLETE_TASK` |
        | Create task   | Creates a new task in Salesforce to track activities, to-dos, and follow-ups related to contacts, leads, or other records. | `SALESFORCE_CREATE_TASK`   |
        | Update task   | Updates an existing task in Salesforce with new information.                                                               | `SALESFORCE_UPDATE_TASK`   |
      </Accordion>

      <Accordion title="Other actions (5)">
        | Action                      | What it does                                                                                                                          | Slug                                     |
        | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
        | Composite graph action      | DEPRECATED: Use SALESFORCE\_POST\_COMPOSITE\_GRAPH instead.                                                                           | `SALESFORCE_COMPOSITE_GRAPH_ACTION`      |
        | Execute global quick action |                                                                                                                                       | `SALESFORCE_EXECUTE_GLOBAL_QUICK_ACTION` |
        | Execute invocable action    |                                                                                                                                       | `SALESFORCE_EXECUTE_INVOCABLE_ACTION`    |
        | Mass transfer ownership     | Transfers ownership of multiple records to a new owner in a single operation using Salesforce's composite API for better performance. | `SALESFORCE_MASS_TRANSFER_OWNERSHIP`     |
        | Post composite graph        | Execute multiple related REST API requests in a single transactional call with up to 500 subrequests per graph.                       | `SALESFORCE_POST_COMPOSITE_GRAPH`        |
      </Accordion>
    </AccordionGroup>
  </Accordion>

  <Accordion title="Full access">
    Agents can use 224 of the 224 Salesforce actions at this level: everything in **Read + write**, plus:

    * Delete objects
    * Delete account details
    * Delete contacts
    * Delete opportunities
    * Delete campaigns
    * Delete collections
    * Delete files
    * Delete leads
    * Delete notes
    * Delete queries

    The 18 actions that this level adds to **Read + write**:

    | Works on            | Action                              | What it does                                                                                                                         | Slug                                             |
    | ------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ |
    | **Account details** | Delete account                      | Permanently deletes an account from Salesforce.                                                                                      | `SALESFORCE_DELETE_ACCOUNT`                      |
    |                     | Remove account by unique identifier | DEPRECATED: Deletes an existing Salesforce Account using its unique ID, returning an empty response on success (HTTP 204).           | `SALESFORCE_REMOVE_ACCOUNT_BY_UNIQUE_IDENTIFIER` |
    | **Campaigns**       | Delete campaign                     | Permanently deletes a campaign from Salesforce.                                                                                      | `SALESFORCE_DELETE_CAMPAIGN`                     |
    |                     | Remove from campaign                | Removes a lead or contact from a campaign by deleting the CampaignMember record.                                                     | `SALESFORCE_REMOVE_FROM_CAMPAIGN`                |
    | **Collections**     | Delete sobject collections          | Delete up to 200 records in one request with optional rollback.                                                                      | `SALESFORCE_DELETE_SOBJECT_COLLECTIONS`          |
    | **Contacts**        | Delete contact                      | Permanently deletes a contact from Salesforce.                                                                                       | `SALESFORCE_DELETE_CONTACT`                      |
    |                     | Remove a specific contact by ID     | DEPRECATED: Permanently deletes a specific Contact from Salesforce using its unique ID, which must correspond to an existing record. | `SALESFORCE_REMOVE_A_SPECIFIC_CONTACT_BY_ID`     |
    | **Files**           | Delete file                         | Permanently delete a file from Salesforce.                                                                                           | `SALESFORCE_DELETE_FILE`                         |
    | **Leads**           | Delete lead                         | Permanently deletes a lead from Salesforce.                                                                                          | `SALESFORCE_DELETE_LEAD`                         |
    | **Notes**           | Delete note                         | Permanently deletes a note from Salesforce.                                                                                          | `SALESFORCE_DELETE_NOTE`                         |
    | **Objects**         | Delete a lead object by its ID      | DEPRECATED: Permanently deletes an existing Lead object from Salesforce using its unique ID.                                         | `SALESFORCE_DELETE_A_LEAD_OBJECT_BY_ITS_ID`      |
    |                     | Delete sobject                      | Delete a single Salesforce record by its ID.                                                                                         | `SALESFORCE_DELETE_SOBJECT`                      |
    |                     | Remove campaign object by ID        | DEPRECATED: Permanently deletes a specific Campaign SObject in Salesforce using its unique ID.                                       | `SALESFORCE_REMOVE_CAMPAIGN_OBJECT_BY_ID`        |
    |                     | Remove note object by ID            | DEPRECATED: Permanently deletes an existing Salesforce Note object identified by its unique ID.                                      | `SALESFORCE_REMOVE_NOTE_OBJECT_BY_ID`            |
    | **Opportunities**   | Delete opportunity                  | Permanently deletes an opportunity from Salesforce.                                                                                  | `SALESFORCE_DELETE_OPPORTUNITY`                  |
    |                     | Remove opportunity by ID            | DEPRECATED: Permanently deletes an existing Salesforce Opportunity by its ID.                                                        | `SALESFORCE_REMOVE_OPPORTUNITY_BY_ID`            |
    | **Queries**         | Delete job query                    | Delete a Salesforce Bulk API v2 query job.                                                                                           | `SALESFORCE_DELETE_JOB_QUERY`                    |
    | **Users**           | Set user password                   | Set or reset a user's password in Salesforce.                                                                                        | `SALESFORCE_SET_USER_PASSWORD`                   |
  </Accordion>
</AccordionGroup>

## Connect Salesforce

Before you start:

* You need a Salesforce account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Salesforce">
    Find **Salesforce** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Choose an access level">
    Under **Default scope**, choose an access level. This level applies to every agent.
  </Step>

  <Step title="Click Connect Salesforce">
    Click **Connect Salesforce**. The Salesforce sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Salesforce">
    Sign in to Salesforce and approve the request.
  </Step>
</Steps>

Check that it works: Salesforce shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Change the access level

1. Under **YOUR CONNECTIONS**, find the Salesforce account.
2. Open the account menu (⋯) and click **Manage scope**.
3. Under **Default scope**, choose the new level.
4. Click **Save access**.

The change does not need a new sign-in. Agents get the new level from their next call.

## Set access for one agent

Every agent uses the account's level unless you set something else for it. You can narrow one agent to a lower level, or block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Salesforce account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose the **Default** option to follow the account's level, choose a lower level, or choose **No access**.
5. Click **Save access**.

An agent never gets more than the account's level, even if you choose a higher level for it. Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Salesforce account

Click **+ Account** on the Salesforce card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* Each account has its own access level.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Salesforce side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Salesforce**.
3. Sign in to Salesforce and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Salesforce account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Salesforce account becomes primary.</Warning>

## Costs

Salesforce actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent reports that an action is not allowed on this account.

* Cause: the action is outside the account's access level, or outside the level you set for that agent.
* Fix: choose a higher level in **Manage scope**, or change the agent's row under **Per-agent access**.

An agent says it has no access to Salesforce, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Salesforce connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Salesforce?">
    Each Salesforce account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any agent action outside that level. You can also narrow or block single agents under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Salesforce account?">
    Click **+ Account** on the Salesforce card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Salesforce?">
    Open the account menu (⋯) on the Salesforce account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
