Skills › Business & Commerce › Sales & CRM
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.
The full skill
—
name: pipedrive-automation
description: "Automate Pipedrive CRM operations including deals, contacts, organizations, activities, notes, and pipeline management via Rube MCP (Composio). Always search tools first for current schemas."
risk: critical
source: community
date_added: "2026-02-27"
—
# 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_CONNECTIONS` with toolkit `pipedrive`
– Always call `RUBE_SEARCH_TOOLS` first 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.
1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `pipedrive`
3. If connection is not ACTIVE, follow the returned auth link to complete Pipedrive OAuth
4. 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**:
1. `PIPEDRIVE_SEARCH_ORGANIZATIONS` – Find existing org to link to the deal [Optional]
2. `PIPEDRIVE_ADD_AN_ORGANIZATION` – Create organization if none found [Optional]
3. `PIPEDRIVE_SEARCH_PERSONS` – Find existing contact to link [Optional]
4. `PIPEDRIVE_ADD_A_PERSON` – Create contact if none found [Optional]
5. `PIPEDRIVE_GET_ALL_PIPELINES` – Resolve pipeline ID [Prerequisite]
6. `PIPEDRIVE_GET_ALL_STAGES` – Resolve stage ID within the pipeline [Prerequisite]
7. `PIPEDRIVE_ADD_A_DEAL` – Create the deal with title, value, org_id, person_id, stage_id [Required]
8. `PIPEDRIVE_UPDATE_A_DEAL` – Modify deal properties after creation [Optional]
9. `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 deal
– `currency`: 3-letter ISO currency code (e.g., "USD")
– `pipeline_id` / `stage_id`: Numeric IDs for pipeline placement
– `org_id` / `person_id`: Link to organization and contact
– `status`: "open", "won", or "lost"
– `expected_close_date`: Format YYYY-MM-DD
**Pitfalls**:
– `title` is the only required field for `PIPEDRIVE_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_DEAL` requires the numeric `id` of the deal
– Setting `status` to "lost" requires also providing `lost_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**:
1. `PIPEDRIVE_SEARCH_PERSONS` – Search for existing person by name, email, or phone [Prerequisite]
2. `PIPEDRIVE_ADD_A_PERSON` – Create new contact if not found [Required]
3. `PIPEDRIVE_UPDATE_A_PERSON` – Modify existing contact details [Optional]
4. `PIPEDRIVE_GET_DETAILS_OF_A_PERSON` – Retrieve full contact record [Optional]
5. `PIPEDRIVE_SEARCH_ORGANIZATIONS` – Search for existing organization [Prerequisite]
6. `PIPEDRIVE_ADD_AN_ORGANIZATION` – Create new organization if not found [Required]
7. `PIPEDRIVE_UPDATE_AN_ORGANIZATION` – Modify organization properties [Optional]
8. `PIPEDRIVE_GET_DETAILS_OF_AN_ORGANIZATION` – Retrieve full org record [Optional]
**Key parameters**:
– `name`: Required for both person and organization creation
– `email`: Array of objects with `value`, `label`, `primary` fields for persons
– `phone`: Array of objects with `value`, `label`, `primary` fields for persons
– `org_id`: Link a person to an organization
– `visible_to`: 1 = owner only, 3 = entire company
– `term`: 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`
– Email and phone fields are arrays of objects, not plain strings: `[{"value": "[email protected]", "label": "work", "primary": true}]`
– `PIPEDRIVE_SEARCH_PERSONS` wildcards like `*` or `@` are NOT supported; use `PIPEDRIVE_GET_ALL_PERSONS` to list all
– Deletion via `PIPEDRIVE_DELETE_A_PERSON` or `PIPEDRIVE_DELETE_AN_ORGANIZATION` is 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**:
1. `PIPEDRIVE_SEARCH_PERSONS` or `PIPEDRIVE_GET_DETAILS_OF_A_DEAL` – Resolve linked entity IDs [Prerequisite]
2. `PIPEDRIVE_ADD_AN_ACTIVITY` – Create the activity with subject, type, due date [Required]
3. `PIPEDRIVE_UPDATE_AN_ACTIVITY` – Modify activity details or mark as done [Optional]
4. `PIPEDRIVE_GET_DETAILS_OF_AN_ACTIVITY` – Retrieve activity record [Optional]
5. `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-DD
– `due_time`: Format HH:MM
– `duration`: Format HH:MM (e.g., "00:30" for 30 minutes)
– `deal_id` / `person_id` / `org_id`: Link to related entities
– `done`: 0 = not done, 1 = done
**Pitfalls**:
– Both `subject` and `type` are required for `PIPEDRIVE_ADD_AN_ACTIVITY`
– `type` must match an existing ActivityTypes key_string in the account
– `done` is an integer (0 or 1), not a boolean
– Response includes `more_activities_scheduled_in_context` in additional_data
### 4. Add and Manage Notes
**When to use**: User wants to attach notes to deals, persons, organizations, leads, or projects.
**Tool sequence**:
1. `PIPEDRIVE_SEARCH_PERSONS` or `PIPEDRIVE_GET_DETAILS_OF_A_DEAL` – Resolve entity ID [Prerequisite]
2. `PIPEDRIVE_ADD_A_NOTE` – Create note with HTML content linked to an entity [Required]
3. `PIPEDRIVE_UPDATE_A_NOTE` – Modify note content [Optional]
4. `PIPEDRIVE_GET_ALL_NOTES` – List notes filtered by entity [Optional]
5. `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 required
– `pinned_to_deal_flag` / `pinned_to_person_flag`: Filter pinned notes when listing
**Pitfalls**:
– `content` is required and supports HTML; plain text works but is sanitized server-side
– At least one of `deal_id`, `person_id`, `org_id`, `lead_id`, or `project_id` must be provided
– `PIPEDRIVE_GET_ALL_NOTES` returns 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**:
1. `PIPEDRIVE_GET_ALL_PIPELINES` – List all pipelines and their IDs [Required]
2. `PIPEDRIVE_GET_ONE_PIPELINE` – Get details and deal summary for a specific pipeline [Optional]
3. `PIPEDRIVE_GET_ALL_STAGES` – List all stages, optionally filtered by pipeline [Required]
4. `PIPEDRIVE_GET_ONE_STAGE` – Get details for a specific stage [Optional]
5. `PIPEDRIVE_GET_DEALS_IN_A_PIPELINE` – List all deals across stages in a pipeline [Optional]
6. `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 pipeline
– `totals_convert_currency`: 3-letter currency code or "default_currency" for converted totals
– `get_summary`: Set to 1 for deal summary in pipeline responses
**Pitfalls**:
– `PIPEDRIVE_GET_ALL_PIPELINES` takes no parameters; returns all pipelines
– `PIPEDRIVE_GET_ALL_STAGES` returns stages for ALL pipelines unless `pipeline_id` is specified
– Deal counts in pipeline summaries use `per_stages_converted` only when `totals_convert_currency` is set
## Common Patterns
### ID Resolution
Always resolve display names to numeric IDs before operations:
– **Organization name -> org_id**: `PIPEDRIVE_SEARCH_ORGANIZATIONS` with `term` param
– **Person name -> person_id**: `PIPEDRIVE_SEARCH_PERSONS` with `term` param
– **Pipeline name -> pipeline_id**: `PIPEDRIVE_GET_ALL_PIPELINES` then match by name
– **Stage name -> stage_id**: `PIPEDRIVE_GET_ALL_STAGES` with `pipeline_id` then match by name
### Pagination
Most list endpoints use offset-based pagination:
– Use `start` (offset) and `limit` (page size) parameters
– Check `additional_data.pagination.more_items_in_collection` to know if more pages exist
– Use `additional_data.pagination.next_start` as the `start` value 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_PERSONS` and `PIPEDRIVE_GET_ALL_ORGANIZATIONS` can return large datasets; always paginate
### Parameter Quirks
– Email and phone on persons are arrays of objects, not plain strings
– `visible_to` is numeric: 1 = owner only, 3 = entire company, 5 = specific groups
– `done` on activities is integer 0/1, not boolean true/false
– Organization creation may auto-merge duplicates silently; check `didMerge` in response
– `PIPEDRIVE_SEARCH_PERSONS` requires 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.data` in 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` |
## When to Use
This skill is applicable to execute the workflow or actions described in the overview.
## 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.