# Connect Salesforce to your AI agent

> Yes — ClawLink is a hosted Salesforce MCP server. 179 tools your agent can call from chat, with one-click hosted OAuth and nothing to run locally.

Web version: https://claw-link.dev/hub/salesforce

ClawLink hosts a managed Salesforce MCP server that exposes 179 tools to your AI agent. You connect Salesforce in one click, and your agent can read, create, and update Salesforce data from chat without you building or running a local MCP server.

## Quick facts

- 179 tools callable from chat
- One-click hosted OAuth
- Works with OpenClaw, Hermes, Claude Code, Cursor, Codex, and any MCP client
- No local server or config files

## Overview

The usual path is: build auth, handle token refresh, wire up the tools. With ClawLink you connect Salesforce once and start using the real actions from the agent.

## Setup

Salesforce uses OAuth. You connect it in the browser: click Connect, sign in, approve. ClawLink stores the token and refreshes it on its own. You never touch a key or wire up a redirect URL.

Authentication: hosted OAuth

## What you can do

- **Move the pipeline from chat** — Update deals, log follow-ups, and edit Salesforce records without leaving the conversation.
- **Research before you reach out** — The agent reads the Salesforce contact, account, and deal history before drafting a reply.
- **Less CRM busywork** — Status changes, notes, owner swaps in Salesforce. All the small stuff that breaks your flow.

## Salesforce tools

179 Salesforce tools, ready the moment you connect.

- `salesforce_send_email` — Send an email through Salesforce
- `salesforce_execute_sosl_search` — Execute a SOSL search to search across multiple Salesforce objects
- `salesforce_get_a_batch_of_records` — Retrieve multiple Salesforce records in a single request with customizable field selection
- `salesforce_get_account` — Retrieves a specific account by ID from Salesforce, returning all available fields
- `salesforce_get_all_custom_objects` — Retrieves all Salesforce objects (standard and custom) with detailed metadata
- `salesforce_get_all_fields_for_object` — Retrieves all fields (standard and custom) for a Salesforce object with complete metadata
- `salesforce_get_all_navigation_items` — Gets all navigation items (tabs) that the user has access to
- `salesforce_get_api` — Discover available REST API resources for a specified Salesforce API version
- `salesforce_get_app` — Get metadata about a specific Salesforce app by ID
- `salesforce_get_apps` — Get metadata for all apps a user has access to
- `salesforce_get_campaign` — Retrieves a specific campaign by ID from Salesforce, returning all available fields
- `salesforce_get_chatter_resources` — Access Chatter resources directory
- `salesforce_get_child_records` — Get child records for a specified parent record and child relationship name
- `salesforce_get_compact_layouts` — Retrieve compact layout information for multiple Salesforce objects
- `salesforce_get_composite_resources` — Retrieve a list of available composite resources in Salesforce
- `salesforce_get_composite_sobjects` — Retrieves multiple records of the same object type by IDs with a request body
- `salesforce_get_consent_action` — Retrieve aggregated consent preferences across multiple records for a specific action
- `salesforce_get_contact` — Retrieves a specific contact by ID from Salesforce, returning all available fields
- `salesforce_get_contact_by_id` — Retrieves a Salesforce Contact by its unique ID; the ID must correspond to an existing Contact
- `salesforce_get_dashboard` — Gets detailed metadata for a specific dashboard including its components, layout, and filters
- `salesforce_get_file_content` — Returns the binary content of a Salesforce file, including references to external files
- `salesforce_get_file_information` — Retrieve comprehensive metadata and information about a specified file in Salesforce
- `salesforce_get_file_shares` — Returns information about the objects with which the specified file has been shared
- `salesforce_get_global_actions` — Retrieve actions displayed in the Salesforce Global Actions menu with metadata
- `salesforce_get_job_failed_record_results` — Retrieve failed records from a Salesforce Bulk API 2.0 ingest job
- `salesforce_get_job_successful_record_results` — Retrieve successfully processed records from a Salesforce Bulk API 2.0 ingest job
- `salesforce_get_job_unprocessed_record_results` — Retrieve unprocessed records from a Salesforce Bulk API 2.0 ingest job
- `salesforce_get_last_selected_app` — Retrieves the app the current user last selected or the app the user sees by default
- `salesforce_get_lead` — Retrieves a specific lead by ID from Salesforce, returning all available fields
- `salesforce_get_list_view_actions` — Retrieve header actions on list views

## Example prompts

- **Send email:** Use Salesforce to send email. Draft it first and show me before you send.
- **Execute sosl search:** Search Salesforce for what I need. Sum it up and tell me the next step.
- **Get a batch of records:** Pull the data from Salesforce. Sum it up and flag anything I need to look at.
- **Get account:** Pull the data from Salesforce. Sum it up and flag anything I need to look at.

## ClawLink vs. building it yourself

| | Manual | ClawLink |
|---|---|---|
| Connection | Build it yourself. You register a developer app with Salesforce, set up redirect URLs, handle the consent screen, store and refresh access tokens, and redo the wiring when scopes change. | Hosted hosted OAuth. Connect once in the browser. ClawLink owns the lifecycle. |
| Maintenance | Token refresh, permission debugging, env config, every edge case. All yours. | ClawLink handles the plumbing. You focus on the workflow. |
| Time to first call | Days to weeks. Auth, storage, tool wiring, testing. Then the agent can act. | About two minutes from sign-up to the agent calling Salesforce. |

## FAQ

### How do I connect Salesforce to my AI agent?

Install ClawLink, open the dashboard, click Connect next to Salesforce, and finish the hosted OAuth flow. Your agent can call Salesforce from the next message. Two minutes, total.

### Is there a Salesforce MCP server I can use?

Yes. ClawLink exposes Salesforce as 179 tools your agent calls through a hosted MCP-compatible runtime. You don't run a local server or edit a config file. The tools are there the moment you connect.

### Do I need Salesforce API credentials?

No separate API key. You sign in to Salesforce through the normal OAuth flow and ClawLink handles the token after that.

### How much does it cost?

Your first integration is free, plus a 7-day trial of the full catalog. Paid plans unlock the rest of the library.

### Can I set this up from the terminal instead of the dashboard?

Yes. Run npx -y @useclawlink/cli login, then npx -y @useclawlink/cli connect salesforce. The first opens a browser to sign in to ClawLink. The second opens a browser to authorize Salesforce. No API keys to create. Works with OpenClaw, Hermes, Claude Code, Cursor, Codex, and any agent that runs shell commands.
