Automate Pipedrive CRM operations including deals, contacts, organizations, activities, notes, and pipeline management via Rube MCP (Composio). Always search tools first for current schemas.
Add this skill
npx mdskills install sickn33/pipedrive-automationComprehensive Pipedrive CRM automation with detailed workflows, parameter guidance, and pitfall documentation
1---2name: pipedrive-automation3description: "Automate Pipedrive CRM operations including deals, contacts, organizations, activities, notes, and pipeline management via Rube MCP (Composio). Always search tools first for current schemas."4requires:5 mcp: [rube]6---78# Pipedrive Automation via Rube MCP910Automate Pipedrive CRM workflows including deal management, contact and organization operations, activity scheduling, notes, and pipeline/stage queries through Composio's Pipedrive toolkit.1112## Prerequisites1314- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)15- Active Pipedrive connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `pipedrive`16- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1718## Setup1920**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.2122231. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds242. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `pipedrive`253. If connection is not ACTIVE, follow the returned auth link to complete Pipedrive OAuth264. Confirm connection status shows ACTIVE before running any workflows2728## Core Workflows2930### 1. Create and Manage Deals3132**When to use**: User wants to create a new deal, update an existing deal, or review deal details in the sales pipeline.3334**Tool sequence**:351. `PIPEDRIVE_SEARCH_ORGANIZATIONS` - Find existing org to link to the deal [Optional]362. `PIPEDRIVE_ADD_AN_ORGANIZATION` - Create organization if none found [Optional]373. `PIPEDRIVE_SEARCH_PERSONS` - Find existing contact to link [Optional]384. `PIPEDRIVE_ADD_A_PERSON` - Create contact if none found [Optional]395. `PIPEDRIVE_GET_ALL_PIPELINES` - Resolve pipeline ID [Prerequisite]406. `PIPEDRIVE_GET_ALL_STAGES` - Resolve stage ID within the pipeline [Prerequisite]417. `PIPEDRIVE_ADD_A_DEAL` - Create the deal with title, value, org_id, person_id, stage_id [Required]428. `PIPEDRIVE_UPDATE_A_DEAL` - Modify deal properties after creation [Optional]439. `PIPEDRIVE_ADD_A_PRODUCT_TO_A_DEAL` - Attach line items/products [Optional]4445**Key parameters**:46- `title`: Deal title (required for creation)47- `value`: Monetary value of the deal48- `currency`: 3-letter ISO currency code (e.g., "USD")49- `pipeline_id` / `stage_id`: Numeric IDs for pipeline placement50- `org_id` / `person_id`: Link to organization and contact51- `status`: "open", "won", or "lost"52- `expected_close_date`: Format YYYY-MM-DD5354**Pitfalls**:55- `title` is the only required field for `PIPEDRIVE_ADD_A_DEAL`; all others are optional56- Custom fields appear as long hash keys in responses; use dealFields endpoint to map them57- `PIPEDRIVE_UPDATE_A_DEAL` requires the numeric `id` of the deal58- Setting `status` to "lost" requires also providing `lost_reason`5960### 2. Manage Contacts (Persons and Organizations)6162**When to use**: User wants to create, update, search, or list contacts and companies in Pipedrive.6364**Tool sequence**:651. `PIPEDRIVE_SEARCH_PERSONS` - Search for existing person by name, email, or phone [Prerequisite]662. `PIPEDRIVE_ADD_A_PERSON` - Create new contact if not found [Required]673. `PIPEDRIVE_UPDATE_A_PERSON` - Modify existing contact details [Optional]684. `PIPEDRIVE_GET_DETAILS_OF_A_PERSON` - Retrieve full contact record [Optional]695. `PIPEDRIVE_SEARCH_ORGANIZATIONS` - Search for existing organization [Prerequisite]706. `PIPEDRIVE_ADD_AN_ORGANIZATION` - Create new organization if not found [Required]717. `PIPEDRIVE_UPDATE_AN_ORGANIZATION` - Modify organization properties [Optional]728. `PIPEDRIVE_GET_DETAILS_OF_AN_ORGANIZATION` - Retrieve full org record [Optional]7374**Key parameters**:75- `name`: Required for both person and organization creation76- `email`: Array of objects with `value`, `label`, `primary` fields for persons77- `phone`: Array of objects with `value`, `label`, `primary` fields for persons78- `org_id`: Link a person to an organization79- `visible_to`: 1 = owner only, 3 = entire company80- `term`: Search term for SEARCH_PERSONS / SEARCH_ORGANIZATIONS (minimum 2 characters)8182**Pitfalls**:83- `PIPEDRIVE_ADD_AN_ORGANIZATION` may auto-merge with an existing org; check `response.additional_data.didMerge`84- Email and phone fields are arrays of objects, not plain strings: `[{"value": "test@example.com", "label": "work", "primary": true}]`85- `PIPEDRIVE_SEARCH_PERSONS` wildcards like `*` or `@` are NOT supported; use `PIPEDRIVE_GET_ALL_PERSONS` to list all86- Deletion via `PIPEDRIVE_DELETE_A_PERSON` or `PIPEDRIVE_DELETE_AN_ORGANIZATION` is soft-delete with 30-day retention, then permanent8788### 3. Schedule and Track Activities8990**When to use**: User wants to create calls, meetings, tasks, or other activities linked to deals, contacts, or organizations.9192**Tool sequence**:931. `PIPEDRIVE_SEARCH_PERSONS` or `PIPEDRIVE_GET_DETAILS_OF_A_DEAL` - Resolve linked entity IDs [Prerequisite]942. `PIPEDRIVE_ADD_AN_ACTIVITY` - Create the activity with subject, type, due date [Required]953. `PIPEDRIVE_UPDATE_AN_ACTIVITY` - Modify activity details or mark as done [Optional]964. `PIPEDRIVE_GET_DETAILS_OF_AN_ACTIVITY` - Retrieve activity record [Optional]975. `PIPEDRIVE_GET_ALL_ACTIVITIES_ASSIGNED_TO_A_PARTICULAR_USER` - List user's activities [Optional]9899**Key parameters**:100- `subject`: Activity title (required)101- `type`: Activity type key string, e.g., "call", "meeting", "task", "email" (required)102- `due_date`: Format YYYY-MM-DD103- `due_time`: Format HH:MM104- `duration`: Format HH:MM (e.g., "00:30" for 30 minutes)105- `deal_id` / `person_id` / `org_id`: Link to related entities106- `done`: 0 = not done, 1 = done107108**Pitfalls**:109- Both `subject` and `type` are required for `PIPEDRIVE_ADD_AN_ACTIVITY`110- `type` must match an existing ActivityTypes key_string in the account111- `done` is an integer (0 or 1), not a boolean112- Response includes `more_activities_scheduled_in_context` in additional_data113114### 4. Add and Manage Notes115116**When to use**: User wants to attach notes to deals, persons, organizations, leads, or projects.117118**Tool sequence**:1191. `PIPEDRIVE_SEARCH_PERSONS` or `PIPEDRIVE_GET_DETAILS_OF_A_DEAL` - Resolve entity ID [Prerequisite]1202. `PIPEDRIVE_ADD_A_NOTE` - Create note with HTML content linked to an entity [Required]1213. `PIPEDRIVE_UPDATE_A_NOTE` - Modify note content [Optional]1224. `PIPEDRIVE_GET_ALL_NOTES` - List notes filtered by entity [Optional]1235. `PIPEDRIVE_GET_ALL_COMMENTS_FOR_A_NOTE` - Retrieve comments on a note [Optional]124125**Key parameters**:126- `content`: Note body in HTML format (required)127- `deal_id` / `person_id` / `org_id` / `lead_id` / `project_id`: At least one entity link required128- `pinned_to_deal_flag` / `pinned_to_person_flag`: Filter pinned notes when listing129130**Pitfalls**:131- `content` is required and supports HTML; plain text works but is sanitized server-side132- At least one of `deal_id`, `person_id`, `org_id`, `lead_id`, or `project_id` must be provided133- `PIPEDRIVE_GET_ALL_NOTES` returns notes across all entities by default; filter with entity ID params134135### 5. Query Pipelines and Stages136137**When to use**: User wants to view sales pipelines, stages, or deals within a pipeline/stage.138139**Tool sequence**:1401. `PIPEDRIVE_GET_ALL_PIPELINES` - List all pipelines and their IDs [Required]1412. `PIPEDRIVE_GET_ONE_PIPELINE` - Get details and deal summary for a specific pipeline [Optional]1423. `PIPEDRIVE_GET_ALL_STAGES` - List all stages, optionally filtered by pipeline [Required]1434. `PIPEDRIVE_GET_ONE_STAGE` - Get details for a specific stage [Optional]1445. `PIPEDRIVE_GET_DEALS_IN_A_PIPELINE` - List all deals across stages in a pipeline [Optional]1456. `PIPEDRIVE_GET_DEALS_IN_A_STAGE` - List deals in a specific stage [Optional]146147**Key parameters**:148- `id`: Pipeline or stage ID (required for single-item endpoints)149- `pipeline_id`: Filter stages by pipeline150- `totals_convert_currency`: 3-letter currency code or "default_currency" for converted totals151- `get_summary`: Set to 1 for deal summary in pipeline responses152153**Pitfalls**:154- `PIPEDRIVE_GET_ALL_PIPELINES` takes no parameters; returns all pipelines155- `PIPEDRIVE_GET_ALL_STAGES` returns stages for ALL pipelines unless `pipeline_id` is specified156- Deal counts in pipeline summaries use `per_stages_converted` only when `totals_convert_currency` is set157158## Common Patterns159160### ID Resolution161Always resolve display names to numeric IDs before operations:162- **Organization name -> org_id**: `PIPEDRIVE_SEARCH_ORGANIZATIONS` with `term` param163- **Person name -> person_id**: `PIPEDRIVE_SEARCH_PERSONS` with `term` param164- **Pipeline name -> pipeline_id**: `PIPEDRIVE_GET_ALL_PIPELINES` then match by name165- **Stage name -> stage_id**: `PIPEDRIVE_GET_ALL_STAGES` with `pipeline_id` then match by name166167### Pagination168Most list endpoints use offset-based pagination:169- Use `start` (offset) and `limit` (page size) parameters170- Check `additional_data.pagination.more_items_in_collection` to know if more pages exist171- Use `additional_data.pagination.next_start` as the `start` value for the next page172- Default limit is ~500 for some endpoints; set explicitly for predictable paging173174## Known Pitfalls175176### ID Formats177- All entity IDs (deal, person, org, activity, pipeline, stage) are numeric integers178- Lead IDs are UUID strings, not integers179- Custom field keys are long alphanumeric hashes (e.g., "a1b2c3d4e5f6...")180181### Rate Limits182- Pipedrive enforces per-company API rate limits; bulk operations should be paced183- `PIPEDRIVE_GET_ALL_PERSONS` and `PIPEDRIVE_GET_ALL_ORGANIZATIONS` can return large datasets; always paginate184185### Parameter Quirks186- Email and phone on persons are arrays of objects, not plain strings187- `visible_to` is numeric: 1 = owner only, 3 = entire company, 5 = specific groups188- `done` on activities is integer 0/1, not boolean true/false189- Organization creation may auto-merge duplicates silently; check `didMerge` in response190- `PIPEDRIVE_SEARCH_PERSONS` requires minimum 2 characters and does not support wildcards191192### Response Structure193- Custom fields appear as hash keys in responses; map them via the respective Fields endpoints194- Responses often nest data under `response.data.data` in wrapped executions195- Search results are under `response.data.items`, not top-level196197## Quick Reference198199| Task | Tool Slug | Key Params |200|------|-----------|------------|201| Create deal | `PIPEDRIVE_ADD_A_DEAL` | `title`, `value`, `org_id`, `stage_id` |202| Update deal | `PIPEDRIVE_UPDATE_A_DEAL` | `id`, `status`, `value`, `stage_id` |203| Get deal details | `PIPEDRIVE_GET_DETAILS_OF_A_DEAL` | `id` |204| Search persons | `PIPEDRIVE_SEARCH_PERSONS` | `term`, `fields` |205| Add person | `PIPEDRIVE_ADD_A_PERSON` | `name`, `email`, `phone`, `org_id` |206| Update person | `PIPEDRIVE_UPDATE_A_PERSON` | `id`, `name`, `email` |207| Get person details | `PIPEDRIVE_GET_DETAILS_OF_A_PERSON` | `id` |208| List all persons | `PIPEDRIVE_GET_ALL_PERSONS` | `start`, `limit`, `filter_id` |209| Search organizations | `PIPEDRIVE_SEARCH_ORGANIZATIONS` | `term`, `fields` |210| Add organization | `PIPEDRIVE_ADD_AN_ORGANIZATION` | `name`, `visible_to` |211| Update organization | `PIPEDRIVE_UPDATE_AN_ORGANIZATION` | `id`, `name`, `address` |212| Get org details | `PIPEDRIVE_GET_DETAILS_OF_AN_ORGANIZATION` | `id` |213| Add activity | `PIPEDRIVE_ADD_AN_ACTIVITY` | `subject`, `type`, `due_date`, `deal_id` |214| Update activity | `PIPEDRIVE_UPDATE_AN_ACTIVITY` | `id`, `done`, `due_date` |215| Get activity details | `PIPEDRIVE_GET_DETAILS_OF_AN_ACTIVITY` | `id` |216| List user activities | `PIPEDRIVE_GET_ALL_ACTIVITIES_ASSIGNED_TO_A_PARTICULAR_USER` | `user_id`, `start`, `limit` |217| Add note | `PIPEDRIVE_ADD_A_NOTE` | `content`, `deal_id` or `person_id` |218| List notes | `PIPEDRIVE_GET_ALL_NOTES` | `deal_id`, `person_id`, `start`, `limit` |219| List pipelines | `PIPEDRIVE_GET_ALL_PIPELINES` | (none) |220| Get pipeline details | `PIPEDRIVE_GET_ONE_PIPELINE` | `id` |221| List stages | `PIPEDRIVE_GET_ALL_STAGES` | `pipeline_id` |222| Deals in pipeline | `PIPEDRIVE_GET_DEALS_IN_A_PIPELINE` | `id`, `stage_id` |223| Deals in stage | `PIPEDRIVE_GET_DEALS_IN_A_STAGE` | `id`, `start`, `limit` |224| Add product to deal | `PIPEDRIVE_ADD_A_PRODUCT_TO_A_DEAL` | `id`, `product_id`, `item_price` |225
Full transparency — inspect the skill content before installing.