> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agentkit`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Pipedrive

**Authentication:** OAuth 2.0
**Categories:** Crm, Sales
## What you can do

Connect this agent connector to let your agent:

- **Update product, pipeline, activity** — Update an existing product in Pipedrive
- **Get person, deal, lead** — Retrieve details of a specific person (contact) in Pipedrive by their ID, including name, emails, phones, and associated organization
- **Me user** — Retrieve the profile of the currently authenticated user in Pipedrive
- **Delete webhook, note, organization** — Delete a webhook from Pipedrive by its ID
- **List stages, leads, organizations** — Retrieve all stages in Pipedrive
- **Create person, product, pipeline** — Create a new person (contact) in Pipedrive with name, email, phone, and optional organization association

## Authentication

This connector uses **OAuth 2.0**. Scalekit acts as the OAuth client: it redirects your user to Pipedrive, obtains an access token, and automatically refreshes it before it expires. Your agent code never handles tokens directly — you only pass a `connectionName` and a user `identifier`.

You supply your Pipedrive **Connected App** credentials (Client ID + Secret) once per environment in the Scalekit dashboard.

Before calling this connector from your code, create the Pipedrive connection in **AgentKit** > **Connections** and copy the exact **Connection name** from that connection into your code. The value in code must match the dashboard exactly.

## Set up the connector

Register your Scalekit environment with the Pipedrive connector so Scalekit handles the OAuth flow and token lifecycle on your behalf. The connection name you create is used to identify and invoke the connection in code.

1. ### Create a connection in Scalekit

    - In [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** > **Create Connection**. Find **Pipedrive** and click **Create**.

    - Click **Use your own credentials** and copy the **Redirect URI**. It looks like:
      `https:///sso/v1/oauth//callback`

    Keep this tab open — you'll return to it in step 3.

2. ### Create a Pipedrive OAuth app

    - Go to the [Pipedrive Developer Hub](https://developers.pipedrive.com/) and sign in with your Pipedrive account.

    - Create a new app and fill in the form:
      - **App name** — a name to identify your app (e.g., `My Sales Agent`)
      - **Callback URL** — paste the Redirect URI you copied from Scalekit

    - Under **OAuth & Access Scopes**, select the permissions your agent needs:

      | Scope | Access granted |
      | --- | --- |
      | `deals:full` | Read and write deals |
      | `contacts:full` | Read and write persons and organizations |
      | `leads:full` | Read and write leads |
      | `activities:full` | Read and write activities |
      | `products:full` | Read and write products |
      | `users:read` | Read user information |
      | `webhooks:full` | Manage webhooks |

    - Click **Save**.

    > Image: Screenshot

    > tip: Use the minimum scopes
>
> Request only the scopes your agent actually uses. Narrow scopes reduce the blast radius if credentials are compromised and make it easier for users to consent.

3. ### Copy your client credentials

    After saving your app, Pipedrive shows the **Client ID** and **Client Secret**.

    Copy both values now — you will need them in the next step.

4. ### Add credentials in Scalekit

    - Return to [Scalekit dashboard](https://app.scalekit.com) → **AgentKit** > **Connections** and open the connection you created in step 1.

    - Enter the following:
      - **Client ID** — from Pipedrive
      - **Client Secret** — from Pipedrive
      - **Permissions** — the same scopes you selected in Pipedrive

    - Click **Save**.

    > Image: Screenshot

    > note: Connection name is your identifier
>
> The connection name you set here (e.g., `pipedrive`) is the string you pass to `connection_name` in every SDK call. It must match exactly — including case.

## Tool list

Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first.

## Tool list

### `pipedrive_activities_list`

Retrieve a list of activities from Pipedrive. Filter by owner, deal, person, organization, completion status, and date range.

Parameters:

- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `deal_id` (`integer`, optional): Filter activities by deal ID.
- `done` (`boolean`, optional): Filter by completion status: true for done, false for undone.
- `limit` (`integer`, optional): Number of activities to return per page (max 500).
- `org_id` (`integer`, optional): Filter activities by organization ID.
- `owner_id` (`integer`, optional): Filter activities by owner user ID.
- `person_id` (`integer`, optional): Filter activities by person ID.
- `updated_since` (`string`, optional): Filter activities updated after this RFC3339 datetime.

### `pipedrive_activity_create`

Create a new activity in Pipedrive such as a call, meeting, email, or task. Associate it with a deal, person, or organization.

Parameters:

- `subject` (`string`, required): Subject/title of the activity.
- `deal_id` (`integer`, optional): ID of the deal to associate this activity with.
- `due_date` (`string`, optional): Due date of the activity in YYYY-MM-DD format.
- `due_time` (`string`, optional): Due time of the activity in HH:MM format.
- `note` (`string`, optional): Note or description for the activity.
- `org_id` (`integer`, optional): ID of the organization to associate this activity with.
- `owner_id` (`integer`, optional): ID of the user responsible for this activity.
- `person_id` (`integer`, optional): ID of the person to associate this activity with.
- `type` (`string`, optional): Type of activity (e.g., call, meeting, email, task, deadline, lunch).

### `pipedrive_activity_delete`

Delete an activity from Pipedrive by its ID. After 30 days it will be permanently removed.

Parameters:

- `id` (`integer`, required): The ID of the activity to delete.

### `pipedrive_activity_update`

Update an existing activity in Pipedrive. Modify subject, type, due date/time, note, completion status, or associations.

Parameters:

- `id` (`integer`, required): The ID of the activity to update.
- `deal_id` (`integer`, optional): ID of the deal to associate this activity with.
- `done` (`boolean`, optional): Mark the activity as done (true) or undone (false).
- `due_date` (`string`, optional): Updated due date in YYYY-MM-DD format.
- `due_time` (`string`, optional): Updated due time in HH:MM format.
- `note` (`string`, optional): Updated note or description for the activity.
- `subject` (`string`, optional): Updated subject/title of the activity.
- `type` (`string`, optional): Updated type of activity (e.g., call, meeting, email, task).

### `pipedrive_deal_create`

Create a new deal in Pipedrive with a title, value, currency, pipeline, stage, associated person and organization.

Parameters:

- `title` (`string`, required): Title of the deal.
- `currency` (`string`, optional): Currency code for the deal value (e.g., USD, EUR).
- `expected_close_date` (`string`, optional): Expected close date in YYYY-MM-DD format.
- `org_id` (`integer`, optional): ID of the organization to associate with this deal.
- `owner_id` (`integer`, optional): ID of the user who owns this deal.
- `person_id` (`integer`, optional): ID of the person to associate with this deal.
- `pipeline_id` (`integer`, optional): ID of the pipeline to place this deal in.
- `stage_id` (`integer`, optional): ID of the pipeline stage for this deal.
- `value` (`number`, optional): Monetary value of the deal.

### `pipedrive_deal_delete`

Delete a deal from Pipedrive by its ID. This action marks the deal as deleted.

Parameters:

- `id` (`integer`, required): The ID of the deal to delete.

### `pipedrive_deal_get`

Retrieve details of a specific deal in Pipedrive by its ID, including title, value, status, pipeline stage, associated person and organization.

Parameters:

- `id` (`integer`, required): The ID of the deal to retrieve.

### `pipedrive_deal_update`

Update an existing deal in Pipedrive. Modify title, value, status, pipeline stage, associated person, organization, or close date.

Parameters:

- `id` (`integer`, required): The ID of the deal to update.
- `currency` (`string`, optional): Currency code for the deal value (e.g., USD, EUR).
- `expected_close_date` (`string`, optional): Expected close date in YYYY-MM-DD format.
- `org_id` (`integer`, optional): ID of the organization to associate with this deal.
- `owner_id` (`integer`, optional): ID of the user who owns this deal.
- `person_id` (`integer`, optional): ID of the person to associate with this deal.
- `pipeline_id` (`integer`, optional): ID of the pipeline for this deal.
- `stage_id` (`integer`, optional): ID of the pipeline stage for this deal.
- `status` (`string`, optional): Status of the deal: open, won, or lost.
- `title` (`string`, optional): New title for the deal.
- `value` (`number`, optional): Monetary value of the deal.

### `pipedrive_deals_list`

Retrieve a list of deals from Pipedrive. Filter by owner, person, organization, pipeline, stage, and status with cursor-based pagination.

Parameters:

- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `filter_id` (`integer`, optional): ID of a saved filter to apply.
- `limit` (`integer`, optional): Number of deals to return per page (max 500).
- `org_id` (`integer`, optional): Filter deals by organization ID.
- `owner_id` (`integer`, optional): Filter deals by owner user ID.
- `person_id` (`integer`, optional): Filter deals by person ID.
- `pipeline_id` (`integer`, optional): Filter deals by pipeline ID.
- `stage_id` (`integer`, optional): Filter deals by stage ID.
- `status` (`string`, optional): Filter deals by status: open, won, lost, or all_not_deleted.

### `pipedrive_deals_search`

Search for deals in Pipedrive by a search term across title and other fields. Supports filtering by person, organization, and status.

Parameters:

- `term` (`string`, required): Search term to find matching deals. Minimum 2 characters.
- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `exact_match` (`boolean`, optional): When true, only results with exact case-insensitive match are returned.
- `fields` (`string`, optional): Comma-separated list of fields to search in (e.g., title,notes,custom_fields).
- `limit` (`integer`, optional): Number of results per page (max 500).
- `organization_id` (`integer`, optional): Filter results by organization ID.
- `person_id` (`integer`, optional): Filter results by person ID.
- `status` (`string`, optional): Filter by deal status: open, won, or lost.

### `pipedrive_file_delete`

Delete a file from Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the file to delete.

### `pipedrive_file_get`

Retrieve metadata of a specific file in Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the file to retrieve.

### `pipedrive_files_list`

Retrieve a list of files attached to Pipedrive records with pagination and sorting.

Parameters:

- `limit` (`integer`, optional): Number of files per page.
- `sort` (`string`, optional): Field and direction to sort by (e.g., id DESC, add_time ASC).
- `start` (`integer`, optional): Pagination start offset.

### `pipedrive_goal_create`

Create a new goal in Pipedrive to track team or individual performance metrics.

Parameters:

- `assignee_id` (`integer`, required): ID of the user or team assigned to this goal.
- `assignee_type` (`string`, required): Type of assignee: person or team.
- `duration_end` (`string`, required): Goal end date in YYYY-MM-DD format.
- `duration_start` (`string`, required): Goal start date in YYYY-MM-DD format.
- `interval` (`string`, required): Goal tracking interval: weekly, monthly, quarterly, or yearly.
- `target` (`number`, required): Target value for the goal.
- `title` (`string`, required): Title of the goal.
- `tracking_metric` (`string`, required): What to track: count or sum.
- `type_name` (`string`, required): Goal type: deals_won, deals_progressed, activities_completed, activities_added, or revenue_forecast.

### `pipedrive_goal_delete`

Delete a goal from Pipedrive by its ID.

Parameters:

- `id` (`string`, required): The ID of the goal to delete.

### `pipedrive_goal_update`

Update an existing goal in Pipedrive. Modify title, assignee, target, interval, or duration.

Parameters:

- `id` (`string`, required): The ID of the goal to update.
- `assignee_id` (`integer`, optional): Updated assignee user or team ID.
- `assignee_type` (`string`, optional): Updated assignee type: person or team.
- `duration_end` (`string`, optional): Updated goal end date in YYYY-MM-DD format.
- `duration_start` (`string`, optional): Updated goal start date in YYYY-MM-DD format.
- `interval` (`string`, optional): Updated tracking interval: weekly, monthly, quarterly, or yearly.
- `target` (`number`, optional): Updated target value.
- `title` (`string`, optional): Updated title of the goal.

### `pipedrive_goals_find`

Search and filter goals in Pipedrive by type, title, assignee, and time period.

Parameters:

- `assignee_id` (`integer`, optional): Filter goals by assignee user or team ID.
- `assignee_type` (`string`, optional): Type of assignee: person or team.
- `is_active` (`boolean`, optional): Filter by active status: true for active, false for inactive.
- `period_end` (`string`, optional): Goal period end date in YYYY-MM-DD format.
- `period_start` (`string`, optional): Goal period start date in YYYY-MM-DD format.
- `title` (`string`, optional): Filter goals by title.
- `type_name` (`string`, optional): Filter by goal type: deals_won, deals_progressed, activities_completed, activities_added, revenue_forecast.

### `pipedrive_lead_create`

Create a new lead in Pipedrive with a title and optional associations to a person or organization.

Parameters:

- `title` (`string`, required): Title of the lead.
- `organization_id` (`integer`, optional): ID of the organization to associate this lead with.
- `owner_id` (`integer`, optional): ID of the user who owns this lead.
- `person_id` (`integer`, optional): ID of the person to associate this lead with.

### `pipedrive_lead_delete`

Delete a lead from Pipedrive by its ID.

Parameters:

- `id` (`string`, required): The UUID of the lead to delete.

### `pipedrive_lead_get`

Retrieve details of a specific lead in Pipedrive by its ID.

Parameters:

- `id` (`string`, required): The UUID of the lead to retrieve.

### `pipedrive_lead_update`

Update an existing lead in Pipedrive. Modify title, owner, person, organization, or status.

Parameters:

- `id` (`string`, required): The UUID of the lead to update.
- `is_archived` (`boolean`, optional): Whether to archive this lead.
- `organization_id` (`integer`, optional): ID of the organization to associate this lead with.
- `owner_id` (`integer`, optional): ID of the user who owns this lead.
- `person_id` (`integer`, optional): ID of the person to associate this lead with.
- `title` (`string`, optional): Updated title of the lead.

### `pipedrive_leads_list`

Retrieve a list of leads from Pipedrive with pagination. Filter by owner, person, or organization.

Parameters:

- `filter_id` (`integer`, optional): ID of a saved filter to apply.
- `limit` (`integer`, optional): Number of leads per page.
- `organization_id` (`integer`, optional): Filter leads by organization ID.
- `owner_id` (`integer`, optional): Filter leads by owner user ID.
- `person_id` (`integer`, optional): Filter leads by person ID.
- `start` (`integer`, optional): Pagination start offset.

### `pipedrive_leads_search`

Search for leads in Pipedrive by title, notes, or custom fields.

Parameters:

- `term` (`string`, required): Search term. Minimum 2 characters.
- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `exact_match` (`boolean`, optional): When true, only exact case-insensitive matches are returned.
- `fields` (`string`, optional): Comma-separated fields to search in (e.g., title,notes,custom_fields).
- `limit` (`integer`, optional): Number of results per page (max 500).
- `organization_id` (`integer`, optional): Filter results by organization ID.
- `person_id` (`integer`, optional): Filter results by person ID.

### `pipedrive_note_create`

Create a new note in Pipedrive and associate it with a deal, person, organization, or lead.

Parameters:

- `content` (`string`, required): HTML content of the note.
- `deal_id` (`integer`, optional): ID of the deal to attach this note to.
- `lead_id` (`string`, optional): UUID of the lead to attach this note to.
- `org_id` (`integer`, optional): ID of the organization to attach this note to.
- `person_id` (`integer`, optional): ID of the person to attach this note to.

### `pipedrive_note_delete`

Delete a note from Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the note to delete.

### `pipedrive_note_update`

Update the content of an existing note in Pipedrive.

Parameters:

- `content` (`string`, required): Updated HTML content of the note.
- `id` (`integer`, required): The ID of the note to update.

### `pipedrive_notes_list`

Retrieve a list of notes from Pipedrive. Filter by deal, person, organization, lead, or date range.

Parameters:

- `deal_id` (`integer`, optional): Filter notes by deal ID.
- `lead_id` (`string`, optional): Filter notes by lead UUID.
- `limit` (`integer`, optional): Number of notes per page.
- `org_id` (`integer`, optional): Filter notes by organization ID.
- `person_id` (`integer`, optional): Filter notes by person ID.
- `start` (`integer`, optional): Pagination start offset.
- `user_id` (`integer`, optional): Filter notes by the user who created them.

### `pipedrive_organization_create`

Create a new organization (company) in Pipedrive with a name, address, and optional owner.

Parameters:

- `name` (`string`, required): Name of the organization.
- `address` (`string`, optional): Physical address of the organization.
- `owner_id` (`integer`, optional): ID of the user who owns this organization.

### `pipedrive_organization_delete`

Delete an organization from Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the organization to delete.

### `pipedrive_organization_get`

Retrieve details of a specific organization in Pipedrive by its ID, including name, address, and associated deals and contacts.

Parameters:

- `id` (`integer`, required): The ID of the organization to retrieve.

### `pipedrive_organization_update`

Update an existing organization in Pipedrive. Modify name, address, or owner.

Parameters:

- `id` (`integer`, required): The ID of the organization to update.
- `address` (`string`, optional): Updated physical address of the organization.
- `name` (`string`, optional): Updated name of the organization.
- `owner_id` (`integer`, optional): ID of the user who owns this organization.

### `pipedrive_organizations_list`

Retrieve a list of organizations (companies) from Pipedrive with cursor-based pagination and optional filtering.

Parameters:

- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `filter_id` (`integer`, optional): ID of a saved filter to apply.
- `limit` (`integer`, optional): Number of organizations to return per page (max 500).
- `owner_id` (`integer`, optional): Filter organizations by owner user ID.

### `pipedrive_organizations_search`

Search for organizations in Pipedrive by a search term across name, address, and custom fields.

Parameters:

- `term` (`string`, required): Search term. Minimum 2 characters.
- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `exact_match` (`boolean`, optional): When true, only exact case-insensitive matches are returned.
- `fields` (`string`, optional): Comma-separated fields to search in (e.g., name,address,custom_fields).
- `limit` (`integer`, optional): Number of results per page (max 500).

### `pipedrive_person_create`

Create a new person (contact) in Pipedrive with name, email, phone, and optional organization association.

Parameters:

- `name` (`string`, required): Full name of the person.
- `email` (`string`, optional): Email address of the person.
- `org_id` (`integer`, optional): ID of the organization to associate this person with.
- `owner_id` (`integer`, optional): ID of the user who owns this person record.
- `phone` (`string`, optional): Phone number of the person.

### `pipedrive_person_delete`

Delete a person (contact) from Pipedrive by their ID.

Parameters:

- `id` (`integer`, required): The ID of the person to delete.

### `pipedrive_person_get`

Retrieve details of a specific person (contact) in Pipedrive by their ID, including name, emails, phones, and associated organization.

Parameters:

- `id` (`integer`, required): The ID of the person to retrieve.

### `pipedrive_person_update`

Update an existing person (contact) in Pipedrive. Modify name, email, phone, organization, or owner.

Parameters:

- `id` (`integer`, required): The ID of the person to update.
- `email` (`string`, optional): Updated email address of the person.
- `name` (`string`, optional): Updated full name of the person.
- `org_id` (`integer`, optional): ID of the organization to associate this person with.
- `owner_id` (`integer`, optional): ID of the user who owns this person record.
- `phone` (`string`, optional): Updated phone number of the person.

### `pipedrive_persons_list`

Retrieve a list of persons (contacts) from Pipedrive. Filter by owner, organization, or deal with cursor-based pagination.

Parameters:

- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `deal_id` (`integer`, optional): Filter persons by associated deal ID.
- `filter_id` (`integer`, optional): ID of a saved filter to apply.
- `limit` (`integer`, optional): Number of persons to return per page (max 500).
- `org_id` (`integer`, optional): Filter persons by organization ID.
- `owner_id` (`integer`, optional): Filter persons by owner user ID.

### `pipedrive_persons_search`

Search for persons (contacts) in Pipedrive by name, email, phone, or custom fields.

Parameters:

- `term` (`string`, required): Search term to find matching persons. Minimum 2 characters.
- `exact_match` (`boolean`, optional): When true, only results with exact case-insensitive match are returned.
- `fields` (`string`, optional): Comma-separated list of fields to search in (e.g., name,email,phone,custom_fields).
- `limit` (`integer`, optional): Number of results per page (max 500).
- `organization_id` (`integer`, optional): Filter results by organization ID.

### `pipedrive_pipeline_create`

Create a new sales pipeline in Pipedrive with a name and optional deal probability setting.

Parameters:

- `name` (`string`, required): Name of the pipeline.
- `is_deal_probability_enabled` (`boolean`, optional): Whether deal probability is enabled for this pipeline.

### `pipedrive_pipeline_delete`

Delete a sales pipeline from Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the pipeline to delete.

### `pipedrive_pipeline_get`

Retrieve details of a specific sales pipeline in Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the pipeline to retrieve.

### `pipedrive_pipeline_update`

Update an existing sales pipeline in Pipedrive. Modify name or deal probability settings.

Parameters:

- `id` (`integer`, required): The ID of the pipeline to update.
- `is_deal_probability_enabled` (`boolean`, optional): Whether deal probability is enabled for this pipeline.
- `name` (`string`, optional): Updated name of the pipeline.

### `pipedrive_pipelines_list`

Retrieve all sales pipelines from Pipedrive with their stages and configuration.

Parameters:

- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `limit` (`integer`, optional): Number of pipelines per page (max 500).
- `sort_by` (`string`, optional): Field to sort results by: id, update_time, or add_time.
- `sort_direction` (`string`, optional): Sort direction: asc or desc.

### `pipedrive_product_create`

Create a new product in Pipedrive with name, price, description, and other attributes.

Parameters:

- `name` (`string`, required): Name of the product.
- `code` (`string`, optional): Product code or SKU.
- `description` (`string`, optional): Description of the product.
- `owner_id` (`integer`, optional): ID of the user who owns this product.
- `tax` (`number`, optional): Tax rate for this product (percentage).
- `unit` (`string`, optional): Unit of measurement for this product.

### `pipedrive_product_delete`

Delete a product from Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the product to delete.

### `pipedrive_product_get`

Retrieve details of a specific product in Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the product to retrieve.

### `pipedrive_product_update`

Update an existing product in Pipedrive. Modify name, code, description, unit, tax, or owner.

Parameters:

- `id` (`integer`, required): The ID of the product to update.
- `code` (`string`, optional): Updated product code or SKU.
- `description` (`string`, optional): Updated description of the product.
- `name` (`string`, optional): Updated name of the product.
- `owner_id` (`integer`, optional): Updated owner user ID.
- `tax` (`number`, optional): Updated tax rate (percentage).
- `unit` (`string`, optional): Updated unit of measurement.

### `pipedrive_products_list`

Retrieve a list of products from Pipedrive with cursor-based pagination and optional filtering.

Parameters:

- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `filter_id` (`integer`, optional): ID of a saved filter to apply.
- `limit` (`integer`, optional): Number of products per page (max 500).
- `owner_id` (`integer`, optional): Filter products by owner user ID.
- `sort_by` (`string`, optional): Field to sort by (e.g., id, update_time, add_time, name).
- `sort_direction` (`string`, optional): Sort direction: asc or desc.

### `pipedrive_products_search`

Search for products in Pipedrive by name, code, or custom fields.

Parameters:

- `term` (`string`, required): Search term. Minimum 2 characters.
- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `exact_match` (`boolean`, optional): When true, only exact case-insensitive matches are returned.
- `fields` (`string`, optional): Comma-separated fields to search in (e.g., name,code,description).
- `limit` (`integer`, optional): Number of results per page (max 500).

### `pipedrive_stage_create`

Create a new stage in a Pipedrive pipeline with a name and optional deal probability settings.

Parameters:

- `name` (`string`, required): Name of the stage.
- `pipeline_id` (`integer`, required): ID of the pipeline this stage belongs to.
- `days_to_rotten` (`integer`, optional): Number of days a deal stays in this stage before it's marked as rotten.
- `deal_probability` (`integer`, optional): Deal success probability for this stage (0-100).
- `is_deal_rot_enabled` (`boolean`, optional): Whether rotten flag is enabled for deals in this stage.

### `pipedrive_stage_delete`

Delete a pipeline stage from Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the stage to delete.

### `pipedrive_stage_get`

Retrieve details of a specific pipeline stage in Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the stage to retrieve.

### `pipedrive_stage_update`

Update an existing pipeline stage in Pipedrive. Modify name, pipeline, deal probability, or rotten settings.

Parameters:

- `id` (`integer`, required): The ID of the stage to update.
- `days_to_rotten` (`integer`, optional): Number of days before a deal is marked as rotten.
- `deal_probability` (`integer`, optional): Deal success probability for this stage (0-100).
- `is_deal_rot_enabled` (`boolean`, optional): Whether rotten flag is enabled for deals in this stage.
- `name` (`string`, optional): Updated name of the stage.
- `pipeline_id` (`integer`, optional): ID of the pipeline this stage belongs to.

### `pipedrive_stages_list`

Retrieve all stages in Pipedrive. Filter by pipeline ID with cursor-based pagination.

Parameters:

- `cursor` (`string`, optional): Cursor for pagination from a previous response.
- `limit` (`integer`, optional): Number of stages per page (max 500).
- `pipeline_id` (`integer`, optional): Filter stages by pipeline ID.
- `sort_by` (`string`, optional): Field to sort by (e.g., id, update_time, add_time).
- `sort_direction` (`string`, optional): Sort direction: asc or desc.

### `pipedrive_user_get`

Retrieve details of a specific user in Pipedrive by their ID.

Parameters:

- `id` (`integer`, required): The ID of the user to retrieve.

### `pipedrive_user_me`

Retrieve the profile of the currently authenticated user in Pipedrive.

### `pipedrive_users_find`

Search for Pipedrive users by name or email address.

Parameters:

- `term` (`string`, required): Search term to match against user name or email.
- `search_by_email` (`boolean`, optional): When true, the search term is matched against email addresses instead of names.

### `pipedrive_users_list`

Retrieve all users in the Pipedrive company account.

### `pipedrive_webhook_create`

Create a new webhook in Pipedrive to receive real-time notifications when objects are created, updated, or deleted.

Parameters:

- `event_action` (`string`, required): Action to trigger the webhook: added, updated, deleted, or * for all.
- `event_object` (`string`, required): Object type to watch: deal, person, organization, activity, lead, note, pipeline, product, stage, user, or * for all.
- `subscription_url` (`string`, required): The URL to send webhook notifications to.
- `http_auth_password` (`string`, optional): Password for HTTP Basic Auth on the subscription URL.
- `http_auth_user` (`string`, optional): Username for HTTP Basic Auth on the subscription URL.
- `name` (`string`, optional): Display name for this webhook.
- `version` (`string`, optional): Webhook payload version: 1 or 2.

### `pipedrive_webhook_delete`

Delete a webhook from Pipedrive by its ID.

Parameters:

- `id` (`integer`, required): The ID of the webhook to delete.

### `pipedrive_webhooks_list`

Retrieve all webhooks configured in the Pipedrive account.


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
