Automate Salesforce CRM operations through Composio's Salesforce toolkit via Rube MCP.
Toolkit docs
:
composio.dev/toolkits/salesforce
Prerequisites
Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
Active Salesforce connection via
RUBE_MANAGE_CONNECTIONS
with toolkit
salesforce
Always call
RUBE_SEARCH_TOOLS
first to get current tool schemas
Setup
Get Rube MCP
Add
https://rube.app/mcp
as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS
responds
Call
RUBE_MANAGE_CONNECTIONS
with toolkit
salesforce
If connection is not ACTIVE, follow the returned auth link to complete Salesforce OAuth
Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage Leads
When to use
User wants to create, search, update, or list leads
Tool sequence
:
SALESFORCE_SEARCH_LEADS
- Search leads by criteria [Optional]
SALESFORCE_LIST_LEADS
- List all leads [Optional]
SALESFORCE_CREATE_LEAD
- Create a new lead [Optional]
SALESFORCE_UPDATE_LEAD
- Update lead fields [Optional]
SALESFORCE_ADD_LEAD_TO_CAMPAIGN
- Add lead to campaign [Optional]
SALESFORCE_APPLY_LEAD_ASSIGNMENT_RULES
- Apply assignment rules [Optional]
Key parameters
:
LastName
Required for lead creation
Company
Required for lead creation
Email
,
Phone
,
Title
Common lead fields
lead_id
Lead ID for updates
campaign_id
Campaign ID for campaign operations
Pitfalls
:
LastName and Company are required fields for lead creation
Lead IDs are 15 or 18 character Salesforce IDs
2. Manage Contacts and Accounts
When to use
User wants to manage contacts and their associated accounts
Tool sequence
:
SALESFORCE_SEARCH_CONTACTS
- Search contacts [Optional]
SALESFORCE_LIST_CONTACTS
- List contacts [Optional]
SALESFORCE_CREATE_CONTACT
- Create a new contact [Optional]
SALESFORCE_SEARCH_ACCOUNTS
- Search accounts [Optional]
SALESFORCE_CREATE_ACCOUNT
- Create a new account [Optional]
SALESFORCE_ASSOCIATE_CONTACT_TO_ACCOUNT
- Link contact to account [Optional]
Key parameters
:
LastName
Required for contact creation
Name
Account name for creation
AccountId
Account ID to associate with contact
contact_id
,
account_id
IDs for association
Pitfalls
:
Contact requires at least LastName
Account association requires both valid contact and account IDs
3. Manage Opportunities
When to use
User wants to track and manage sales opportunities
Tool sequence
:
SALESFORCE_SEARCH_OPPORTUNITIES
- Search opportunities [Optional]
SALESFORCE_LIST_OPPORTUNITIES
- List all opportunities [Optional]
SALESFORCE_GET_OPPORTUNITY
- Get opportunity details [Optional]
SALESFORCE_CREATE_OPPORTUNITY
- Create new opportunity [Optional]
SALESFORCE_RETRIEVE_OPPORTUNITIES_DATA
- Retrieve opportunity data [Optional]
Key parameters
:
Name
Opportunity name (required)
StageName
Sales stage (required)
CloseDate
Expected close date (required)
Amount
Deal value
AccountId
Associated account
Pitfalls
:
Name, StageName, and CloseDate are required for creation
Stage names must match exactly what is configured in Salesforce
4. Run SOQL Queries
When to use
User wants to query Salesforce data with custom SOQL
Tool sequence
:
SALESFORCE_RUN_SOQL_QUERY
/
SALESFORCE_QUERY
- Execute SOQL [Required]
Key parameters
:
query
SOQL query string
Pitfalls
:
SOQL syntax differs from SQL; uses Salesforce object and field API names
Field API names may differ from display labels (e.g.,
Account.Name
not
Account Name
)
Results are paginated for large datasets
5. Manage Tasks
When to use
User wants to create, search, update, or complete tasks
Tool sequence
:
SALESFORCE_SEARCH_TASKS
- Search tasks [Optional]
SALESFORCE_UPDATE_TASK
- Update task fields [Optional]
SALESFORCE_COMPLETE_TASK
- Mark task as complete [Optional]
Key parameters
:
task_id
Task ID for updates
Status
Task status value
Subject
Task subject
Pitfalls
:
Task status values must match picklist options in Salesforce
Common Patterns
SOQL Syntax
Basic query
:
SELECT Id, Name, Email FROM Contact WHERE LastName = 'Smith'
With relationships
:
SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = 'Technology'
Date filtering
:
SELECT Id, Name FROM Lead WHERE CreatedDate = TODAY
SELECT Id, Name FROM Opportunity WHERE CloseDate = NEXT_MONTH
Pagination
SOQL queries with large results return pagination tokens
Use
SALESFORCE_QUERY
with nextRecordsUrl for pagination
Check
done
field in response; if false, continue paging
Known Pitfalls
Field API Names
:
Always use API names, not display labels
Custom fields end with
__c
suffix
Use SALESFORCE_GET_ALL_CUSTOM_OBJECTS to discover custom objects
ID Formats
:
Salesforce IDs are 15 (case-sensitive) or 18 (case-insensitive) characters
Both formats are accepted in most operations
Quick Reference
Task
Tool Slug
Key Params
Create lead
SALESFORCE_CREATE_LEAD
LastName, Company
Search leads
SALESFORCE_SEARCH_LEADS
query
List leads
SALESFORCE_LIST_LEADS
(filters)
Update lead
SALESFORCE_UPDATE_LEAD
lead_id, fields
Create contact
SALESFORCE_CREATE_CONTACT
LastName
Search contacts
SALESFORCE_SEARCH_CONTACTS
query
Create account
SALESFORCE_CREATE_ACCOUNT
Name
Search accounts
SALESFORCE_SEARCH_ACCOUNTS
query
Link contact
SALESFORCE_ASSOCIATE_CONTACT_TO_ACCOUNT
contact_id, account_id
Create opportunity
SALESFORCE_CREATE_OPPORTUNITY
Name, StageName, CloseDate
Get opportunity
SALESFORCE_GET_OPPORTUNITY
opportunity_id
Search opportunities
SALESFORCE_SEARCH_OPPORTUNITIES
query
Run SOQL
SALESFORCE_RUN_SOQL_QUERY
query
Query
SALESFORCE_QUERY
query
Search tasks
SALESFORCE_SEARCH_TASKS
query
Update task
SALESFORCE_UPDATE_TASK
task_id, fields
Complete task
SALESFORCE_COMPLETE_TASK
task_id
Get user info
SALESFORCE_GET_USER_INFO
(none)
Custom objects
SALESFORCE_GET_ALL_CUSTOM_OBJECTS
(none)
Create record
SALESFORCE_CREATE_A_RECORD
object_type, fields
Transfer ownership
SALESFORCE_MASS_TRANSFER_OWNERSHIP
records, new_owner
Powered by
Composio