pipedrive-automation
Automate Pipedrive CRM operations including deals, contacts, organizations, activities, notes, and pipeline management via Rube MCP (Composio). Always search tools first for current schemas.
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_MANAGE_CONNECTIONS with toolkit pipedriveRUBE_SEARCH_TOOLS first to get current tool schemasSetup
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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit pipedriveCore 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-DDPitfalls:
title is the only required field for PIPEDRIVE_ADD_A_DEAL; all others are optionalPIPEDRIVE_UPDATE_A_DEAL requires the numeric id of the dealstatus to "lost" requires also providing lost_reason2. 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 with value, label, primary fields for personsphone: Array of objects with value, label, primary fields 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_ORGANIZATION may auto-merge with an existing org; check response.additional_data.didMerge[{"value": "test@example.com", "label": "work", "primary": true}]PIPEDRIVE_SEARCH_PERSONS wildcards like * or @ are NOT supported; use PIPEDRIVE_GET_ALL_PERSONS to list allPIPEDRIVE_DELETE_A_PERSON or PIPEDRIVE_DELETE_AN_ORGANIZATION is soft-delete with 30-day retention, then permanent3. 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_PERSONS or PIPEDRIVE_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 = donePitfalls:
subject and type are required for PIPEDRIVE_ADD_AN_ACTIVITYtype must match an existing ActivityTypes key_string in the accountdone is an integer (0 or 1), not a booleanmore_activities_scheduled_in_context in additional_data4. Add and Manage Notes
When to use: User wants to attach notes to deals, persons, organizations, leads, or projects.
Tool sequence:
PIPEDRIVE_SEARCH_PERSONS or PIPEDRIVE_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 listingPitfalls:
content is required and supports HTML; plain text works but is sanitized server-sidedeal_id, person_id, org_id, lead_id, or project_id must be providedPIPEDRIVE_GET_ALL_NOTES returns notes across all entities by default; filter with entity ID params5. 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 responsesPitfalls:
PIPEDRIVE_GET_ALL_PIPELINES takes no parameters; returns all pipelinesPIPEDRIVE_GET_ALL_STAGES returns stages for ALL pipelines unless pipeline_id is specifiedper_stages_converted only when totals_convert_currency is setCommon Patterns
ID Resolution
Always resolve display names to numeric IDs before operations:
PIPEDRIVE_SEARCH_ORGANIZATIONS with term paramPIPEDRIVE_SEARCH_PERSONS with term paramPIPEDRIVE_GET_ALL_PIPELINES then match by namePIPEDRIVE_GET_ALL_STAGES with pipeline_id then match by namePagination
Most list endpoints use offset-based pagination:
start (offset) and limit (page size) parametersadditional_data.pagination.more_items_in_collection to know if more pages existadditional_data.pagination.next_start as the start value for the next pageKnown Pitfalls
ID Formats
Rate Limits
PIPEDRIVE_GET_ALL_PERSONS and PIPEDRIVE_GET_ALL_ORGANIZATIONS can return large datasets; always paginateParameter Quirks
visible_to is numeric: 1 = owner only, 3 = entire company, 5 = specific groupsdone on activities is integer 0/1, not boolean true/falsedidMerge in responsePIPEDRIVE_SEARCH_PERSONS requires minimum 2 characters and does not support wildcardsResponse Structure
response.data.data in wrapped executionsresponse.data.items, not top-levelQuick 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 |