Salesforce
Arcade tools designed for LLMs to interact with Salesforce
Salesforce Toolkit
Arcade's Salesforce toolkit lets LLMs interact with a Salesforce org — reading and writing CRM data including accounts, contacts, leads, opportunities, tasks, and activity logs.
Capabilities
- Identity & context: Resolve the authenticated user's profile and org details as a starting point for any session.
- Lead lifecycle: Create, search, update, and convert leads into Contacts, Accounts, and Opportunities using Salesforce's canonical conversion flow.
- Contact & account management: Create contacts, search by keyword or account, and retrieve full account snapshots with up to 10 related items per object type (contacts, leads, notes, calls, opportunities, tasks, emails, events).
- Pipeline management: Create, search, update, and retrieve opportunities with enriched data including contact roles, line items, open tasks, and notes; stage and picklist values are validated against org configuration.
- Activity tracking: Log completed calls, create future tasks and reminders, update task status (including marking complete), and list your own tasks with optional overdue filtering — call logs and emails are kept distinct from actionable tasks.
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 that identifies your Salesforce org. For a standard org this is the<subdomain>portion ofhttps://<subdomain>.my.salesforce.com. Find it in Salesforce under Setup → Company Settings → My Domain. Required so the toolkit routes API calls to the correct org instance. -
SALESFORCE_MAX_CONCURRENT_REQUESTS— An integer cap on the number of simultaneous API requests the toolkit will make against the Salesforce API. Set this to stay within your org's API request limits, which vary by Salesforce edition and license type. Check your current limits in Setup → System Overview → API Usage.
Configure secrets in the Arcade secrets dashboard or via the Arcade secrets guide.
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 |