Adds pre-built workflow skills for 78 SaaS apps across 16 categories: CRM, project management, communication, email, code/DevOps, storage, spreadsheets, calendar, social media, marketing, support, e-commerce, design, analytics, HR, and automation platforms. Each skill includes: - Real tool slugs discovered from Composio's RUBE_SEARCH_TOOLS API - Step-by-step workflow sequences with [Prerequisite/Required/Optional] tags - Key parameter documentation with format guidance - Known pitfalls from actual API behavior - Quick reference tables for all available tools - Setup instructions for Rube MCP connection Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
188 lines
6.5 KiB
Markdown
188 lines
6.5 KiB
Markdown
---
|
|
name: salesforce-automation
|
|
description: Automate Salesforce tasks via Rube MCP (Composio): leads, contacts, accounts, opportunities, SOQL queries. Always search tools first for current schemas.
|
|
requires:
|
|
mcp: [rube]
|
|
---
|
|
|
|
# Salesforce Automation via Rube MCP
|
|
|
|
Automate Salesforce CRM operations through Composio's Salesforce toolkit via Rube MCP.
|
|
|
|
## 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
|
|
|
|
1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
|
|
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `salesforce`
|
|
3. If connection is not ACTIVE, follow the returned auth link to complete Salesforce OAuth
|
|
4. 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**:
|
|
1. `SALESFORCE_SEARCH_LEADS` - Search leads by criteria [Optional]
|
|
2. `SALESFORCE_LIST_LEADS` - List all leads [Optional]
|
|
3. `SALESFORCE_CREATE_LEAD` - Create a new lead [Optional]
|
|
4. `SALESFORCE_UPDATE_LEAD` - Update lead fields [Optional]
|
|
5. `SALESFORCE_ADD_LEAD_TO_CAMPAIGN` - Add lead to campaign [Optional]
|
|
6. `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**:
|
|
1. `SALESFORCE_SEARCH_CONTACTS` - Search contacts [Optional]
|
|
2. `SALESFORCE_LIST_CONTACTS` - List contacts [Optional]
|
|
3. `SALESFORCE_CREATE_CONTACT` - Create a new contact [Optional]
|
|
4. `SALESFORCE_SEARCH_ACCOUNTS` - Search accounts [Optional]
|
|
5. `SALESFORCE_CREATE_ACCOUNT` - Create a new account [Optional]
|
|
6. `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**:
|
|
1. `SALESFORCE_SEARCH_OPPORTUNITIES` - Search opportunities [Optional]
|
|
2. `SALESFORCE_LIST_OPPORTUNITIES` - List all opportunities [Optional]
|
|
3. `SALESFORCE_GET_OPPORTUNITY` - Get opportunity details [Optional]
|
|
4. `SALESFORCE_CREATE_OPPORTUNITY` - Create new opportunity [Optional]
|
|
5. `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**:
|
|
1. `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**:
|
|
1. `SALESFORCE_SEARCH_TASKS` - Search tasks [Optional]
|
|
2. `SALESFORCE_UPDATE_TASK` - Update task fields [Optional]
|
|
3. `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 |
|