Salesforce
Arcade tools designed for LLMs to interact with Salesforce
Salesforce Toolkit
Arcade's Salesforce toolkit lets LLMs interact with a Salesforce org to read, create, and update CRM records via natural language. It covers the full sales workflow — from lead capture through deal close — and activity logging.
Capabilities
- Identity & context: Resolve the authenticated user and org before acting (
WhoAmI). - Lead lifecycle: Create, search, update, and convert leads to contacts, accounts, and opportunities.
- Contact & account management: Create contacts; retrieve or search accounts with up to 10 related records of each type (contacts, leads, notes, calls, opportunities, tasks, emails, events).
- Opportunity (deal) management: Create, retrieve, search, and update opportunities; supports picklist validation for stage, lead source, and type.
- Task & activity tracking: Create and update tasks, list your open/overdue tasks, and log completed calls as activities.
OAuth
This toolkit uses OAuth 2.0 via the Salesforce auth provider. See the Arcade Salesforce provider docs for setup instructions.
Secrets
-
SALESFORCE_ORG_SUBDOMAIN— The subdomain of your Salesforce org's base URL. For a standard org this is the part before.salesforce.com(e.g.,mycompanyfrommycompany.salesforce.com). For a My Domain or sandbox org it follows the same pattern. Find it in Setup → My Domain or read it directly from your org's login URL. Required so the toolkit knows which org instance to target. -
SALESFORCE_MAX_CONCURRENT_REQUESTS— An integer that caps how many simultaneous API calls the toolkit will make against your org. Tune this to stay within your org's API request limits, which vary by Salesforce edition and any purchased API add-ons. Check your current limits under Setup → Company Information → API Requests, Last 24 Hours.
For instructions on configuring secrets in Arcade, see the Arcade secrets guide. You can also manage secrets directly at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(17)
| Tool name | Description | Secrets | |
|---|---|---|---|
Convert a lead into a Contact (and optionally Account + Opportunity).
This is the canonical lead-to-deal transition in Salesforce. The lead record
is marked as converted and new Contact/Account/Opportunity records are created. | 1 | ||
Create a contact in Salesforce. | 2 | ||
Create a new lead in Salesforce.
Use this when someone is a potential customer but isn't yet associated with
an existing account. For someone at an existing account, create a contact instead. | 1 | ||
Create a new opportunity (deal) in Salesforce.
Requires an account, name, stage, and close date. Validates stage, lead source,
and type against the org's configured picklist values. | 2 | ||
Create a task (follow-up, reminder, to-do) in Salesforce.
Use this for future actions like reminders, follow-ups, or to-do items.
To record a phone call that already happened, log it as a call instead. | 1 | ||
Get the account with related info: contacts, leads, notes, calls, opportunities, tasks,
emails, and events (up to 10 items of each type).
An account is an organization (such as a customer, supplier, or partner, though more commonly
a customer). In some Salesforce account setups, an account can also represent a person. | 1 | ||
Search for accounts in Salesforce and return them with related info: contacts, leads,
notes, calls, opportunities, tasks, emails, and events (up to 10 items of each type).
An account is an organization (such as a customer, supplier, or partner, though more commonly
a customer). In some Salesforce account setups, an account can also represent a person. | 1 | ||
Get a single opportunity with enriched related data: contact roles, line items,
open tasks, and recent notes. | 1 | ||
List tasks assigned to you in Salesforce with optional filters.
Excludes call logs and email activities — only shows actionable tasks.
Use overdue_only=true to see just tasks past their due date. | 1 | ||
Log a completed phone call as an activity in Salesforce.
Use this to record calls that already happened. For future follow-up actions,
create a task instead. | 1 | ||
Search for contacts in Salesforce with optional filters.
At least one filter (query, account_id, or title) must be provided.
Use this to find people at specific accounts or with specific roles. | 1 | ||
Search for leads in Salesforce with optional filters.
Always excludes already-converted leads. Use owner='me' (default) for your leads,
or owner='all' for all leads in the org. | 1 | ||
Search for opportunities (deals) in Salesforce with optional filters.
Returns a paginated list of opportunities with key fields like stage, amount,
close date, and associated account. Use owner='me' (default) to see your deals,
or owner='all' for the whole pipeline. | 1 | ||
Update fields on an existing lead. Only provided fields are changed.
If the lead has already been converted, returns an error with the converted
record IDs so the agent can redirect to the correct contact/account. | 1 | ||
Update fields on an existing opportunity. Only provided fields are changed.
Returns a success indicator and any warnings (e.g., amount ignored due to line items). | 1 | ||
Update fields on an existing task. Only provided fields are changed.
Use status='Completed' to mark a task as done. | 1 | ||
Get information about the currently authenticated Salesforce user.
This is typically the first tool called to establish user context.
Returns the user's profile details and organization information. | 1 |