Automate Pipedrive CRM workflows including deal management, contact and organization operations, activity scheduling, notes, and pipeline/stage queries through Composio's Pipedrive toolkit.
Toolkit docs: composio.dev/toolkits/pipedrive
RUBE_MANAGE_CONNECTIONS with toolkit pipedrive
RUBE_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 pipedrive
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_reason
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 permanentWhen 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_ACTIVITY
type 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_dataWhen 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 paramsWhen 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 setAlways 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 nameMost 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 pagePIPEDRIVE_GET_ALL_PERSONS and PIPEDRIVE_GET_ALL_ORGANIZATIONS can return large datasets; always paginatevisible_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.data.data in wrapped executionsresponse.data.items, not top-level| 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 |
Powered by Composio