Salesforce
Arcade tools designed for LLMs to interact with Salesforce
The Arcade Salesforce toolkit lets LLMs interact with a Salesforce org via natural language, covering the full CRM lifecycle from lead capture through deal close.
Capabilities
- Identity & context: Retrieve the authenticated user's profile and org details to establish session context before other operations.
- Lead management: Create, search, update, and convert leads; conversion produces linked Contact, Account, and Opportunity records and handles already-converted leads gracefully.
- Contact & account lookup: Create contacts and search or retrieve accounts (with up to 10 related items each: contacts, leads, notes, calls, opportunities, tasks, emails, events).
- Opportunity pipeline: Create, search, update, and fetch enriched opportunities (with contact roles, line items, open tasks, and recent notes); supports owner-scoped and org-wide views.
- Activity & task tracking: Create, list, and update tasks (with overdue filtering); log completed calls as activities; tool descriptions enforce correct tool choice between future tasks and past call logs.
- Picklist validation: Stage, lead source, and opportunity type fields are validated against the org's configured picklist values at runtime.
OAuth
This toolkit uses OAuth 2.0 via the Salesforce provider. See the Arcade Salesforce auth provider docs for configuration details.
Secrets
-
SALESFORCE_ORG_SUBDOMAIN: The subdomain of your Salesforce org instance. For a standard org this is the part before.salesforce.comin your org URL (e.g.,mycompanyfrommycompany.salesforce.com). For a My Domain org it may be a custom string. Find it in Salesforce Setup → My Domain or by inspecting your browser URL when logged in. Required so the toolkit routes API calls to the correct org instance. -
SALESFORCE_MAX_CONCURRENT_REQUESTS: An integer cap on the number of concurrent Salesforce API requests the toolkit will issue. This is a runtime throttle configured on the Arcade side, not a credential issued by Salesforce. Set it based on your org's API request limits (visible in Salesforce Setup → System Overview → API Requests, Last 24 Hours) and any concurrency constraints in your Arcade deployment.
See the Arcade secrets configuration guide for how to store and reference secrets. You can manage secret values at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(17)
| Tool name | Description | Secrets | |
|---|---|---|---|
Converts 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 | ||
Creates a contact in Salesforce. | 2 | ||
Creates 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 | ||
Creates 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 | ||
Creates 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 | ||
Gets 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 | ||
Searches for accounts in Salesforce and returns 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 | ||
Gets a single opportunity with enriched related data: contact roles, line items,
open tasks, and recent notes. | 1 | ||
Lists 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 | ||
Logs 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 | ||
Searches 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 | ||
Searches 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 | ||
Searches 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 | ||
Updates 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 | ||
Updates 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 | ||
Updates 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 |