---
title: "Salesforce Sales Cloud MCP server for AI agents - actionlake"
description: "Give Claude 193 Salesforce Sales Cloud actions through one MCP server: CRM, catalog, orders. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/salesforce-sales-cloud
updated: 2026-10-10
---

Connectors · CRM & sales

# Salesforce Sales Cloud MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Salesforce Sales Cloud and the rest of your systems. It gives your agent 193 Salesforce Sales Cloud actions (102 reads, 66 writes and 25 that wait for a confirmation) and holds the Salesforce Sales Cloud credential itself, so the agent never does. It paces Salesforce Sales Cloud's limits and records every call. Connecting Salesforce Sales Cloud needs your own Salesforce Sales Cloud OAuth app and one admin sign-in.

[Connect Salesforce Sales Cloud free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "salesforce_sobjects.users.list",
  intent: "check which Salesforce Sales Cloud account is connected"
}
# List Salesforce User records · read · 1 upstream call
```

- 193 actions in one signed file
- 102 read look, never change
- 66 write create and update
- 25 wait for a yes destructive, confirmed first

Set up

## Connect Salesforce Sales Cloud in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Salesforce Sales Cloud.
   OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Salesforce Sales Cloud, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
   Before the first sign-in, Salesforce Sales Cloud needs an OAuth app of your own, registered in its developer portal. actionlake has no Salesforce Sales Cloud app to lend you.
   - `access_token` Access token from one sign-in with your own OAuth app
   - `refresh_token` Refresh token from the same sign-in; the access token is renewed from it
   - `client_id` Salesforce connected app consumer key
   - `client_secret` Salesforce connected app consumer secret
   - `instance_host` Where your Salesforce Sales Cloud lives: your instance host
   ```
   account { op: "connections.requirements", service: "salesforce_sobjects" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "salesforce_sobjects.users.list" }
   # list salesforce user records · read · 1 upstream call
   check { action: "salesforce_sobjects.contacts.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Salesforce Sales Cloud at a glance

**Sign-in**

OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Salesforce Sales Cloud, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.

**You provide**

`access_token` `refresh_token` `client_id` `client_secret`

**Setup fields**

`instance_host`

**Limits we pace to**

100,000 calls a day, per connection

**API covered**

Salesforce Sales Cloud API 62.0, at your Salesforce Sales Cloud instance's API base URL, which you enter when connecting (path /services/data/v62.0)

**Built from**

Salesforce Sales Cloud's documentation, read 15 September 2026[resources.docs.salesforce.com](https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/api_rest.pdf)

**Service file**

Version 2.0.0, signed (Ed25519)

**Cached reads**

101 of 102 reads, for up to an hour; a write clears what it affects

**Ready-made plans**

8 in the store

**Shared entities**

12, so ask can line Salesforce Sales Cloud up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Salesforce Sales Cloud.

193 actions in 13 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **102** read look, never change
- **66** write create and update
- **25** destructive wait for a confirmation

1. ### CRM
   102
   62 read · 31 write · 9 destructive
   Create a Salesforce Contact · Create a Salesforce Account · Get one Salesforce Contact · Get one Salesforce Account
2. ### Catalog
   16
   6 read · 7 write · 3 destructive
   List Salesforce Product2 records · Create a Salesforce Product2 · Get one Salesforce Product2 · Update a Salesforce Product2
3. ### Orders
   11
   4 read · 5 write · 2 destructive
   List Salesforce Order records · Create a Salesforce Order · Get one Salesforce Order · Update a Salesforce Order
4. ### Quoting
   10
   4 read · 4 write · 2 destructive
   List Salesforce Quote records · Create a Salesforce Quote · Get one Salesforce Quote · Update a Salesforce Quote
5. ### Files
   9
   5 read · 2 write · 2 destructive
   List Salesforce ContentDocument records · Get one Salesforce ContentDocument · Delete a Salesforce ContentDocument
6. ### Directory
   7
   3 read · 3 write · 1 destructive
   List Salesforce User records · Create a Salesforce User · Get one Salesforce User · Update a Salesforce User
7. ### Helpdesk
   7
   3 read · 3 write · 1 destructive
   List Salesforce Case records · Create a Salesforce Case · Get one Salesforce Case · Update a Salesforce Case
8. ### Contracts
   6
   2 read · 3 write · 1 destructive
   List Salesforce Contract records · Create a Salesforce Contract · Get one Salesforce Contract · Update a Salesforce Contract

**5 more areas · 25 actions**

- Calendar **5**
- Notes **5**
- Tasks **5**
- Assets **5**
- Knowledge **5**

Top actions

## The Salesforce Sales Cloud API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 148 of Salesforce Sales Cloud's 151 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `salesforce_sobjects.users.list` List Salesforce User records | Query User records with SOQL, narrowed by an optional WHERE clause. | read | `identity.user.list` 474 connectors |
| `salesforce_sobjects.products.list` List Salesforce Product2 records | Query Product2 records with SOQL, narrowed by an optional WHERE clause. | read | `commerce.product.list` 112 connectors |
| `salesforce_sobjects.contacts.create` Create a Salesforce Contact | Insert one Contact record. Returns its new id. | write | `crm.contact.create` 161 connectors |
| `salesforce_sobjects.accounts.create` Create a Salesforce Account | Insert one Account record. Returns its new id. | write | `crm.company.create` 142 connectors |
| `salesforce_sobjects.tasks.list` List Salesforce Task records | Query Task records with SOQL, narrowed by an optional WHERE clause. | read | `crm.activity.list` 21 connectors |
| `salesforce_sobjects.orders.list` List Salesforce Order records | Query Order records with SOQL, narrowed by an optional WHERE clause. | read | `commerce.order.list` 82 connectors |
| `salesforce_sobjects.contacts.get` Get one Salesforce Contact | Fetch a single Contact record by its Salesforce id. | read | `crm.contact.get` 176 connectors |
| `salesforce_sobjects.accounts.get` Get one Salesforce Account | Fetch a single Account record by its Salesforce id. | read | `crm.company.get` 162 connectors |
| `salesforce_sobjects.opportunities.list` List Salesforce Opportunity records | Query Opportunity records with SOQL, narrowed by an optional WHERE clause. | read | `crm.deal.query` 7 connectors |
| `salesforce_sobjects.opportunities.create` Create a Salesforce Opportunity | Insert one Opportunity record. Returns its new id. | write | `crm.deal.create` 43 connectors |
| `salesforce_sobjects.contacts.delete` Delete a Salesforce Contact | Delete one Contact record into the Recycle Bin. | destructive | `crm.contact.delete` 147 connectors |
| `salesforce_sobjects.leads.create` Create a Salesforce Lead | Insert one Lead record. Returns its new id. | write | `crm.lead.create` 24 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Salesforce Sales Cloud actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Salesforce Sales Cloud tickets have been open the longest? Show me the ten oldest with their status.
   calls `salesforce_sobjects.cases.list`
2. Plan write
   Turn a won opportunity into an order in Salesforce Sales Cloud. Ask me before anything is sent or changed.
   calls `salesforce_sobjects.opportunities.get` `salesforce_sobjects.accounts.get` `salesforce_sobjects.orders.create` `salesforce_sobjects.order_items.create` `salesforce_sobjects.opportunities.update`
3. Plan write
   Create an account with its primary contact and kickoff work in Salesforce Sales Cloud.
   calls `salesforce_sobjects.accounts.create` `salesforce_sobjects.contacts.create` `salesforce_sobjects.opportunities.create` `salesforce_sobjects.notes.create` `salesforce_sobjects.accounts.get`
4. Write write
   Create a Salesforce Contact in Salesforce Sales Cloud. Show me exactly what you will send before you save it.
   calls `salesforce_sobjects.contacts.create`
5. Across systems read
   For each customer, how many tickets are in Salesforce Sales Cloud and how many invoices in ConnectWise PSA?
   calls `salesforce_sobjects.cases.list` `connectwise_manage.invoices.list`

Across your systems

## Salesforce Sales Cloud, joined to the rest of your business.

One `ask` fetches from Salesforce Sales Cloud and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- For each customer, how many tickets are in Salesforce Sales Cloud and how many invoices in ConnectWise PSA?
  `salesforce_sobjects.cases.list` + `connectwise_manage.invoices.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- For each customer, how many tickets are in Salesforce Sales Cloud and how many invoices in NetSuite?
  `salesforce_sobjects.cases.list` + `netsuite.views.invoices`, on `crm.company` · [NetSuite](https://actionlake.com/connectors/netsuite)

Also mapped by other connectors `identity.user` **517** `crm.company` **227** `crm.contact` **192** `commerce.product` **109** `commerce.order` **86** `service.ticket` **62** `comm.event` **47** `finance.quote` **45**

ask

```
ask {
  intent: "for each customer, how many tickets are in Salesforce Sales Cloud and how many invoices in ConnectWise PSA",
  steps: [
    { action: "salesforce_sobjects.cases.list", as: "tix", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "tix",
        right: "inv",
        on: "crm.company",
        group_by: "tix.company_name",
        select: ["tix.company_name", "count(tix.id) as tickets", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

The plan store

## Ready-made plans for Salesforce Sales Cloud.

8 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

1. ### Report on open pipeline and stalled opportunities
   Use it when Someone asks for the state of the sales pipeline or which deals have gone stale.
   **Effect**
   read
   **Steps**
   5
   **Needs**
   close after and close before
   **Install**
   `salesforce_sobjects-pipeline-health-report`
2. ### Pull created, updated and deleted records for a window
   Use it when A downstream system needs the delta of one Salesforce object since the last sync ran.
   **Effect**
   read
   **Steps**
   5
   **Needs**
   sobject, start and end
   **Install**
   `salesforce_sobjects-sync-records-since`
3. ### Qualify open leads and log a follow-up task
   Use it when A rep or manager wants every open lead to end the day with a follow-up task on it.
   **Effect**
   write
   **Steps**
   3 · loops
   **Needs**
   status and due date
   **Install**
   `salesforce_sobjects-qualify-new-leads`
4. ### Escalate support cases that have aged past their threshold
   Use it when Support wants old untouched cases pushed up the queue before they breach SLA.
   A person decides Escalate _aging count_ cases open longer than _age days_ days to High priority.
   **Effect**
   write
   **Steps**
   4 · loops
   **Needs**
   age days
   **Install**
   `salesforce_sobjects-escalate-aging-cases`
5. ### Create an account with its primary contact and kickoff work
   Use it when A new customer has been signed and their Salesforce records need standing up in one pass.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   account name, contact last name and close date
   **Install**
   `salesforce_sobjects-onboard-new-account`
6. ### Add contacts from a search into a campaign
   Use it when Marketing wants a set of existing contacts loaded into a campaign as members.
   **Effect**
   write
   **Steps**
   6 · loops
   **Needs**
   campaign id and contact where
   **Install**
   `salesforce_sobjects-campaign-member-import`
7. ### Turn a won opportunity into an order
   Use it when A deal has been agreed and someone wants the matching order raised in Salesforce.
   A person decides Raise an order for _Name_ worth _Amount_ from opportunity _Name_.
   **Effect**
   write
   **Steps**
   6 · loops
   **Needs**
   opportunity id, effective date and lines
   **Install**
   `salesforce_sobjects-close-won-to-order`
8. ### Delete test records matching a marker, after sign-off
   Use it when A sandbox or test org is full of seeded records and someone wants them removed safely.
   A person decides Permanently delete _match count_ _sobject_ records whose name starts with _marker_.
   **Effect**
   destructive
   **Steps**
   6
   **Needs**
   sobject and marker
   **Install**
   `salesforce_sobjects-purge-test-records`

install a plan

```
account { op: "plans.install", slug: "salesforce_sobjects-pipeline-health-report" }
# then ask for it by name; a schedule can run it on a timetable
```

Governance for Salesforce Sales Cloud

## Destructive actions wait for a yes.

25 Salesforce Sales Cloud actions are destructive. These are all of them:

- Delete a Salesforce Contact `salesforce_sobjects.contacts.delete`
- Delete a Salesforce Account `salesforce_sobjects.accounts.delete`
- Delete a Salesforce Opportunity `salesforce_sobjects.opportunities.delete`
- Delete a Salesforce Lead `salesforce_sobjects.leads.delete`
- Delete a Salesforce Product2 `salesforce_sobjects.products.delete`
- Delete a Salesforce Task `salesforce_sobjects.tasks.delete`
- Delete a Salesforce Order `salesforce_sobjects.orders.delete`
- Delete a Salesforce Event `salesforce_sobjects.events.delete`
- Delete a Salesforce Case `salesforce_sobjects.cases.delete`
- Delete a Salesforce Quote `salesforce_sobjects.quotes.delete`
- Delete a Salesforce Contract `salesforce_sobjects.contracts.delete`
- Delete a Salesforce ContentDocument `salesforce_sobjects.content_documents.delete`
- Delete a Salesforce Pricebook2 `salesforce_sobjects.pricebooks.delete`
- Delete a Salesforce OrderItem `salesforce_sobjects.order_items.delete`
- Delete a Salesforce Campaign `salesforce_sobjects.campaigns.delete`
- Delete a Salesforce Note `salesforce_sobjects.notes.delete`
- Delete a Salesforce Asset `salesforce_sobjects.assets.delete`
- Delete a Salesforce PricebookEntry `salesforce_sobjects.pricebook_entries.delete`
- Delete a Salesforce CampaignMember `salesforce_sobjects.campaign_members.delete`
- Delete a Salesforce QuoteLineItem `salesforce_sobjects.quote_line_items.delete`
- Delete up to 200 records `salesforce_sobjects.collections.delete`
- Delete any record `salesforce_sobjects.sobjects.record_delete`
- Delete a record by external id `salesforce_sobjects.sobjects.record_delete_by_external_id`
- Delete a Salesforce Attachment `salesforce_sobjects.attachments.delete`
- Reset a user's password `salesforce_sobjects.sobjects.user_password_reset`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do salesforce_sobjects.contacts.delete confirm_policy: **human**

Delete a Salesforce Contact?

**intent:** the user asked me to delete a Salesforce Contact

run suspended · waiting for a named person · key _salesforce-sobjects-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "salesforce-sobjects-agent",
  allowed_actions: ["salesforce_sobjects.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "salesforce_sobjects.contacts.delete", approver: "lead@example.com" },
    { match: "salesforce_sobjects.accounts.delete", approver: "lead@example.com" },
    { match: "salesforce_sobjects.opportunities.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Salesforce Sales Cloud only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Salesforce Sales Cloud costs on actionlake.

Every Salesforce Sales Cloud action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Salesforce Sales Cloud refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 193 Salesforce Sales Cloud actions
- 193 actions page each page of a long list is one call
- 101 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Salesforce Sales Cloud action.

193 actions by area: the id your agent calls, what it does, and its effect.

**CRM 102**

- `salesforce_sobjects.accounts.create` Create a Salesforce Account write
- `salesforce_sobjects.accounts.delete` Delete a Salesforce Account destructive
- `salesforce_sobjects.accounts.get` Get one Salesforce Account read
- `salesforce_sobjects.accounts.list` List Salesforce Account records read
- `salesforce_sobjects.accounts.update` Update a Salesforce Account write
- `salesforce_sobjects.accounts.upsert` Upsert a Salesforce Account by external id write
- `salesforce_sobjects.actions.custom_list` List custom invocable actions read
- `salesforce_sobjects.actions.describe` Describe one invocable action read
- `salesforce_sobjects.actions.invoke` Invoke an invocable action write
- `salesforce_sobjects.actions.list` List invocable action groups read
- `salesforce_sobjects.actions.standard_list` List standard invocable actions read
- `salesforce_sobjects.campaign_members.create` Create a Salesforce CampaignMember write
- `salesforce_sobjects.campaign_members.delete` Delete a Salesforce CampaignMember destructive
- `salesforce_sobjects.campaign_members.get` Get one Salesforce CampaignMember read
- `salesforce_sobjects.campaign_members.list` List Salesforce CampaignMember records read
- `salesforce_sobjects.campaign_members.update` Update a Salesforce CampaignMember write
- `salesforce_sobjects.campaigns.create` Create a Salesforce Campaign write
- `salesforce_sobjects.campaigns.delete` Delete a Salesforce Campaign destructive
- `salesforce_sobjects.campaigns.get` Get one Salesforce Campaign read
- `salesforce_sobjects.campaigns.list` List Salesforce Campaign records read
- `salesforce_sobjects.campaigns.update` Update a Salesforce Campaign write
- `salesforce_sobjects.collections.create` Create up to 200 records write
- `salesforce_sobjects.collections.delete` Delete up to 200 records destructive
- `salesforce_sobjects.collections.retrieve` Retrieve up to 2000 records by id read
- `salesforce_sobjects.collections.update` Update up to 200 records write
- `salesforce_sobjects.collections.upsert` Upsert up to 200 records by external id write
- `salesforce_sobjects.composite.batch` Run a composite batch write
- `salesforce_sobjects.composite.graph` Run a composite graph write
- `salesforce_sobjects.composite.run` Run a composite request write
- `salesforce_sobjects.composite.tree` Create a record tree write
- `salesforce_sobjects.contacts.create` Create a Salesforce Contact write
- `salesforce_sobjects.contacts.delete` Delete a Salesforce Contact destructive
- `salesforce_sobjects.contacts.get` Get one Salesforce Contact read
- `salesforce_sobjects.contacts.list` List Salesforce Contact records read
- `salesforce_sobjects.contacts.update` Update a Salesforce Contact write
- `salesforce_sobjects.contacts.upsert` Upsert a Salesforce Contact by external id write
- `salesforce_sobjects.leads.create` Create a Salesforce Lead write
- `salesforce_sobjects.leads.delete` Delete a Salesforce Lead destructive
- `salesforce_sobjects.leads.get` Get one Salesforce Lead read
- `salesforce_sobjects.leads.list` List Salesforce Lead records read
- `salesforce_sobjects.leads.update` Update a Salesforce Lead write
- `salesforce_sobjects.leads.upsert` Upsert a Salesforce Lead by external id write
- `salesforce_sobjects.list_views.describe` Describe a list view read
- `salesforce_sobjects.list_views.list` List an object's list views read
- `salesforce_sobjects.list_views.recent` List recently used list views read
- `salesforce_sobjects.list_views.results` Get a list view's results read
- `salesforce_sobjects.opportunities.create` Create a Salesforce Opportunity write
- `salesforce_sobjects.opportunities.delete` Delete a Salesforce Opportunity destructive
- `salesforce_sobjects.opportunities.get` Get one Salesforce Opportunity read
- `salesforce_sobjects.opportunities.list` List Salesforce Opportunity records read
- `salesforce_sobjects.opportunities.update` Update a Salesforce Opportunity write
- `salesforce_sobjects.opportunities.upsert` Upsert a Salesforce Opportunity by external id write
- `salesforce_sobjects.org.app_menu` Get an app menu read
- `salesforce_sobjects.org.consent_read` Read consent across the consent model read
- `salesforce_sobjects.org.event_schema_by_id` Get a platform event schema by id read
- `salesforce_sobjects.org.event_schema_by_name` Get a platform event schema by name read
- `salesforce_sobjects.org.folders` List folders read
- `salesforce_sobjects.org.limits` Get org limits read
- `salesforce_sobjects.org.recently_viewed` List recently viewed items read
- `salesforce_sobjects.org.record_count` Count records per object read
- `salesforce_sobjects.org.relevant_items` List relevant items read
- `salesforce_sobjects.org.resources` List the resources of this API version read
- `salesforce_sobjects.org.tabs` List the org's tabs read
- `salesforce_sobjects.org.themes` Get the org's theme read
- `salesforce_sobjects.org.versions` List supported API versions read
- `salesforce_sobjects.process.approvals_list` List approval processes read
- `salesforce_sobjects.process.approvals_submit` Submit, approve or reject a record for approval write
- `salesforce_sobjects.process.rules_list` List approval and workflow rules read
- `salesforce_sobjects.process.rules_trigger` Trigger workflow rules on records write
- `salesforce_sobjects.query.explain` Explain a SOQL query plan read
- `salesforce_sobjects.query.more` Fetch the next batch of a SOQL query read
- `salesforce_sobjects.query.run` Run a SOQL query read
- `salesforce_sobjects.query.run_all` Run a SOQL query including deleted records read
- `salesforce_sobjects.quick_actions.describe` Describe a global quick action read
- `salesforce_sobjects.quick_actions.invoke` Invoke a global quick action write
- `salesforce_sobjects.quick_actions.list` List global quick actions read
- `salesforce_sobjects.search.parameterized` Run a parameterized search read
- `salesforce_sobjects.search.result_layouts` Get search result layouts read
- `salesforce_sobjects.search.scope_order` Get the user's search scope and order read
- `salesforce_sobjects.search.sosl` Run a SOSL search read
- `salesforce_sobjects.search.suggested_queries` Get suggested search queries read
- `salesforce_sobjects.sobjects.approval_layouts` Get sObject approval layouts read
- `salesforce_sobjects.sobjects.basic_info` Get sObject basic information read
- `salesforce_sobjects.sobjects.compact_layouts` Get sObject compact layouts read
- `salesforce_sobjects.sobjects.describe` Describe one sObject read
- `salesforce_sobjects.sobjects.describe_global` List every sObject in the org read
- `salesforce_sobjects.sobjects.get_deleted` List records deleted in a window read
- `salesforce_sobjects.sobjects.get_updated` List records updated in a window read
- `salesforce_sobjects.sobjects.layouts` Get sObject page layouts read
- `salesforce_sobjects.sobjects.named_layout` Get a named layout on an sObject read
- `salesforce_sobjects.sobjects.quick_action_default_values` Get a quick action's default values read
- `salesforce_sobjects.sobjects.quick_action_describe` Describe one quick action on an sObject read
- `salesforce_sobjects.sobjects.quick_action_invoke` Invoke a quick action on an sObject write
- `salesforce_sobjects.sobjects.quick_actions_list` List an sObject's quick actions read
- `salesforce_sobjects.sobjects.record_create` Create any record write
- `salesforce_sobjects.sobjects.record_delete` Delete any record destructive
- `salesforce_sobjects.sobjects.record_delete_by_external_id` Delete a record by external id destructive
- `salesforce_sobjects.sobjects.record_get` Get any record by id read
- `salesforce_sobjects.sobjects.record_get_by_external_id` Get a record by external id read
- `salesforce_sobjects.sobjects.record_update` Update any record write
- `salesforce_sobjects.sobjects.record_upsert` Upsert a record by external id write
- `salesforce_sobjects.sobjects.relationship_get` Traverse a record relationship read

**Catalog 16**

- `salesforce_sobjects.pricebook_entries.create` Create a Salesforce PricebookEntry write
- `salesforce_sobjects.pricebook_entries.delete` Delete a Salesforce PricebookEntry destructive
- `salesforce_sobjects.pricebook_entries.get` Get one Salesforce PricebookEntry read
- `salesforce_sobjects.pricebook_entries.list` List Salesforce PricebookEntry records read
- `salesforce_sobjects.pricebook_entries.update` Update a Salesforce PricebookEntry write
- `salesforce_sobjects.pricebooks.create` Create a Salesforce Pricebook2 write
- `salesforce_sobjects.pricebooks.delete` Delete a Salesforce Pricebook2 destructive
- `salesforce_sobjects.pricebooks.get` Get one Salesforce Pricebook2 read
- `salesforce_sobjects.pricebooks.list` List Salesforce Pricebook2 records read
- `salesforce_sobjects.pricebooks.update` Update a Salesforce Pricebook2 write
- `salesforce_sobjects.products.create` Create a Salesforce Product2 write
- `salesforce_sobjects.products.delete` Delete a Salesforce Product2 destructive
- `salesforce_sobjects.products.get` Get one Salesforce Product2 read
- `salesforce_sobjects.products.list` List Salesforce Product2 records read
- `salesforce_sobjects.products.update` Update a Salesforce Product2 write
- `salesforce_sobjects.products.upsert` Upsert a Salesforce Product2 by external id write

**Orders 11**

- `salesforce_sobjects.order_items.create` Create a Salesforce OrderItem write
- `salesforce_sobjects.order_items.delete` Delete a Salesforce OrderItem destructive
- `salesforce_sobjects.order_items.get` Get one Salesforce OrderItem read
- `salesforce_sobjects.order_items.list` List Salesforce OrderItem records read
- `salesforce_sobjects.order_items.update` Update a Salesforce OrderItem write
- `salesforce_sobjects.orders.create` Create a Salesforce Order write
- `salesforce_sobjects.orders.delete` Delete a Salesforce Order destructive
- `salesforce_sobjects.orders.get` Get one Salesforce Order read
- `salesforce_sobjects.orders.list` List Salesforce Order records read
- `salesforce_sobjects.orders.update` Update a Salesforce Order write
- `salesforce_sobjects.orders.upsert` Upsert a Salesforce Order by external id write

**Quoting 10**

- `salesforce_sobjects.quote_line_items.create` Create a Salesforce QuoteLineItem write
- `salesforce_sobjects.quote_line_items.delete` Delete a Salesforce QuoteLineItem destructive
- `salesforce_sobjects.quote_line_items.get` Get one Salesforce QuoteLineItem read
- `salesforce_sobjects.quote_line_items.list` List Salesforce QuoteLineItem records read
- `salesforce_sobjects.quote_line_items.update` Update a Salesforce QuoteLineItem write
- `salesforce_sobjects.quotes.create` Create a Salesforce Quote write
- `salesforce_sobjects.quotes.delete` Delete a Salesforce Quote destructive
- `salesforce_sobjects.quotes.get` Get one Salesforce Quote read
- `salesforce_sobjects.quotes.list` List Salesforce Quote records read
- `salesforce_sobjects.quotes.update` Update a Salesforce Quote write

**Files 9**

- `salesforce_sobjects.attachments.create` Create a Salesforce Attachment write
- `salesforce_sobjects.attachments.delete` Delete a Salesforce Attachment destructive
- `salesforce_sobjects.attachments.get` Get one Salesforce Attachment read
- `salesforce_sobjects.attachments.list` List Salesforce Attachment records read
- `salesforce_sobjects.attachments.update` Update a Salesforce Attachment write
- `salesforce_sobjects.content_documents.delete` Delete a Salesforce ContentDocument destructive
- `salesforce_sobjects.content_documents.get` Get one Salesforce ContentDocument read
- `salesforce_sobjects.content_documents.list` List Salesforce ContentDocument records read
- `salesforce_sobjects.sobjects.blob_retrieve` Retrieve a record's blob field read

**Directory 7**

- `salesforce_sobjects.sobjects.user_password_get` Check whether a user's password is expired read
- `salesforce_sobjects.sobjects.user_password_reset` Reset a user's password destructive
- `salesforce_sobjects.sobjects.user_password_set` Set a user's password write
- `salesforce_sobjects.users.create` Create a Salesforce User write
- `salesforce_sobjects.users.get` Get one Salesforce User read
- `salesforce_sobjects.users.list` List Salesforce User records read
- `salesforce_sobjects.users.update` Update a Salesforce User write

**Helpdesk 7**

- `salesforce_sobjects.cases.create` Create a Salesforce Case write
- `salesforce_sobjects.cases.delete` Delete a Salesforce Case destructive
- `salesforce_sobjects.cases.get` Get one Salesforce Case read
- `salesforce_sobjects.cases.list` List Salesforce Case records read
- `salesforce_sobjects.cases.update` Update a Salesforce Case write
- `salesforce_sobjects.cases.upsert` Upsert a Salesforce Case by external id write
- `salesforce_sobjects.org.embedded_service_config` Get an Embedded Service deployment's config read

**Contracts 6**

- `salesforce_sobjects.contracts.create` Create a Salesforce Contract write
- `salesforce_sobjects.contracts.delete` Delete a Salesforce Contract destructive
- `salesforce_sobjects.contracts.get` Get one Salesforce Contract read
- `salesforce_sobjects.contracts.list` List Salesforce Contract records read
- `salesforce_sobjects.contracts.update` Update a Salesforce Contract write
- `salesforce_sobjects.contracts.upsert` Upsert a Salesforce Contract by external id write

**Calendar 5**

- `salesforce_sobjects.events.create` Create a Salesforce Event write
- `salesforce_sobjects.events.delete` Delete a Salesforce Event destructive
- `salesforce_sobjects.events.get` Get one Salesforce Event read
- `salesforce_sobjects.events.list` List Salesforce Event records read
- `salesforce_sobjects.events.update` Update a Salesforce Event write

**Notes 5**

- `salesforce_sobjects.notes.create` Create a Salesforce Note write
- `salesforce_sobjects.notes.delete` Delete a Salesforce Note destructive
- `salesforce_sobjects.notes.get` Get one Salesforce Note read
- `salesforce_sobjects.notes.list` List Salesforce Note records read
- `salesforce_sobjects.notes.update` Update a Salesforce Note write

**Tasks 5**

- `salesforce_sobjects.tasks.create` Create a Salesforce Task write
- `salesforce_sobjects.tasks.delete` Delete a Salesforce Task destructive
- `salesforce_sobjects.tasks.get` Get one Salesforce Task read
- `salesforce_sobjects.tasks.list` List Salesforce Task records read
- `salesforce_sobjects.tasks.update` Update a Salesforce Task write

**Assets 5**

- `salesforce_sobjects.assets.create` Create a Salesforce Asset write
- `salesforce_sobjects.assets.delete` Delete a Salesforce Asset destructive
- `salesforce_sobjects.assets.get` Get one Salesforce Asset read
- `salesforce_sobjects.assets.list` List Salesforce Asset records read
- `salesforce_sobjects.assets.update` Update a Salesforce Asset write

**Knowledge 5**

- `salesforce_sobjects.knowledge.data_category_detail` Get a data category's detail read
- `salesforce_sobjects.knowledge.data_category_groups` List data category groups read
- `salesforce_sobjects.knowledge.settings_get` Get Knowledge settings read
- `salesforce_sobjects.search.suggested_article_titles` Get suggested knowledge article titles read
- `salesforce_sobjects.sobjects.suggested_articles` Suggest knowledge articles for a case read

Questions

## The Salesforce Sales Cloud MCP server, answered.

**Is there a Salesforce Sales Cloud MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 193 Salesforce Sales Cloud actions across CRM, catalog, orders and quoting, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Salesforce Sales Cloud.

**What do I need to connect Salesforce Sales Cloud?**

Your own Salesforce Sales Cloud OAuth app, registered with Salesforce Sales Cloud (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Salesforce Sales Cloud app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. Plus your instance host. The free call account { op: "connections.requirements", service: "salesforce_sobjects" } lists exactly what to paste.

**Can an AI agent delete or change things in Salesforce Sales Cloud?**

Only if its key allows it, and only with an explicit confirmation. 25 Salesforce Sales Cloud actions are destructive, including delete a Salesforce Contact, delete a Salesforce Account and delete a Salesforce Opportunity. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Salesforce Sales Cloud API limit?**

actionlake paces every call to the limits in the Salesforce Sales Cloud service file: 100,000 calls a day per connection. Repeated reads are answered from cache (101 Salesforce Sales Cloud actions can be), which never reaches Salesforce Sales Cloud.

**What does a Salesforce Sales Cloud action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (193 Salesforce Sales Cloud actions page). Cache hits, searches, dry runs and calls Salesforce Sales Cloud refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Salesforce Sales Cloud API does it cover?**

The Salesforce Sales Cloud API 62.0 at your Salesforce Sales Cloud instance's API base URL, which you enter when connecting (path /services/data/v62.0). It is built from Salesforce Sales Cloud's documentation as read on 15 September 2026. 193 actions in 13 areas, each one in the signed service file (version 2.0.0).

**Can I combine Salesforce Sales Cloud with my other systems?**

Yes. ask joins Salesforce Sales Cloud to ConnectWise PSA or NetSuite on the same customer and returns the answer rather than every row. Salesforce Sales Cloud maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Salesforce Sales Cloud data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Salesforce Sales Cloud credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Salesforce Sales Cloud

Shares the most action names with

- [Microsoft Dynamics 365 108](https://actionlake.com/connectors/microsoft-dynamics-365)
- [Zoho CRM 71](https://actionlake.com/connectors/zoho-crm)
- [HubSpot CRM 69](https://actionlake.com/connectors/hubspot-crm)
- [Insightly CRM 39](https://actionlake.com/connectors/insightly-crm)
- [Freshsales 34](https://actionlake.com/connectors/freshsales)
- [Keap (Infusionsoft) 28](https://actionlake.com/connectors/keap-infusionsoft)

Joins with, on shared entities

- [HaloPSA 10](https://actionlake.com/connectors/halopsa)
- [ERPNext (Frappe) 10](https://actionlake.com/connectors/erpnext-frappe)
- [Odoo 9](https://actionlake.com/connectors/odoo)
- [ScalePad 9](https://actionlake.com/connectors/scalepad)
- [Kaseya BMS 8](https://actionlake.com/connectors/kaseya-bms)
- [Syncro 8](https://actionlake.com/connectors/syncro)

Browse

- [All CRM & sales connectors](https://actionlake.com/connectors/category/crm-and-sales)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Salesforce Sales Cloud; the name is the vendor's own. Counts are from the Salesforce Sales Cloud service file, version 2.0.0.

## Give your agent Salesforce Sales Cloud today.

[Connect Salesforce Sales Cloud free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/salesforce-sales-cloud
More: https://actionlake.com/llms.txt
