31  Connect Salesforce

Connect Salesforce to Claude Tag so it can read and update CRM records. Covers the connected app to create, the client credential fields, and the host to allow.

export const BetaNote = () => Claude Tag is in public beta. Features and behavior described here may change before general availability.;

Connections are added inside an Access bundle. At claude.ai/admin-settings/claude-tag, open Access bundles in the left navigation, click into a bundle (or Create one), and go to its Credentials tab.

Connecting Salesforce lets Claude read accounts, contacts, opportunities, and cases (and write, if you grant it) from any channel under the bundle’s scope. You add it as a connection inside an Access bundle; the credential belongs to the agent, not to any person. The connection uses the OAuth 2.0 client credentials flow.

31.1 Create the credential in Salesforce

Create a connected app (or External Client App) with the client credentials flow enabled, and set a dedicated integration user as the app’s run-as user. Salesforce’s guide is Configure a Connected App for the OAuth 2.0 Client Credentials Flow.

You’ll need from Salesforce:

  • The app’s Consumer Key (the client ID), from its Settings tab
  • The app’s Consumer Secret (the client secret)
  • Your org’s My Domain host (for example yourcompany.my.salesforce.com)

Assign the integration user a Permission Set scoped to the objects and fields Claude should reach. Read-only is the recommended starting point.

31.2 Add the connection to a bundle

In the bundle, click Connect next to Salesforce.

Field Value
Client ID The app’s Consumer Key
Client secret The app’s Consumer Secret
Token URL Your org’s token endpoint, https://yourcompany.my.salesforce.com/services/oauth2/token
Scopes (optional) Leave empty unless your app requires specific scopes
Allowed websites Your org’s host, for example yourcompany.my.salesforce.com

The preset prefills Allowed websites with an example host that cannot resolve. Replace it with your org’s host before saving, or every request fails. To change the host later, open the menu on this connection in the bundle’s Credentials tab and choose Edit.

The Agent Proxy injects the credential at the network boundary; the model and the sandbox are not given the key. See how Agent Proxy works.

31.3 Verify the connection

In a channel under the bundle’s scope, in a new thread:

text wrap theme={null} @Claude list the five most recently modified Opportunities in Salesforce.

Check the integration user’s login history in Salesforce Setup to confirm the call landed under that user.