Skip to Content

Salesforce

Service domainCRM
Salesforce icon
Arcade Optimized

Arcade tools designed for LLMs to interact with Salesforce

Author:Arcade
Version:2.2.0
Auth:User authorization via the Salesforce auth provider
17tools
17require secrets
PyPI VersionPython VersionsWheel StatusDownloadsLicense

Salesforce provider: The Arcade toolkit enables LLMs to interact with Salesforce orgs to create, update, search, and convert CRM records, log activities, and fetch enriched relational data. It enforces org validation and returns contextual warnings and IDs to guide agent workflows.

Capabilities

  • Unified CRUD and workflow actions for leads, contacts, opportunities, and tasks, including lead-to-deal conversion.
  • Rich retrieval and search across accounts, opportunities, related contacts, notes, activities, and paginated results.
  • Activity logging and task management to record calls and schedule follow-ups while preserving ownership and status semantics.
  • Org-aware validation: picklist checks, conversion guards, and contextual warnings/errors.

OAuth

  • provider: salesforce
  • scopes: read_account, read_contact, read_lead, read_note, read_opportunity, read_task, read_user, write_contact, write_lead, write_opportunity, write_task

Secrets

  • types: api_key, unknown. Examples: SALESFORCE_ORG_SUBDOMAIN (org subdomain), SALESFORCE_MAX_CONCURRENT_REQUESTS (concurrency limit).

Available tools(17)

17 of 17 tools
Operations
Behavior
Tool nameDescriptionSecrets
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 contacts under existing accounts, use create_contact.
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.
1
Creates a task (follow-up, reminder, to-do) in Salesforce. Use this for future actions like reminders, follow-ups, or to-do items. For logging a completed phone call, use LogACall 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, use CreateTask 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

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

Salesforce.ConvertLead

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
UpdateCreate
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
No

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
lead_idstringRequiredThe Salesforce ID of the lead to convert.
account_idstringOptionalExisting Account ID to link the converted lead to. If omitted, Salesforce creates a new Account from the lead's Company.
opportunity_namestringOptionalName for the new opportunity created during conversion.
converted_statusstringOptionalThe lead status to set upon conversion. Auto-detected if not provided.
skip_opportunitybooleanOptionalIf true, no opportunity is created during conversion. Defaults to False.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonConversion result with new contact, account, and opportunity IDs.
#

Salesforce.CreateContact

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
No

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

Creates a contact in Salesforce.

Parameters

ParameterTypeReq.Description
account_idstringRequiredThe ID of the account to create the contact for.
last_namestringRequiredThe last name of the contact.
first_namestringOptionalThe first name of the contact.
emailstringOptionalThe email of the contact.
phonestringOptionalThe phone number of the contact.
mobile_phonestringOptionalThe mobile phone number of the contact.
titlestringOptionalThe title of the contact. E.g. 'CEO', 'Sales Director', 'CTO', etc.
departmentstringOptionalThe department of the contact. E.g. 'Marketing', 'Sales', 'IT', etc.
descriptionstringOptionalThe description of the contact.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonThe created contact.
#

Salesforce.CreateLead

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
No

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

Creates a new lead in Salesforce. Use this when someone is a potential customer but isn't yet associated with an existing account. For contacts under existing accounts, use create_contact.

Parameters

ParameterTypeReq.Description
last_namestringRequiredThe last name of the lead.
companystringRequiredThe company the lead works for.
first_namestringOptionalThe first name of the lead.
emailstringOptionalThe lead's email address.
phonestringOptionalThe lead's phone number.
titlestringOptionalThe lead's job title.
statusstringOptionalInitial lead status. Must match the org's configured values. Defaults to the org's default status if not provided.
lead_sourcestringOptionalHow this lead originated. Must match the org's configured lead source values.
industrystringOptionalThe lead's industry.
descriptionstringOptionalNotes about the lead.
websitestringOptionalThe lead's company website.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonThe created lead ID.
#

Salesforce.CreateOpportunity

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
No

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
account_idstringRequiredThe Salesforce ID of the Account to associate with.
namestringRequiredA descriptive name for the opportunity.
stagestringRequiredThe initial pipeline stage. Must match one of the org's configured stage names.
close_datestringRequiredExpected close date in ISO format (YYYY-MM-DD).
amountnumberOptionalDeal amount in the org's default currency.
descriptionstringOptionalFree-text description or notes about the deal.
next_stepstringOptionalThe immediate next action to advance this deal.
lead_sourcestringOptionalHow this opportunity originated. Must match the org's configured lead source values.
typestringOptionalThe opportunity type. Must match the org's configured opportunity type values.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonThe created opportunity ID.
#

Salesforce.CreateTask

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
No

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

Creates a task (follow-up, reminder, to-do) in Salesforce. Use this for future actions like reminders, follow-ups, or to-do items. For logging a completed phone call, use LogACall instead.

Parameters

ParameterTypeReq.Description
subjectstringRequiredShort description of the task.
due_datestringOptionalWhen the task is due, in ISO format (YYYY-MM-DD).
prioritystringOptionalTask priority. Allowed values: High, Normal, Low.
statusstringOptionalInitial task status. Valid values are org-specific. Defaults to the org's default.
descriptionstringOptionalDetailed notes or context for the task.
account_or_opportunity_idstringOptionalSalesforce ID of the Account or Opportunity this task is related to.
contact_or_lead_idstringOptionalSalesforce ID of the Contact or Lead this task is about.
owner_user_idstringOptionalSalesforce User ID to assign this task to. Defaults to the current user.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonThe created task ID.
#

Salesforce.GetAccountDataById

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Read only
Yes

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
account_idstringRequiredThe ID of the account to get data for.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonThe account with related info: contacts, leads, notes, calls, opportunities, tasks, emails, and events (up to 10 items of each type)
#

Salesforce.GetAccountDataByKeywords

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Read only
Yes

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
querystringRequiredThe query to search for accounts. MUST be longer than one character. It will match the keywords against all account fields, such as name, website, phone, address, etc. E.g. 'Acme'
limitintegerOptionalThe maximum number of accounts to return. Defaults to 10. Maximum allowed is 10.
pageintegerOptionalThe page number to return. Defaults to 1 (first page of results).

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonThe accounts matching the query with related info: contacts, leads, notes, calls, opportunities, tasks, emails, and events (up to 10 items of each type)
#

Salesforce.GetOpportunityById

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Read only
Yes

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

Gets a single opportunity with enriched related data: contact roles, line items, open tasks, and recent notes.

Parameters

ParameterTypeReq.Description
opportunity_idstringRequiredThe Salesforce ID of the opportunity.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonThe opportunity with enriched related data.
#

Salesforce.ListMyTasks

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Read only
Yes

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
statusstringOptionalFilter by task status. Values are org-specific.
due_date_fromstringOptionalOnly return tasks due on or after this date (YYYY-MM-DD).
due_date_tostringOptionalOnly return tasks due on or before this date (YYYY-MM-DD).
overdue_onlybooleanOptionalIf true, only return tasks that are past due and not yet completed. Defaults to False.
account_or_opportunity_idstringOptionalOnly return tasks linked to this Account or Opportunity.
limitintegerOptionalMaximum results to return (1-50). Defaults to 20.
pageintegerOptionalPage number for pagination. Defaults to 1 (first page).

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonPaginated list of your tasks.
#

Salesforce.LogACall

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
No

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

Logs a completed phone call as an activity in Salesforce. Use this to record calls that already happened. For future follow-up actions, use CreateTask instead.

Parameters

ParameterTypeReq.Description
subjectstringRequiredShort description of the call.
descriptionstringOptionalCall notes, summary, or key takeaways.
duration_minutesintegerOptionalHow long the call lasted, in minutes.
account_or_opportunity_idstringOptionalSalesforce ID of the Account or Opportunity this call was about.
contact_or_lead_idstringOptionalSalesforce ID of the Contact or Lead who was on the call.
call_resultstringOptionalThe outcome of the call.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonThe logged call activity ID.
#

Salesforce.SearchContacts

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Read only
Yes

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
querystringOptionalKeyword search against contact name, email, title, and account name.
account_idstringOptionalOnly return contacts belonging to this Account.
titlestringOptionalFilter by job title (partial match).
limitintegerOptionalMaximum results to return (1-50). Defaults to 20.
pageintegerOptionalPage number for pagination. Defaults to 1 (first page).

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonPaginated list of contacts matching the search criteria.
#

Salesforce.SearchLeads

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Read only
Yes

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
querystringOptionalKeyword search against lead name, company, title, and email.
statusstringOptionalFilter by lead status. Must match one of the org's configured status values.
ownerstringOptionalFilter by owner. Defaults to the current user. Pass 'all' to search across all owners.
lead_sourcestringOptionalFilter by lead source. Must match the org's configured lead source values.
created_afterstringOptionalOnly return leads created on or after this date (YYYY-MM-DD).
limitintegerOptionalMaximum results to return (1-50). Defaults to 20.
pageintegerOptionalPage number for pagination. Defaults to 1 (first page).

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonPaginated list of leads matching the search criteria.
#

Salesforce.SearchOpportunities

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Read only
Yes

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
querystringOptionalKeyword search against opportunity name.
stagestringOptionalFilter by pipeline stage. Must match one of the org's configured stage names.
close_date_fromstringOptionalOnly return opportunities closing on or after this date. ISO format (YYYY-MM-DD).
close_date_tostringOptionalOnly return opportunities closing on or before this date. ISO format (YYYY-MM-DD).
ownerstringOptionalFilter by owner. Defaults to the current user. Pass 'all' to search across all owners.
min_amountnumberOptionalMinimum deal amount filter.
limitintegerOptionalMaximum results to return (1-50). Defaults to 20.
pageintegerOptionalPage number for pagination. Defaults to 1 (first page).

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonPaginated list of opportunities matching the search criteria.
#

Salesforce.UpdateLead

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

ParameterTypeReq.Description
lead_idstringRequiredThe Salesforce ID of the lead to update.
statusstringOptionalNew lead status. Must match the org's configured values.
first_namestringOptionalUpdated first name.
last_namestringOptionalUpdated last name.
emailstringOptionalUpdated email address.
phonestringOptionalUpdated phone number.
titlestringOptionalUpdated job title.
companystringOptionalUpdated company name.
descriptionstringOptionalUpdated notes.
lead_sourcestringOptionalUpdated lead source. Must match the org's configured lead source values.
ratingstringOptionalUpdated lead rating. Allowed values: Hot, Warm, Cold.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonUpdate result.
#

Salesforce.UpdateOpportunity

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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).

Parameters

ParameterTypeReq.Description
opportunity_idstringRequiredThe Salesforce ID of the opportunity to update.
stagestringOptionalNew pipeline stage. Must match one of the org's configured stage names.
close_datestringOptionalNew expected close date (YYYY-MM-DD).
amountnumberOptionalUpdated deal amount. May be ignored if the opportunity has line items.
next_stepstringOptionalUpdated next action to advance the deal.
descriptionstringOptionalUpdated description or notes.
namestringOptionalUpdated opportunity name.
probabilitynumberOptionalOverride win probability (0-100).
forecast_categorystringOptionalOverride forecast category.
PipelineBest CaseCommitMost LikelyOmittedClosed

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonUpdate result with any warnings.
#

Salesforce.UpdateTask

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
CRM
MCP behavior
Read only
No

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

Updates fields on an existing task. Only provided fields are changed. Use status='Completed' to mark a task as done.

Parameters

ParameterTypeReq.Description
task_idstringRequiredThe Salesforce ID of the task to update.
statusstringOptionalNew task status. Valid values are org-specific.
due_datestringOptionalNew due date (YYYY-MM-DD).
prioritystringOptionalNew priority. Allowed values: High, Normal, Low.
subjectstringOptionalUpdated task subject.
descriptionstringOptionalUpdated description.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonUpdate result.
#

Salesforce.WhoAmI

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
CRM
MCP behavior
Read only
Yes

Does not modify remote state.

Destructive
No

May delete or overwrite remote data.

Idempotent
Yes

Safe to retry without extra side effects.

Open world
Yes

Can call out to external systems.

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.

Parameters

No parameters required.

Requirements

Secrets:SALESFORCE_ORG_SUBDOMAINSALESFORCE_MAX_CONCURRENT_REQUESTS

Output

Type:jsonCurrent user profile and Salesforce organization information.
Last updated on