mcpbeat

Salesforce Automation

davepoon/salesforce-automation

Automate Salesforce tasks via Rube MCP (Composio): leads, contacts, accounts, opportunities, SOQL queries. Always search tools first for current schemas.

2k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
3248
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/davepoon/buildwithclaude --skill salesforce-automation

MCP servers it needs

declared by the author in the skill header

Not in the registry: rube

The skill names a server we cannot find in the official MCP registry. It may be private, renamed, or never published — either way, the skill will not work until you have it.

The instruction itself

14 sections, as written by the author

Salesforce Automation via Rube MCP

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*

How to use it

Copy the folder

Take davepoon/salesforce-automation from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.