pipedrive-automation
npx skills add https://github.com/composiohq/awesome-claude-skills --skill pipedrive-automation
Agent 安装分布
Skill 文档
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 (RUBE_SEARCH_TOOLS available)
- Active Pipedrive connection via
RUBE_MANAGE_CONNECTIONSwith toolkitpipedrive - Always call
RUBE_SEARCH_TOOLSfirst 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_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith 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:
PIPEDRIVE_SEARCH_ORGANIZATIONS– Find existing org to link to the deal [Optional]PIPEDRIVE_ADD_AN_ORGANIZATION– Create organization if none found [Optional]PIPEDRIVE_SEARCH_PERSONS– Find existing contact to link [Optional]PIPEDRIVE_ADD_A_PERSON– Create contact if none found [Optional]PIPEDRIVE_GET_ALL_PIPELINES– Resolve pipeline ID [Prerequisite]PIPEDRIVE_GET_ALL_STAGES– Resolve stage ID within the pipeline [Prerequisite]PIPEDRIVE_ADD_A_DEAL– Create the deal with title, value, org_id, person_id, stage_id [Required]PIPEDRIVE_UPDATE_A_DEAL– Modify deal properties after creation [Optional]PIPEDRIVE_ADD_A_PRODUCT_TO_A_DEAL– 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”)pipeline_id/stage_id: Numeric IDs for pipeline placementorg_id/person_id: Link to organization and contactstatus: “open”, “won”, or “lost”expected_close_date: Format YYYY-MM-DD
Pitfalls:
titleis the only required field forPIPEDRIVE_ADD_A_DEAL; all others are optional- Custom fields appear as long hash keys in responses; use dealFields endpoint to map them
PIPEDRIVE_UPDATE_A_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:
PIPEDRIVE_SEARCH_PERSONS– Search for existing person by name, email, or phone [Prerequisite]PIPEDRIVE_ADD_A_PERSON– Create new contact if not found [Required]PIPEDRIVE_UPDATE_A_PERSON– Modify existing contact details [Optional]PIPEDRIVE_GET_DETAILS_OF_A_PERSON– Retrieve full contact record [Optional]PIPEDRIVE_SEARCH_ORGANIZATIONS– Search for existing organization [Prerequisite]PIPEDRIVE_ADD_AN_ORGANIZATION– Create new organization if not found [Required]PIPEDRIVE_UPDATE_AN_ORGANIZATION– Modify organization properties [Optional]PIPEDRIVE_GET_DETAILS_OF_AN_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 SEARCH_PERSONS / SEARCH_ORGANIZATIONS (minimum 2 characters)
Pitfalls:
PIPEDRIVE_ADD_AN_ORGANIZATIONmay auto-merge with an existing org; checkresponse.additional_data.didMerge- Email and phone fields are arrays of objects, not plain strings:
[{"value": "test@example.com", "label": "work", "primary": true}] PIPEDRIVE_SEARCH_PERSONSwildcards like*or@are NOT supported; usePIPEDRIVE_GET_ALL_PERSONSto list all- Deletion via
PIPEDRIVE_DELETE_A_PERSONorPIPEDRIVE_DELETE_AN_ORGANIZATIONis 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:
PIPEDRIVE_SEARCH_PERSONSorPIPEDRIVE_GET_DETAILS_OF_A_DEAL– Resolve linked entity IDs [Prerequisite]PIPEDRIVE_ADD_AN_ACTIVITY– Create the activity with subject, type, due date [Required]PIPEDRIVE_UPDATE_AN_ACTIVITY– Modify activity details or mark as done [Optional]PIPEDRIVE_GET_DETAILS_OF_AN_ACTIVITY– Retrieve activity record [Optional]PIPEDRIVE_GET_ALL_ACTIVITIES_ASSIGNED_TO_A_PARTICULAR_USER– 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)deal_id/person_id/org_id: Link to related entitiesdone: 0 = not done, 1 = done
Pitfalls:
- Both
subjectandtypeare required forPIPEDRIVE_ADD_AN_ACTIVITY typemust match an existing ActivityTypes key_string in the accountdoneis an integer (0 or 1), not a boolean- Response includes
more_activities_scheduled_in_contextin additional_data
4. Add and Manage Notes
When to use: User wants to attach notes to deals, persons, organizations, leads, or projects.
Tool sequence:
PIPEDRIVE_SEARCH_PERSONSorPIPEDRIVE_GET_DETAILS_OF_A_DEAL– Resolve entity ID [Prerequisite]PIPEDRIVE_ADD_A_NOTE– Create note with HTML content linked to an entity [Required]PIPEDRIVE_UPDATE_A_NOTE– Modify note content [Optional]PIPEDRIVE_GET_ALL_NOTES– List notes filtered by entity [Optional]PIPEDRIVE_GET_ALL_COMMENTS_FOR_A_NOTE– Retrieve comments on a note [Optional]
Key parameters:
content: Note body in HTML format (required)deal_id/person_id/org_id/lead_id/project_id: At least one entity link requiredpinned_to_deal_flag/pinned_to_person_flag: Filter pinned notes when listing
Pitfalls:
contentis required and supports HTML; plain text works but is sanitized server-side- At least one of
deal_id,person_id,org_id,lead_id, orproject_idmust be provided PIPEDRIVE_GET_ALL_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:
PIPEDRIVE_GET_ALL_PIPELINES– List all pipelines and their IDs [Required]PIPEDRIVE_GET_ONE_PIPELINE– Get details and deal summary for a specific pipeline [Optional]PIPEDRIVE_GET_ALL_STAGES– List all stages, optionally filtered by pipeline [Required]PIPEDRIVE_GET_ONE_STAGE– Get details for a specific stage [Optional]PIPEDRIVE_GET_DEALS_IN_A_PIPELINE– List all deals across stages in a pipeline [Optional]PIPEDRIVE_GET_DEALS_IN_A_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 pipelinetotals_convert_currency: 3-letter currency code or “default_currency” for converted totalsget_summary: Set to 1 for deal summary in pipeline responses
Pitfalls:
PIPEDRIVE_GET_ALL_PIPELINEStakes no parameters; returns all pipelinesPIPEDRIVE_GET_ALL_STAGESreturns stages for ALL pipelines unlesspipeline_idis specified- Deal counts in pipeline summaries use
per_stages_convertedonly whentotals_convert_currencyis set
Common Patterns
ID Resolution
Always resolve display names to numeric IDs before operations:
- Organization name -> org_id:
PIPEDRIVE_SEARCH_ORGANIZATIONSwithtermparam - Person name -> person_id:
PIPEDRIVE_SEARCH_PERSONSwithtermparam - Pipeline name -> pipeline_id:
PIPEDRIVE_GET_ALL_PIPELINESthen match by name - Stage name -> stage_id:
PIPEDRIVE_GET_ALL_STAGESwithpipeline_idthen match by name
Pagination
Most list endpoints use offset-based pagination:
- Use
start(offset) andlimit(page size) parameters - Check
additional_data.pagination.more_items_in_collectionto know if more pages exist - Use
additional_data.pagination.next_startas 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
PIPEDRIVE_GET_ALL_PERSONSandPIPEDRIVE_GET_ALL_ORGANIZATIONScan 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 PIPEDRIVE_SEARCH_PERSONSrequires 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 | PIPEDRIVE_ADD_A_DEAL |
title, value, org_id, stage_id |
| Update deal | PIPEDRIVE_UPDATE_A_DEAL |
id, status, value, stage_id |
| Get deal details | PIPEDRIVE_GET_DETAILS_OF_A_DEAL |
id |
| Search persons | PIPEDRIVE_SEARCH_PERSONS |
term, fields |
| Add person | PIPEDRIVE_ADD_A_PERSON |
name, email, phone, org_id |
| Update person | PIPEDRIVE_UPDATE_A_PERSON |
id, name, email |
| Get person details | PIPEDRIVE_GET_DETAILS_OF_A_PERSON |
id |
| List all persons | PIPEDRIVE_GET_ALL_PERSONS |
start, limit, filter_id |
| Search organizations | PIPEDRIVE_SEARCH_ORGANIZATIONS |
term, fields |
| Add organization | PIPEDRIVE_ADD_AN_ORGANIZATION |
name, visible_to |
| Update organization | PIPEDRIVE_UPDATE_AN_ORGANIZATION |
id, name, address |
| Get org details | PIPEDRIVE_GET_DETAILS_OF_AN_ORGANIZATION |
id |
| Add activity | PIPEDRIVE_ADD_AN_ACTIVITY |
subject, type, due_date, deal_id |
| Update activity | PIPEDRIVE_UPDATE_AN_ACTIVITY |
id, done, due_date |
| Get activity details | PIPEDRIVE_GET_DETAILS_OF_AN_ACTIVITY |
id |
| List user activities | PIPEDRIVE_GET_ALL_ACTIVITIES_ASSIGNED_TO_A_PARTICULAR_USER |
user_id, start, limit |
| Add note | PIPEDRIVE_ADD_A_NOTE |
content, deal_id or person_id |
| List notes | PIPEDRIVE_GET_ALL_NOTES |
deal_id, person_id, start, limit |
| List pipelines | PIPEDRIVE_GET_ALL_PIPELINES |
(none) |
| Get pipeline details | PIPEDRIVE_GET_ONE_PIPELINE |
id |
| List stages | PIPEDRIVE_GET_ALL_STAGES |
pipeline_id |
| Deals in pipeline | PIPEDRIVE_GET_DEALS_IN_A_PIPELINE |
id, stage_id |
| Deals in stage | PIPEDRIVE_GET_DEALS_IN_A_STAGE |
id, start, limit |
| Add product to deal | PIPEDRIVE_ADD_A_PRODUCT_TO_A_DEAL |
id, product_id, item_price |