SKILL.md
Pipedrive Automation via Rube MCP
Automate Pipedrive CRM workflows including deal management, contact and organization operations, activity scheduling, notes, and pipeline/stage queries through Composio's Pipedrive toolkit.
Prerequisites
- Rube MCP must be connected (RUBESEARCHTOOLS available)
- Active Pipedrive connection via
RUBEMANAGECONNECTIONSwith toolkitpipedrive - Always call
RUBESEARCHTOOLSfirst 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
RUBESEARCHTOOLSresponds - Call
RUBEMANAGECONNECTIONSwith toolkitpipedrive - If connection is not ACTIVE, follow the returned auth link to complete Pipedrive OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create and Manage Deals
When to use: User wants to create a new deal, update an existing deal, or review deal details in the sales pipeline.
Tool sequence:
PIPEDRIVESEARCHORGANIZATIONS- Find existing org to link to the deal [Optional]PIPEDRIVEADDAN_ORGANIZATION- Create organization if none found [Optional]PIPEDRIVESEARCHPERSONS- Find existing contact to link [Optional]PIPEDRIVEADDA_PERSON- Create contact if none found [Optional]PIPEDRIVEGETALL_PIPELINES- Resolve pipeline ID [Prerequisite]PIPEDRIVEGETALL_STAGES- Resolve stage ID within the pipeline [Prerequisite]PIPEDRIVEADDADEAL- Create the deal with title, value, orgid, personid, stageid [Required]PIPEDRIVEUPDATEA_DEAL- Modify deal properties after creation [Optional]PIPEDRIVEADDAPRODUCTTOADEAL- Attach line items/products [Optional]
Key parameters:
title: Deal title (required for creation)value: Monetary value of the dealcurrency: 3-letter ISO currency code (e.g., "USD")pipelineid/stageid: Numeric IDs for pipeline placementorgid/personid: Link to organization and contactstatus: "open", "won", or "lost"expectedclosedate: Format YYYY-MM-DD
Pitfalls:
titleis the only required field forPIPEDRIVEADDA_DEAL; all others are optional- Custom fields appear as long hash keys in responses; use dealFields endpoint to map them
PIPEDRIVEUPDATEA_DEALrequires the numericidof the deal- Setting
statusto "lost" requires also providinglost_reason
2. Manage Contacts (Persons and Organizations)
When to use: User wants to create, update, search, or list contacts and companies in Pipedrive.
Tool sequence:
PIPEDRIVESEARCHPERSONS- Search for existing person by name, email, or phone [Prerequisite]PIPEDRIVEADDA_PERSON- Create new contact if not found [Required]PIPEDRIVEUPDATEA_PERSON- Modify existing contact details [Optional]PIPEDRIVEGETDETAILSOFA_PERSON- Retrieve full contact record [Optional]PIPEDRIVESEARCHORGANIZATIONS- Search for existing organization [Prerequisite]PIPEDRIVEADDAN_ORGANIZATION- Create new organization if not found [Required]PIPEDRIVEUPDATEAN_ORGANIZATION- Modify organization properties [Optional]PIPEDRIVEGETDETAILSOFAN_ORGANIZATION- Retrieve full org record [Optional]
Key parameters:
name: Required for both person and organization creationemail: Array of objects withvalue,label,primaryfields for personsphone: Array of objects withvalue,label,primaryfields for personsorg_id: Link a person to an organizationvisible_to: 1 = owner only, 3 = entire companyterm: Search term for SEARCHPERSONS / SEARCHORGANIZATIONS (minimum 2 characters)
Pitfalls:
PIPEDRIVEADDANORGANIZATIONmay auto-merge with an existing org; checkresponse.additionaldata.didMerge- Email and phone fields are arrays of objects, not plain strings:
[{"value": "[email protected]", "label": "work", "primary": true}] PIPEDRIVESEARCHPERSONSwildcards like*or@are NOT supported; usePIPEDRIVEGETALL_PERSONSto list all- Deletion via
PIPEDRIVEDELETEAPERSONorPIPEDRIVEDELETEANORGANIZATIONis soft-delete with 30-day retention, then permanent
3. Schedule and Track Activities
When to use: User wants to create calls, meetings, tasks, or other activities linked to deals, contacts, or organizations.
Tool sequence:
PIPEDRIVESEARCHPERSONSorPIPEDRIVEGETDETAILSOFA_DEAL- Resolve linked entity IDs [Prerequisite]PIPEDRIVEADDAN_ACTIVITY- Create the activity with subject, type, due date [Required]PIPEDRIVEUPDATEAN_ACTIVITY- Modify activity details or mark as done [Optional]PIPEDRIVEGETDETAILSOFAN_ACTIVITY- Retrieve activity record [Optional]PIPEDRIVEGETALLACTIVITIESASSIGNEDTOAPARTICULARUSER- List user's activities [Optional]
Key parameters:
subject: Activity title (required)type: Activity type key string, e.g., "call", "meeting", "task", "email" (required)due_date: Format YYYY-MM-DDdue_time: Format HH:MMduration: Format HH:MM (e.g., "00:30" for 30 minutes)dealid/personid/org_id: Link to related entitiesdone: 0 = not done, 1 = done
Pitfalls:
- Both
subjectandtypeare required forPIPEDRIVEADDAN_ACTIVITY typemust match an existing ActivityTypes key_string in the accountdoneis an integer (0 or 1), not a boolean- Response includes
moreactivitiesscheduledincontextin additional_data
4. Add and Manage Notes
When to use: User wants to attach notes to deals, persons, organizations, leads, or projects.
Tool sequence:
PIPEDRIVESEARCHPERSONSorPIPEDRIVEGETDETAILSOFA_DEAL- Resolve entity ID [Prerequisite]PIPEDRIVEADDA_NOTE- Create note with HTML content linked to an entity [Required]PIPEDRIVEUPDATEA_NOTE- Modify note content [Optional]PIPEDRIVEGETALL_NOTES- List notes filtered by entity [Optional]PIPEDRIVEGETALLCOMMENTSFORANOTE- Retrieve comments on a note [Optional]
Key parameters:
content: Note body in HTML format (required)dealid/personid/orgid/leadid/project_id: At least one entity link requiredpinnedtodealflag/pinnedtopersonflag: Filter pinned notes when listing
Pitfalls:
contentis required and supports HTML; plain text works but is sanitized server-side- At least one of
dealid,personid,orgid,leadid, orproject_idmust be provided PIPEDRIVEGETALL_NOTESreturns notes across all entities by default; filter with entity ID params
5. Query Pipelines and Stages
When to use: User wants to view sales pipelines, stages, or deals within a pipeline/stage.
Tool sequence:
PIPEDRIVEGETALL_PIPELINES- List all pipelines and their IDs [Required]PIPEDRIVEGETONE_PIPELINE- Get details and deal summary for a specific pipeline [Optional]PIPEDRIVEGETALL_STAGES- List all stages, optionally filtered by pipeline [Required]PIPEDRIVEGETONE_STAGE- Get details for a specific stage [Optional]PIPEDRIVEGETDEALSINA_PIPELINE- List all deals across stages in a pipeline [Optional]PIPEDRIVEGETDEALSINA_STAGE- List deals in a specific stage [Optional]
Key parameters:
id: Pipeline or stage ID (required for single-item endpoints)pipeline_id: Filter stages by pipelinetotalsconvertcurrency: 3-letter currency code or "default_currency" for converted totalsget_summary: Set to 1 for deal summary in pipeline responses
Pitfalls:
PIPEDRIVEGETALL_PIPELINEStakes no parameters; returns all pipelinesPIPEDRIVEGETALLSTAGESreturns stages for ALL pipelines unlesspipelineidis specified- Deal counts in pipeline summaries use
perstagesconvertedonly whentotalsconvertcurrencyis set
Common Patterns
ID Resolution
Always resolve display names to numeric IDs before operations:
- Organization name -> orgid:
PIPEDRIVESEARCH_ORGANIZATIONSwithtermparam - Person name -> personid:
PIPEDRIVESEARCH_PERSONSwithtermparam - Pipeline name -> pipelineid:
PIPEDRIVEGETALLPIPELINESthen match by name - Stage name -> stageid:
PIPEDRIVEGETALLSTAGESwithpipeline_idthen match by name
Pagination
Most list endpoints use offset-based pagination:
- Use
start(offset) andlimit(page size) parameters - Check
additionaldata.pagination.moreitemsincollectionto know if more pages exist - Use
additionaldata.pagination.nextstartas thestartvalue for the next page - Default limit is ~500 for some endpoints; set explicitly for predictable paging
Known Pitfalls
ID Formats
- All entity IDs (deal, person, org, activity, pipeline, stage) are numeric integers
- Lead IDs are UUID strings, not integers
- Custom field keys are long alphanumeric hashes (e.g., "a1b2c3d4e5f6...")
Rate Limits
- Pipedrive enforces per-company API rate limits; bulk operations should be paced
PIPEDRIVEGETALLPERSONSandPIPEDRIVEGETALLORGANIZATIONScan return large datasets; always paginate
Parameter Quirks
- Email and phone on persons are arrays of objects, not plain strings
visible_tois numeric: 1 = owner only, 3 = entire company, 5 = specific groupsdoneon activities is integer 0/1, not boolean true/false- Organization creation may auto-merge duplicates silently; check
didMergein response PIPEDRIVESEARCHPERSONSrequires minimum 2 characters and does not support wildcards
Response Structure
- Custom fields appear as hash keys in responses; map them via the respective Fields endpoints
- Responses often nest data under
response.data.datain wrapped executions - Search results are under
response.data.items, not top-level
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Create deal | PIPEDRIVEADDA_DEAL |
title, value, orgid, stageid |
| Update deal | PIPEDRIVEUPDATEA_DEAL |
id, status, value, stage_id |
| Get deal details | PIPEDRIVEGETDETAILSOFA_DEAL |
id |
| Search persons | PIPEDRIVESEARCHPERSONS |
term, fields |
| Add person | PIPEDRIVEADDA_PERSON |
name, email, phone, org_id |
| Update person | PIPEDRIVEUPDATEA_PERSON |
id, name, email |
| Get person details | PIPEDRIVEGETDETAILSOFA_PERSON |
id |
| List all persons | PIPEDRIVEGETALL_PERSONS |
start, limit, filter_id |
| Search organizations | PIPEDRIVESEARCHORGANIZATIONS |
term, fields |
| Add organization | PIPEDRIVEADDAN_ORGANIZATION |
name, visible_to |
| Update organization | PIPEDRIVEUPDATEAN_ORGANIZATION |
id, name, address |
| Get org details | PIPEDRIVEGETDETAILSOFAN_ORGANIZATION |
id |
| Add activity | PIPEDRIVEADDAN_ACTIVITY |
subject, type, duedate, dealid |
| Update activity | PIPEDRIVEUPDATEAN_ACTIVITY |
id, done, due_date |
| Get activity details | PIPEDRIVEGETDETAILSOFAN_ACTIVITY |
id |
| List user activities | PIPEDRIVEGETALLACTIVITIESASSIGNEDTOAPARTICULARUSER |
user_id, start, limit |
| Add note | PIPEDRIVEADDA_NOTE |
content, dealid or personid |
| List notes | PIPEDRIVEGETALL_NOTES |
dealid, personid, start, limit |
| List pipelines | PIPEDRIVEGETALL_PIPELINES |
(none) |
| Get pipeline details | PIPEDRIVEGETONE_PIPELINE |
id |
| List stages | PIPEDRIVEGETALL_STAGES |
pipeline_id |
| Deals in pipeline | PIPEDRIVEGETDEALSINA_PIPELINE |
id, stage_id |
| Deals in stage | PIPEDRIVEGETDEALSINA_STAGE |
id, start, limit |
| Add product to deal | PIPEDRIVEADDAPRODUCTTOADEAL |
id, productid, itemprice |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Example
User request:
Automate Pipedrive CRM operations including deals, contacts, organizations, activities, notes, and pipeline management via Rube MCP (Composio).
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.