plugins/all-skills/skills/hubspot-automation/SKILL.md
Automate HubSpot CRM operations (contacts, companies, deals, tickets, properties) via Rube MCP using Composio integration.
npx skillsauth add davepoon/buildwithclaude hubspot-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate HubSpot CRM workflows including contact/company management, deal pipeline tracking, ticket search, and custom property creation through Composio's HubSpot toolkit.
Toolkit docs: composio.dev/toolkits/hubspot
RUBE_MANAGE_CONNECTIONS with toolkit hubspotRUBE_SEARCH_TOOLS first to get current tool schemasGet 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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit hubspotWhen to use: User wants to create new contacts or update existing ones in HubSpot CRM
Tool sequence:
HUBSPOT_GET_ACCOUNT_INFO - Verify connection and permissions (Prerequisite)HUBSPOT_SEARCH_CONTACTS_BY_CRITERIA - Search for existing contacts to avoid duplicates (Prerequisite)HUBSPOT_READ_A_CRM_PROPERTY_BY_NAME - Check property metadata for constrained values (Optional)HUBSPOT_CREATE_CONTACT - Create a single contact (Required)HUBSPOT_CREATE_CONTACTS - Batch create contacts up to 100 (Alternative)Key parameters:
HUBSPOT_CREATE_CONTACT: properties object with email, firstname, lastname, phone, companyHUBSPOT_CREATE_CONTACTS: inputs array of {properties} objects, max 100 per batchHUBSPOT_SEARCH_CONTACTS_BY_CRITERIA: filterGroups array with {filters: [{propertyName, operator, value}]}, properties array of fields to returnPitfalls:
When to use: User wants to create, search, or update company records
Tool sequence:
HUBSPOT_SEARCH_COMPANIES - Search existing companies (Prerequisite)HUBSPOT_CREATE_COMPANIES - Batch create companies, max 100 (Required)HUBSPOT_UPDATE_COMPANIES - Batch update existing companies (Alternative)HUBSPOT_GET_COMPANY - Get single company details (Optional)HUBSPOT_BATCH_READ_COMPANIES_BY_PROPERTIES - Bulk read companies by property values (Optional)Key parameters:
HUBSPOT_CREATE_COMPANIES: inputs array of {properties} objects, max 100HUBSPOT_SEARCH_COMPANIES: filterGroups, properties, sorts, limit, after (pagination cursor)Pitfalls:
When to use: User wants to search deals, view pipeline stages, or track deal progress
Tool sequence:
HUBSPOT_RETRIEVE_ALL_PIPELINES_FOR_SPECIFIED_OBJECT_TYPE - Map pipeline and stage IDs/names (Prerequisite)HUBSPOT_SEARCH_DEALS - Search deals with filters (Required)HUBSPOT_RETRIEVE_PIPELINE_STAGES - Get stage details for one pipeline (Optional)HUBSPOT_RETRIEVE_OWNERS - Get owner/rep details (Optional)HUBSPOT_GET_DEAL - Get single deal details (Optional)HUBSPOT_LIST_DEALS - List all deals without filters (Fallback)Key parameters:
HUBSPOT_SEARCH_DEALS: filterGroups with filters on pipeline, dealstage, createdate, closedate, hubspot_owner_id; properties, sorts, limit, afterHUBSPOT_RETRIEVE_ALL_PIPELINES_FOR_SPECIFIED_OBJECT_TYPE: objectType set to 'deals'Pitfalls:
response.data.results; properties are often strings (amounts, dates)label field for displaypipeline, dealstage, createdate), not display namespaging.next.after until absentWhen to use: User wants to find support tickets by status, date, or criteria
Tool sequence:
HUBSPOT_SEARCH_TICKETS - Search with filterGroups (Required)HUBSPOT_READ_ALL_PROPERTIES_FOR_OBJECT_TYPE - Discover available property names (Fallback)HUBSPOT_GET_TICKET - Get single ticket details (Optional)HUBSPOT_GET_TICKETS - Bulk fetch tickets by IDs (Optional)Key parameters:
HUBSPOT_SEARCH_TICKETS: filterGroups, properties (only listed fields are returned), sorts, limit, afterPitfalls:
propertyName/operator returns zero results without errorsproperties array are returned; missing ones break downstream logicWhen to use: User wants to add custom fields to CRM objects
Tool sequence:
HUBSPOT_READ_ALL_PROPERTIES_FOR_OBJECT_TYPE - List existing properties (Prerequisite)HUBSPOT_READ_PROPERTY_GROUPS_FOR_OBJECT_TYPE - List property groups (Optional)HUBSPOT_CREATE_PROPERTY_FOR_SPECIFIED_OBJECT_TYPE - Create a single property (Required)HUBSPOT_CREATE_BATCH_OF_PROPERTIES - Batch create properties (Alternative)HUBSPOT_UPDATE_SPECIFIC_CRM_PROPERTY - Update existing property definition (Optional)Key parameters:
HUBSPOT_CREATE_PROPERTY_FOR_SPECIFIED_OBJECT_TYPE: objectType, name, label, type (string/number/date/enumeration), fieldType, groupName, options (for enumerations)Pitfalls:
value and labelHUBSPOT_READ_ALL_PROPERTIES_FOR_OBJECT_TYPEHUBSPOT_RETRIEVE_ALL_PIPELINES_FOR_SPECIFIED_OBJECT_TYPEHUBSPOT_RETRIEVE_OWNERSpaging.next.after until absentafter value from previous response to get next pageCREATE_CONTACTS, CREATE_COMPANIES, UPDATE_COMPANIES) instead of single-record endpoints for efficiencyREAD_ALL_PROPERTIES_FOR_OBJECT_TYPE to discover correct namesresponse.data.results with properties as string valuespaging.next.after cursor, not page numbers. Continue until after is absentHUBSPOT_GET_ACCOUNT_INFO first; auth failures cascade to all subsequent callsHUBSPOT_CREATE_CONTACT | properties: {email, firstname, lastname} |
| Batch create contacts | HUBSPOT_CREATE_CONTACTS | inputs: [{properties}] (max 100) |
| Search contacts | HUBSPOT_SEARCH_CONTACTS_BY_CRITERIA | filterGroups, properties, limit, after |
| Create companies | HUBSPOT_CREATE_COMPANIES | inputs: [{properties}] (max 100) |
| Search companies | HUBSPOT_SEARCH_COMPANIES | filterGroups, properties, after |
| Search deals | HUBSPOT_SEARCH_DEALS | filterGroups, properties, after |
| Get pipelines | HUBSPOT_RETRIEVE_ALL_PIPELINES_FOR_SPECIFIED_OBJECT_TYPE | objectType: 'deals' |
| Search tickets | HUBSPOT_SEARCH_TICKETS | filterGroups, properties, after |
| List properties | HUBSPOT_READ_ALL_PROPERTIES_FOR_OBJECT_TYPE | objectType |
| Create property | HUBSPOT_CREATE_PROPERTY_FOR_SPECIFIED_OBJECT_TYPE | objectType, name, label, type, fieldType |
| Get owners | HUBSPOT_RETRIEVE_OWNERS | None |
| Verify connection | HUBSPOT_GET_ACCOUNT_INFO | None |Powered by Composio
tools
Assesses the current state of the startup project and recommends what to focus on next. Use when there is a need or a question from the user to understand what the next steps are or what to focus on next.
data-ai
Use at the start of any conversation about a startup idea, product validation, founder strategy, or work inside a `startup/` workspace. Establishes file conventions, voice-input handling, subagent dispatch rules, and how to update each artifact safely. Activate before invoking any other startup-superpowers skill.
tools
Manages the founder's survey-based validation — crafting the right questions, deploying a survey to the internet, and analyzing results against hypotheses. Use when the founder wants to run a survey, create survey questions, validate hypotheses at scale, check how a survey is going, understand whether a survey is the right tool right now, or deploy a question set to get quantitative signal. Also bring this up if you believe that creating a survey to collect quantitative evidence may be useful at this point.
development
Guides the founder through designing and optionally building the simplest MVP or prototype that validates their current hypotheses. Use when the founder wants to build something to test assumptions, discusses what to build next, wants to interpret results from a live MVP, or is deciding whether the current approach is still right. Also use when a founder proposes something to build — the skill will check whether the proposed form is the simplest thing that generates honest signal.