Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Pipedrive MCP server

Vendor MCP
Open markdown

The Pipedrive MCP connector routes your AI agent's tool calls to Pipedrive's own MCP server through Scalekit. Each user signs in to Pipedrive once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 32 tools.

Tools
32
What they doRead · write · destructive
19 · 13 · 019 read13 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Pipedrive MCP connection

    In AgentKit > Connections, create a Pipedrive MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Pipedrive, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'pipedrivemcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Pipedrive MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'pipedrivemcp_getactivities',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • pipedrivemcp_getactivitiesRetrieves a list of all activities (calls, meetings, tasks, emails, etc.) with their subjects, due dates, types, and linked deals/persons.Read-only

    GetActivities

    Retrieves a list of all activities (calls, meetings, tasks, emails, etc.) with their subjects, due dates, types, and linked deals/persons. Filter by user_id, deal_id, type, or done status to narrow results.

    Inputs

    cursorstring
    Pagination cursor from a previous response to fetch the next page.
    deal_idnumber
    Filter activities by the ID of the linked deal.
    doneboolean
    Filter by completion status. Set to true to retrieve only done activities, false for pending.
    filter_idnumber
    The ID of the filter to apply to the activities list.
    idsstring
    Comma-separated list of activity IDs to retrieve.
    include_fieldsstring
    Comma-separated list of additional fields to include in the response.
    lead_idstring
    Filter activities by the UUID of the linked lead.
    limitnumber
    Maximum number of activities to return per page.
    org_idnumber
    Filter activities by the ID of the linked organization.
    owner_idnumber
    Filter activities by the ID of the user who owns them.
    person_idnumber
    Filter activities by the ID of the linked person.
    sort_bystring
    Field to sort results by (e.g., due_date, add_time).
    sort_directionstring
    Sort direction: asc or desc.
    updated_sincestring
    Return activities updated after this date-time (ISO 8601 format).
    updated_untilstring
    Return activities updated before this date-time (ISO 8601 format).
  • pipedrivemcp_getactivityRetrieves complete details of a specific activity by ID, including type, subject, due date, duration, participants, and linked deal/person/organization.Read-only

    GetActivity

    Retrieves complete details of a specific activity by ID, including type, subject, due date, duration, participants, and linked deal/person/organization.

    Inputs

    idnumberrequired
    The ID of the activity to retrieve.
    include_fieldsstring
    Comma-separated list of additional fields to include in the response.
  • pipedrivemcp_getdealRetrieves complete details of a specific deal by ID, including value, stage, win probability, associated person/organization, and custom fields.Read-only

    GetDeal

    Retrieves complete details of a specific deal by ID, including value, stage, win probability, associated person/organization, and custom fields.

    Inputs

    idnumberrequired
    The ID of the deal to retrieve.
    custom_fieldsstring
    Comma-separated list of custom field keys to include.
    include_fieldsstring
    Comma-separated list of additional fields to include in the response.
    include_labelsboolean
    Whether to include deal label details.
    include_option_labelsboolean
    Whether to include labels for option-type custom fields.
  • pipedrivemcp_getdealsRetrieves a list of all active (non-archived) deals in the system with their titles, values, stages, and associated contacts.Read-only

    GetDeals

    Retrieves a list of all active (non-archived) deals in the system with their titles, values, stages, and associated contacts.

    Inputs

    cursorstring
    Pagination cursor from a previous response to fetch the next page.
    custom_fieldsstring
    Comma-separated list of custom field keys to include.
    filter_idnumber
    The ID of the filter to apply to the deals list.
    idsstring
    Comma-separated list of deal IDs to retrieve.
    include_fieldsstring
    Comma-separated list of additional fields to include in the response.
    include_labelsboolean
    Whether to include deal label details.
    include_option_labelsboolean
    Whether to include labels for option-type custom fields.
    limitnumber
    Maximum number of deals to return per page.
    org_idnumber
    Filter deals by the ID of the associated organization.
    owner_idnumber
    Filter deals by the ID of the user who owns them.
    person_idnumber
    Filter deals by the ID of the associated person.
    pipeline_idnumber
    Filter deals by pipeline ID.
    sort_bystring
    Field to sort results by (e.g., add_time, update_time, value).
    sort_directionstring
    Sort direction: asc or desc.
    stage_idnumber
    Filter deals by stage ID.
    statusstring
    Filter deals by status (open, won, lost, deleted).
    updated_sincestring
    Return deals updated after this date-time (ISO 8601 format).
    updated_untilstring
    Return deals updated before this date-time (ISO 8601 format).
  • pipedrivemcp_getleadReturns full details of a specific lead by ID, including title, value, expected close date, and linked person/organization.Read-only

    GetLead

    Returns full details of a specific lead by ID, including title, value, expected close date, and linked person/organization. Prefer this over getLeads when you have the lead ID.

    Inputs

    idstringrequired
    The ID of the lead.
  • pipedrivemcp_getleadconversionstatusRetrieves the status of a lead-to-deal conversion by conversion ID.Read-only

    GetLeadConversionStatus

    Retrieves the status of a lead-to-deal conversion by conversion ID. Use this to check whether a conversion initiated by convertLeadToDeal has completed.

    Inputs

    conversion_idstringrequired
    The conversion ID returned by convertLeadToDeal.
    idstringrequired
    The ID of the lead that was converted.
  • pipedrivemcp_getleadsReturns a paginated list of non-archived leads sorted by creation time.Read-only

    GetLeads

    Returns a paginated list of non-archived leads sorted by creation time. Use limit/start for pagination, or filter by owner, person, or organization to narrow results.

    Inputs

    filter_idinteger
    The ID of the filter to use.
    limitinteger
    The number of leads to return per page.
    organization_idinteger
    Filter leads linked to a specific organization.
    owner_idinteger
    Filter leads by the ID of their owner.
    person_idinteger
    Filter leads linked to a specific person.
    sortstring
    Field name and sort direction, e.g. 'add_time DESC'.
    startinteger
    Pagination start offset.
    updated_sincestring
    Return leads updated after this date/time in ISO 8601 format.
  • pipedrivemcp_getnoteRetrieves complete details of a specific note by ID, including content, author, and linked entities.Read-only

    GetNote

    Retrieves complete details of a specific note by ID, including content, author, and linked entities.

    Inputs

    idnumberrequired
    The ID of the note.