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

# Salesforce Integration for AI Agents & Workflows

> Salesforce CRM integration: SOQL/SOSL queries, record CRUD, and convenience helpers for Accounts, Contacts, Leads, Opportunities, Tasks, Cases, and Campaign membership.

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/salesforce.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=3d57358bd5cadbdb344fcbbeba43cc84" alt="Salesforce logo" width="72" height="72" data-path="logos/salesforce.svg" />

## Overview

Add **Salesforce** to any ModuleX agent or workflow. Salesforce CRM integration via the REST API (`v62.0`). Pure HTTP, no SDK dep. 16 actions: SOQL/SOSL queries, generic record CRUD, and convenience helpers for the common SObjects.

<Info>
  **Categories**: CRM · Sales · Customer Support · **Auth**: OAuth 2.0 (Connected App), Session ID / Access Token · **Actions**: 16
</Info>

## Authentication

<Tabs>
  <Tab title="OAuth 2.0 (Connected App)">
    ### OAuth 2.0 (Connected App)

    Authenticate via a Salesforce Connected App. Provides refresh tokens for long-lived access.

    #### Required Credentials

    | Field         | Description                   | Required | Format |
    | ------------- | ----------------------------- | -------- | ------ |
    | Client ID     | Connected App consumer key    | Yes      | `-`    |
    | Client Secret | Connected App consumer secret | Yes      | `-`    |

    #### OAuth Configuration

    * **Authorization URL**: `https://login.salesforce.com/services/oauth2/authorize`
    * **Token URL**: `https://login.salesforce.com/services/oauth2/token`
    * **Scopes**: `api`, `refresh_token`, `offline_access`
  </Tab>

  <Tab title="Session ID / Access Token">
    ### Session ID / Access Token

    Authenticate using a Salesforce Session ID or manually obtained Access Token. Useful for development.

    #### Required Credentials

    | Field                     | Description                                                                                                  | Required | Format                               |
    | ------------------------- | ------------------------------------------------------------------------------------------------------------ | -------- | ------------------------------------ |
    | Access Token / Session ID | Salesforce access token or session ID                                                                        | Yes      | `-`                                  |
    | Instance URL              | Your Salesforce instance URL (e.g. [https://your-org.my.salesforce.com](https://your-org.my.salesforce.com)) | Yes      | `https://your-org.my.salesforce.com` |
  </Tab>
</Tabs>

## Available Actions

<AccordionGroup>
  <Accordion title="soql_query — Execute a SOQL query (Salesforce Object Query Language)">
    ### Parameters

    <ResponseField name="query" type="string" required>
      SOQL query (e.g. 'SELECT Id, Name FROM Account LIMIT 10')
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "total_size": {
          "default": 0,
          "title": "Total Size",
          "type": "integer"
        },
        "done": {
          "default": true,
          "title": "Done",
          "type": "boolean"
        },
        "next_records_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Next Records Url"
        },
        "records": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Records",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "SoqlQueryOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="sosl_search — Execute a SOSL cross-object search">
    ### Parameters

    <ResponseField name="search" type="string" required>
      SOSL search (e.g. 'FIND \{test} IN ALL FIELDS RETURNING Account(Id, Name)')
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "search_records": {
          "default": null,
          "title": "Search Records"
        }
      },
      "required": [
        "success"
      ],
      "title": "SoslSearchOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_record — Get a record by object type + ID">
    ### Parameters

    <ResponseField name="object_type" type="string" required>
      Salesforce object type (e.g. Account, Contact, Lead)
    </ResponseField>

    <ResponseField name="record_id" type="string" required>
      Salesforce record ID
    </ResponseField>

    <ResponseField name="fields" type="array">
      Specific fields to return (all if omitted)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "result": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetRecordOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_record — Generic create — works for any object type">
    ### Parameters

    <ResponseField name="object_type" type="string" required>
      Salesforce object type (e.g. Account, Contact, Lead)
    </ResponseField>

    <ResponseField name="data" type="object" required>
      Record data as key-value pairs
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "object_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Object Type"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateRecordOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_record — PATCH an existing record">
    ### Parameters

    <ResponseField name="object_type" type="string" required>
      Salesforce object type (e.g. Account, Contact, Lead)
    </ResponseField>

    <ResponseField name="record_id" type="string" required>
      Salesforce record ID
    </ResponseField>

    <ResponseField name="data" type="object" required>
      Updated fields
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "object_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Object Type"
        },
        "updated": {
          "default": false,
          "title": "Updated",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateRecordOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_record — DELETE a record by object type + ID">
    ### Parameters

    <ResponseField name="object_type" type="string" required>
      Salesforce object type (e.g. Account, Contact, Lead)
    </ResponseField>

    <ResponseField name="record_id" type="string" required>
      Salesforce record ID
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "object_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Object Type"
        },
        "deleted": {
          "default": false,
          "title": "Deleted",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteRecordOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_account — Create an Account record">
    ### Parameters

    <ResponseField name="name" type="string" required>
      Account name
    </ResponseField>

    <ResponseField name="description" type="string">
      Description
    </ResponseField>

    <ResponseField name="website" type="string">
      Website URL
    </ResponseField>

    <ResponseField name="phone" type="string">
      Phone number
    </ResponseField>

    <ResponseField name="industry" type="string">
      Industry
    </ResponseField>

    <ResponseField name="annual_revenue" type="number">
      Annual revenue
    </ResponseField>

    <ResponseField name="number_of_employees" type="integer">
      Number of employees
    </ResponseField>

    <ResponseField name="billing_street" type="string">
      Billing street
    </ResponseField>

    <ResponseField name="billing_city" type="string">
      Billing city
    </ResponseField>

    <ResponseField name="billing_state" type="string">
      Billing state/province
    </ResponseField>

    <ResponseField name="billing_postal_code" type="string">
      Billing postal code
    </ResponseField>

    <ResponseField name="billing_country" type="string">
      Billing country
    </ResponseField>

    <ResponseField name="additional_fields" type="object">
      Additional custom fields
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateAccountOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_contact — Create a Contact record">
    ### Parameters

    <ResponseField name="last_name" type="string" required>
      Last name (required)
    </ResponseField>

    <ResponseField name="first_name" type="string">
      First name
    </ResponseField>

    <ResponseField name="account_id" type="string">
      Linked Account ID
    </ResponseField>

    <ResponseField name="email" type="string">
      Email address
    </ResponseField>

    <ResponseField name="phone" type="string">
      Phone number
    </ResponseField>

    <ResponseField name="mobile_phone" type="string">
      Mobile phone
    </ResponseField>

    <ResponseField name="title" type="string">
      Job title
    </ResponseField>

    <ResponseField name="department" type="string">
      Department
    </ResponseField>

    <ResponseField name="mailing_street" type="string">
      Mailing street
    </ResponseField>

    <ResponseField name="mailing_city" type="string">
      Mailing city
    </ResponseField>

    <ResponseField name="mailing_state" type="string">
      Mailing state
    </ResponseField>

    <ResponseField name="mailing_postal_code" type="string">
      Mailing postal code
    </ResponseField>

    <ResponseField name="mailing_country" type="string">
      Mailing country
    </ResponseField>

    <ResponseField name="additional_fields" type="object">
      Additional custom fields
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "last_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Name"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateContactOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_lead — Create a Lead record">
    ### Parameters

    <ResponseField name="last_name" type="string" required>
      Last name
    </ResponseField>

    <ResponseField name="company" type="string" required>
      Company
    </ResponseField>

    <ResponseField name="first_name" type="string">
      First name
    </ResponseField>

    <ResponseField name="email" type="string">
      Email
    </ResponseField>

    <ResponseField name="phone" type="string">
      Phone
    </ResponseField>

    <ResponseField name="title" type="string">
      Title
    </ResponseField>

    <ResponseField name="status" type="string">
      Status
    </ResponseField>

    <ResponseField name="rating" type="string">
      Rating
    </ResponseField>

    <ResponseField name="industry" type="string">
      Industry
    </ResponseField>

    <ResponseField name="annual_revenue" type="number">
      Annual revenue
    </ResponseField>

    <ResponseField name="lead_source" type="string">
      Lead source
    </ResponseField>

    <ResponseField name="additional_fields" type="object">
      Additional custom fields
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "last_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Name"
        },
        "company": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Company"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateLeadOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_opportunity — Create an Opportunity record">
    ### Parameters

    <ResponseField name="name" type="string" required>
      Opportunity name
    </ResponseField>

    <ResponseField name="stage_name" type="string" required>
      Stage
    </ResponseField>

    <ResponseField name="close_date" type="string" required>
      Expected close date (YYYY-MM-DD)
    </ResponseField>

    <ResponseField name="account_id" type="string">
      Account ID
    </ResponseField>

    <ResponseField name="amount" type="number">
      Amount
    </ResponseField>

    <ResponseField name="probability" type="integer">
      Probability % (0-100)
    </ResponseField>

    <ResponseField name="type" type="string">
      Type
    </ResponseField>

    <ResponseField name="lead_source" type="string">
      Lead source
    </ResponseField>

    <ResponseField name="description" type="string">
      Description
    </ResponseField>

    <ResponseField name="additional_fields" type="object">
      Additional custom fields
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateOpportunityOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_task — Create a Task record">
    ### Parameters

    <ResponseField name="subject" type="string" required>
      Task subject
    </ResponseField>

    <ResponseField name="status" type="string">
      Status (Not Started / In Progress / Completed / etc.) (Default: `Not Started`)
    </ResponseField>

    <ResponseField name="priority" type="string">
      Priority (Default: `Normal`)
    </ResponseField>

    <ResponseField name="activity_date" type="string">
      Due date (YYYY-MM-DD)
    </ResponseField>

    <ResponseField name="what_id" type="string">
      Related object ID (Account/Opportunity/etc.)
    </ResponseField>

    <ResponseField name="who_id" type="string">
      Related Lead/Contact ID
    </ResponseField>

    <ResponseField name="description" type="string">
      Description
    </ResponseField>

    <ResponseField name="additional_fields" type="object">
      Additional custom fields
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "subject": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subject"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateTaskOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_case — Create a Case record (support ticket)">
    ### Parameters

    <ResponseField name="subject" type="string" required>
      Case subject
    </ResponseField>

    <ResponseField name="status" type="string">
      Status (Default: `New`)
    </ResponseField>

    <ResponseField name="priority" type="string">
      Priority (Default: `Medium`)
    </ResponseField>

    <ResponseField name="origin" type="string">
      Origin (Email/Phone/Web/...)
    </ResponseField>

    <ResponseField name="account_id" type="string">
      Linked Account ID
    </ResponseField>

    <ResponseField name="contact_id" type="string">
      Linked Contact ID
    </ResponseField>

    <ResponseField name="description" type="string">
      Description
    </ResponseField>

    <ResponseField name="type" type="string">
      Case type
    </ResponseField>

    <ResponseField name="reason" type="string">
      Case reason
    </ResponseField>

    <ResponseField name="additional_fields" type="object">
      Additional custom fields
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "subject": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subject"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateCaseOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="add_contact_to_campaign — Create a CampaignMember linking a Contact to a Campaign">
    ### Parameters

    <ResponseField name="campaign_id" type="string" required>
      Campaign ID
    </ResponseField>

    <ResponseField name="contact_id" type="string" required>
      Contact ID
    </ResponseField>

    <ResponseField name="status" type="string">
      Member status
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "campaign_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Campaign Id"
        },
        "contact_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Contact Id"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "AddContactToCampaignOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="add_lead_to_campaign — Create a CampaignMember linking a Lead to a Campaign">
    ### Parameters

    <ResponseField name="campaign_id" type="string" required>
      Campaign ID
    </ResponseField>

    <ResponseField name="lead_id" type="string" required>
      Lead ID
    </ResponseField>

    <ResponseField name="status" type="string">
      Member status
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "campaign_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Campaign Id"
        },
        "lead_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Lead Id"
        },
        "created": {
          "default": true,
          "title": "Created",
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "title": "AddLeadToCampaignOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="describe_object — Describe an object type's fields + capabilities">
    ### Parameters

    <ResponseField name="object_type" type="string" required>
      Salesforce object type (e.g. Account, Contact, Lead)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "label": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Label"
        },
        "key_prefix": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Key Prefix"
        },
        "createable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Createable"
        },
        "updateable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Updateable"
        },
        "deletable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Deletable"
        },
        "queryable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Queryable"
        },
        "searchable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Searchable"
        },
        "fields": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Fields",
          "type": "array"
        },
        "field_count": {
          "default": 0,
          "title": "Field Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "DescribeObjectOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_objects — List all queryable Salesforce objects in the org">
    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "objects": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Objects",
          "type": "array"
        },
        "total_count": {
          "default": 0,
          "title": "Total Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListObjectsOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Related integrations

<CardGroup cols={3}>
  <Card title="Clay" href="/integrations/tools/clay" />

  <Card title="Dropcontact" href="/integrations/tools/dropcontact" />

  <Card title="HubSpot" href="/integrations/tools/hubspot" />
</CardGroup>

## Links

* [Salesforce](https://www.salesforce.com)
