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

# Connect Salesforce

> Connect Salesforce as a daoco integration with an External Client App and OAuth.

Salesforce is an **Available** CRM & Sales integration. Use Salesforce-hosted [MCP](/connections/integrations#what-is-mcp) when a Salesforce admin has enabled a hosted MCP server and users should connect from daoco with OAuth.

## Connect Salesforce

<Steps>
  <Step title="Enable a Salesforce-hosted server">
    In Salesforce Setup, enable the hosted [MCP](/connections/integrations#what-is-mcp) server you want to expose. Start with `platform/sobject-reads` while validating access because it is read-only.
  </Step>

  <Step title="Create an External Client App">
    In Salesforce **External Client App Manager**, create an External Client App for daoco. Include `mcp_api` and `refresh_token`, require PKCE, and use JWT-based access tokens for named users.
  </Step>

  <Step title="Add the daoco callback URI">
    Add the callback URI shown in the daoco Salesforce card to the External Client App. If your deployment uses `MCP_TENANT_OAUTH_CALLBACK_URL`, use that exact value.
  </Step>

  <Step title="Configure daoco">
    In daoco, open **Connections** -> **Integrations** -> **CRM & Sales** -> **Salesforce**. Paste the External Client App consumer key. Leave the client secret blank unless your Salesforce External Client App requires one.
  </Step>

  <Step title="Connect Salesforce">
    Save and connect, then complete Salesforce OAuth with a user who can access the enabled hosted [MCP](/connections/integrations#what-is-mcp) server.
  </Step>
</Steps>

## Default endpoint

daoco defaults Salesforce to the production read-only SObject [MCP](/connections/integrations#what-is-mcp) server:

```text theme={null}
https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads
```

For sandbox, scratch, or custom Salesforce-hosted [MCP](/connections/integrations#what-is-mcp) servers, configure the backend override values before users connect.
