Skip to main content
View source

Pipedrive

View as Markdown

A RocketRide tool node that exposes the Pipedrive CRM to an AI agent.

What it does

Gives an agent the full Pipedrive REST API v1: deals, persons, organizations, activities, pipelines, stages, notes, leads, products, files, users, roles, teams, goals, filters, webhooks, subscriptions, mail, call logs and projects — 255 tools in all, plus a generic request tool for anything Pipedrive adds later. Useful for sales automation, lead triage, CRM reporting, and RAG pipelines that read from a CRM.

Uses the requests library against https://api.pipedrive.com/api/v1 (or your company domain) with a 30-second timeout, and tenacity to retry Pipedrive's rate limits. Responses are unwrapped from Pipedrive's {"success", "data", "additional_data"} envelope and stripped of noise — the wide *_flat duplicates, picture blobs and raw custom-field hashes are dropped, and custom fields are grouped under a custom_fields key.

An API token is required: the pipeline fails to start without one. Write operations are allowed by default; enable read-only mode to block every mutating tool.


Configuration

FieldTypeDescription
apiTokenstringDefault empty. Pipedrive API token (Settings -> Personal preferences -> API), or an OAuth access token. Stored encrypted.
companyDomainstringDefault empty. The "acme" in https://acme.pipedrive.com. When set, requests go to https://{domain}.pipedrive.com/api/v1; otherwise https://api.pipedrive.com/api/v1.
readOnlybooleanDefault false. When enabled, every create, update and delete tool is blocked and request only accepts GET.
toolGroupsarrayDefault ["deals", "persons", "organizations", "activities", "pipelines", "stages", "notes", "search"]. Which groups of tools to publish, shown as a multi-select dropdown with per-group tool counts. Select All groups for everything.
allowRawRequestbooleanDefault true. Publishes the generic request tool.

Tool groups

Full v1 coverage is 255 tools. That is more than an LLM can choose between reliably, and more than some providers accept in one request, so the node only publishes the groups listed in Tool groups. The default eight groups publish 108 tools — the everyday CRM surface. Add group names to reach further, or use all.

Available groups, with the number of tools each publishes:

deals (27), projects (22), organizations (18), persons (18), products (16), activities (13), roles (13), leads (12), users (12), notes (11), subscriptions (9), files (8), misc (8), pipelines (8), teams (8), filters (7), stages (7), fields (6), mailbox (6), call_logs (5), goals (5), org_relationships (5), search (4), permission_sets (3), webhooks (3).

The config panel renders these as a multi-select dropdown. RJSF picks that widget for an array carrying uniqueItems: true and an items.enum; All groups is the last option.

A tool in a group that is not published is invisible to the agent and refused if invoked anyway.

Tool-count guard rail

Group sizes are uneven — deals is 27 tools, permission_sets is 3 — so counting groups tells you little. The node counts published tools instead and warns when a selection exceeds 120, both in the config panel and at pipeline start:

toolGroups publishes 148 tools, above the recommended 120. Agents pick the wrong
tool more often at this size, and some providers reject more than 128 tools in one
request. Drop a group, or use "all" if this is deliberate.

It is a warning, not a block: the tools are still published and the pipeline still runs. Silently dropping tools an operator asked for fails later and more confusingly than a noisy config panel. all is exempt, since it is already an explicit opt-in to the full 255-tool surface and suits scripted callers that do not route through an LLM.

Pagination

List tools take start (offset, default 0) and limit (1-500, default 100), and return {items, count, more_items_in_collection, next_start}. Pass next_start back as start for the next page. file_list is the exception: /files documents a maximum limit of 100, so that tool advertises and clamps to 100. The project tools use Pipedrive's cursor pagination instead: pass cursor and read next_cursor.

Custom fields

Pipedrive stores custom fields under 40-character hex keys. Use field_list (group fields) to discover them, then write them through the extra object that every create and update tool accepts:

{ "title": "New deal", "extra": { "a1b2c3d4e5f60718293a4b5c6d7e8f9012345678": "Gold" } }

extra is merged into the request body after the typed parameters, so it also reaches any API parameter this node does not model explicitly.


Authentication

Personal API tokens are sent as the api_token query parameter; OAuth access tokens (JWTs, anything longer than 64 characters, or a value prefixed with Bearer ) are sent as an Authorization: Bearer header. Both go in the same API Token field.

Rate limits

Pipedrive uses a daily token budget plus a short burst window, and answers 429 when either is exhausted (escalating to 403 if a client keeps hammering). The client retries up to three times, honouring Retry-After first and then x-ratelimit-reset — which, unlike GitHub's header of a similar name, is seconds remaining in the window, not an epoch timestamp. If the required wait is longer than the 30-second request timeout the call fails immediately with the wait time in the error message rather than blocking the pipeline.

Read-only mode

With Read-only mode enabled, every *_create, *_update, *_delete, *_add, *_merge, *_set and bulk-delete tool raises before making a request, and request accepts only GET and HEAD. Listing, getting, searching and reporting tools are unaffected.


Available tools

Tools are published as pipedrive.<tool>.

activities — 13 tools

ToolDescription
activity_createCreate an activity (call, meeting, task, ...) and optionally link it to a deal, person or organization.
activity_deleteDelete an activity.
activity_delete_bulkDelete multiple activities in one call.
activity_field_listList the activity fields, including custom fields and their 40-character keys.
activity_getGet a single activity by id.
activity_listList activities, optionally filtered by owner, type, completion state or due-date range.
activity_mark_doneMark an activity as done (or reopen it with done="0").
activity_type_createCreate a custom activity type.
activity_type_deleteDelete an activity type.
activity_type_delete_bulkDelete multiple activity types in one call.
activity_type_listList the activity types configured in this Pipedrive account, with the key to pass as activity "type".
activity_type_updateUpdate an activity type.
activity_updateUpdate an activity. Pass done=1 to mark it complete.

call_logs — 5 tools

ToolDescription
call_log_createLog a phone call.
call_log_deleteDelete a call log.
call_log_getGet a single call log.
call_log_listList the call logs of the authenticated user.
call_log_recording_addAttach an audio recording to a call log.

deals — 27 tools

ToolDescription
deal_activities_listList activities associated with a deal.
deal_createCreate a deal.
deal_deleteDelete a deal. Pipedrive keeps it recoverable for 30 days.
deal_delete_bulkDelete multiple deals in one call.
deal_duplicateDuplicate a deal.
deal_files_listList files attached to a deal.
deal_follower_addAdd a follower to a deal.
deal_follower_deleteRemove a follower from a deal.
deal_followers_listList followers of a deal.
deal_getGet a single deal by id, including its custom fields.
deal_listList deals, optionally filtered by owner, stage, status or a saved filter.
deal_mail_messages_listList email messages associated with a deal.
deal_mergeMerge one deal into another. The source deal is removed.
deal_participant_addAdd a person as a participant of a deal.
deal_participant_deleteRemove a participant from a deal.
deal_participants_listList participants (persons) of a deal.
deal_permitted_users_listList users who have permission to see or edit a deal.
deal_persons_listList persons linked to a deal, either directly or through its organization.
deal_product_addAttach a product to a deal.
deal_product_deleteDetach a product from a deal.
deal_product_updateUpdate a product already attached to a deal.
deal_products_listList products attached to a deal, with their quantities and prices.
deal_searchSearch deals by title, notes or custom field values.
deal_summaryGet a summary of deals: total count and value, grouped by currency.
deal_timelineGet deals grouped into time periods, with per-period totals. Useful for pipeline trend questions.
deal_updateUpdate a deal. Only the fields you pass are changed.
deal_updates_listGet the update history (flow) of a deal: field changes, notes, activities and emails.

fields — 6 tools

ToolDescription
field_createCreate a custom field on deals, persons, organizations or products.
field_deleteDelete a custom field. The data stored in it is lost.
field_delete_bulkDelete multiple custom fields in one call.
field_getGet a single field definition, including its options for enum and set fields.
field_listList the fields of deals, persons, organizations or products, including custom fields and the 40-character keys used to read and write them.
field_updateUpdate a custom field. Field type cannot be changed after creation.

files — 8 tools

ToolDescription
file_createUpload a file and attach it to a deal, person, organization, product, activity or lead.
file_create_remoteCreate a new empty remote document (Google Drive) and attach it to a record.
file_deleteDelete a file.
file_downloadDownload a file. Returns base64 content by default, or decoded text with as_text="1".
file_getGet the metadata of a single file.
file_link_remoteLink an existing remote file (Google Drive) to a record.
file_listList files stored in Pipedrive.
file_updateRename a file or change its description.

filters — 7 tools

ToolDescription
filter_createCreate a saved filter.
filter_deleteDelete a saved filter.
filter_delete_bulkDelete multiple saved filters in one call.
filter_getGet a single filter, including its condition tree.
filter_helpers_getGet the field ids, operators and value formats that filter conditions accept. Call this before building a filter.
filter_listList saved filters. Pass a returned filter id as filter_id to the list tools to reuse a filter the user already built in the UI.
filter_updateUpdate a saved filter.

goals — 5 tools

ToolDescription
goal_createCreate a goal.
goal_deleteDelete a goal.
goal_findFind goals by title, assignee, type or period.
goal_results_getGet the progress of a goal over a period: how much of the target has been reached.
goal_updateUpdate a goal.

leads — 12 tools

ToolDescription
lead_createCreate a lead. Link it to a person or an organization (at least one is required).
lead_deleteDelete a lead.
lead_getGet a single lead by its uuid.
lead_label_createCreate a lead label.
lead_label_deleteDelete a lead label.
lead_label_listList the lead labels configured in this account, with the uuids to pass as label_ids.
lead_label_updateUpdate a lead label.
lead_listList leads from the Leads Inbox.
lead_permitted_users_listList users who have permission to see or edit a lead.
lead_searchSearch leads by title, notes or custom field values.
lead_source_listList the lead sources available in this account.
lead_updateUpdate a lead. Only the fields you pass are changed.

mailbox — 6 tools

ToolDescription
mail_message_getGet a single mail message, optionally with its body.
mail_thread_deleteDelete a mail thread.
mail_thread_getGet a single mail thread.
mail_thread_listList mail threads in a mailbox folder.
mail_thread_messages_listList the messages in a mail thread.
mail_thread_updateLink a mail thread to a deal or lead, or change its shared, read and archived flags.

misc — 8 tools

ToolDescription
billing_addons_listList the billing add-ons the company has subscribed to.
channel_conversation_deleteDelete a conversation from a messaging channel.
channel_createRegister a messaging channel so an external inbox can appear in Pipedrive.
channel_deleteDelete a messaging channel.
channel_message_receiveDeliver an inbound message from an external messaging provider into a Pipedrive channel.
currency_listList the currencies supported by the account, with their ids and decimal precision.
meeting_link_createLink a Pipedrive user to a video-calling provider so meeting links can be generated.
meeting_link_deleteRemove the link between a Pipedrive user and a video-calling provider.

notes — 11 tools

ToolDescription
note_comment_createAdd a comment to a note.
note_comment_deleteDelete a comment from a note.
note_comment_getGet a single comment on a note.
note_comment_listList comments on a note.
note_comment_updateUpdate a comment on a note.
note_createCreate a note. Attach it by passing at least one of deal_id, person_id, org_id, lead_id or project_id.
note_deleteDelete a note.
note_field_listList the note fields available in this account.
note_getGet a single note by id.
note_listList notes, optionally filtered by the record they are attached to or by date.
note_updateUpdate a note.

org_relationships — 5 tools

ToolDescription
org_relationship_createCreate a relationship between two organizations.
org_relationship_deleteDelete an organization relationship.
org_relationship_getGet a single organization relationship.
org_relationship_listList parent/child relationships of an organization.
org_relationship_updateUpdate an organization relationship.

organizations — 18 tools

ToolDescription
organization_activities_listList activities associated with an organization.
organization_createCreate an organization.
organization_deals_listList deals associated with an organization.
organization_deleteDelete an organization.
organization_delete_bulkDelete multiple organizations in one call.
organization_files_listList files attached to an organization.
organization_follower_addAdd a follower to an organization.
organization_follower_deleteRemove a follower from an organization.
organization_followers_listList followers of an organization.
organization_getGet a single organization by id, including its custom fields.
organization_listList organizations (companies), optionally filtered by owner, saved filter or first letter.
organization_mail_messages_listList email messages associated with an organization.
organization_mergeMerge one organization into another. The source organization is removed.
organization_permitted_users_listList users who have permission to see or edit an organization.
organization_persons_listList persons that belong to an organization.
organization_searchSearch organizations by name, address, notes or custom field values.
organization_updateUpdate an organization. Only the fields you pass are changed.
organization_updates_listGet the update history (flow) of an organization.

permission_sets — 3 tools

ToolDescription
permission_set_assignments_listList the users assigned to a permission set.
permission_set_getGet a single permission set.
permission_set_listList the permission sets available in the account.

persons — 18 tools

ToolDescription
person_activities_listList activities associated with a person.
person_createCreate a person (contact).
person_deals_listList deals associated with a person.
person_deleteDelete a person.
person_delete_bulkDelete multiple persons in one call.
person_files_listList files attached to a person.
person_follower_addAdd a follower to a person.
person_follower_deleteRemove a follower from a person.
person_followers_listList followers of a person.
person_getGet a single person by id, including emails, phones and custom fields.
person_listList persons (contacts), optionally filtered by owner, saved filter or first letter.
person_mail_messages_listList email messages associated with a person.
person_mergeMerge one person into another. The source person is removed.
person_permitted_users_listList users who have permission to see or edit a person.
person_products_listList products associated with a person through their deals.
person_searchSearch persons by name, email, phone, notes or custom field values.
person_updateUpdate a person. Only the fields you pass are changed; passing email or phone replaces the whole list.
person_updates_listGet the update history (flow) of a person.

pipelines — 8 tools

ToolDescription
pipeline_conversion_statsGet stage-to-stage conversion rates and win/lost rates for a pipeline over a date range.
pipeline_createCreate a pipeline.
pipeline_deals_listList deals in a pipeline.
pipeline_deleteDelete a pipeline.
pipeline_getGet a single pipeline, including per-stage deal totals.
pipeline_listList all pipelines. Start here to find the pipeline_id and stage layout of the account.
pipeline_movement_statsGet how deals moved into, through and out of each stage of a pipeline over a date range.
pipeline_updateUpdate a pipeline.

products — 16 tools

ToolDescription
product_createCreate a product in the catalogue.
product_deals_listList deals a product is attached to.
product_deleteDelete a product from the catalogue.
product_files_listList files attached to a product.
product_follower_addAdd a follower to a product.
product_follower_deleteRemove a follower from a product.
product_followers_listList followers of a product.
product_getGet a single product by id, including its prices.
product_listList products from the catalogue.
product_permitted_users_listList users who have permission to see or edit a product.
product_searchSearch products by name, code or custom field values.
product_updateUpdate a product.
product_variation_createCreate a product variation.
product_variation_deleteDelete a product variation.
product_variation_listList the variations of a product.
product_variation_updateUpdate a product variation.

projects — 22 tools

ToolDescription
project_activities_listList the activities of a project.
project_archiveArchive a project.
project_board_getGet a single project board.
project_board_listList project boards. Board ids are needed to create a project.
project_createCreate a project.
project_deleteDelete a project.
project_getGet a single project.
project_groups_listList the groups of a project.
project_listList projects.
project_phase_getGet a single project phase.
project_phase_listList the phases of a project board. Phase ids are needed to create a project.
project_plan_activity_updateMove an activity to another phase or group within a project plan.
project_plan_getGet the plan of a project: its tasks and activities with their scheduled dates.
project_plan_task_updateMove a task to another phase or group within a project plan.
project_task_createCreate a project task.
project_task_deleteDelete a project task.
project_task_getGet a single project task.
project_task_listList project tasks.
project_task_updateUpdate a project task. Pass done=1 to complete it.
project_template_getGet a single project template.
project_template_listList project templates.
project_updateUpdate a project.

request — 1 tools

ToolDescription
requestCall any Pipedrive REST API v1 endpoint directly. Use this only for endpoints that have no dedicated tool here — the typed tools validate their inputs and return compact results, this one returns the raw API payload. Authentication, rate-limit retries and read-only enforcement still apply. See https://developers.pipedrive.com/docs/api/v1 for the endpoint reference.

roles — 13 tools

ToolDescription
role_assignment_addAssign a user to a role.
role_assignment_deleteRemove a user from a role.
role_assignments_listList the users assigned to a role.
role_createCreate a role.
role_deleteDelete a role.
role_getGet a single role.
role_listList the roles configured in the account.
role_pipelines_listList which pipelines a role can see.
role_pipelines_setSet which pipelines a role can see.
role_setting_setChange one visibility setting of a role.
role_settings_getGet the visibility settings of a role.
role_sub_roles_listList the sub-roles of a role.
role_updateUpdate a role.

search — 4 tools

ToolDescription
item_searchSearch across every Pipedrive item type at once — deals, persons, organizations, products, leads, files and projects. Use this when you do not know which record type holds the answer.
item_search_by_fieldSearch a single field for a value — for example find every deal whose custom "Contract number" field starts with a string. Returns distinct field values by default.
lookupQuick global lookup that returns just the id, type and name of each match. Cheaper than item_search when you only need to resolve a name to an id.
recents_listList every record created or changed since a timestamp. Use this to sync a CRM snapshot incrementally instead of re-listing everything.

stages — 7 tools

ToolDescription
stage_createCreate a stage in a pipeline.
stage_deals_listList deals sitting in a stage.
stage_deleteDelete a stage.
stage_delete_bulkDelete multiple stages in one call.
stage_getGet a single stage.
stage_listList stages, optionally restricted to a single pipeline.
stage_updateUpdate a stage.

subscriptions — 9 tools

ToolDescription
subscription_deleteDelete a subscription and detach it from its deal.
subscription_find_by_dealFind the subscription attached to a deal.
subscription_getGet a single revenue subscription.
subscription_installment_createCreate an installment subscription on a deal.
subscription_installment_updateReplace the payment schedule of an installment subscription.
subscription_payments_listList the payments of a subscription.
subscription_recurring_cancelCancel a recurring subscription.
subscription_recurring_createCreate a recurring revenue subscription on a deal.
subscription_recurring_updateUpdate a recurring subscription from a given date onward.

teams — 8 tools

ToolDescription
team_createCreate a team.
team_getGet a single team.
team_listList all teams.
team_list_for_userList the teams a user belongs to.
team_updateUpdate a team.
team_user_addAdd users to a team.
team_user_deleteRemove users from a team.
team_users_listList the user ids that belong to a team.

users — 12 tools

ToolDescription
user_connections_listList the third-party accounts (Google, Microsoft, ...) connected to the authenticated user.
user_createInvite a new user to the Pipedrive account.
user_findFind users by name or email.
user_followers_listList the followers of a user.
user_getGet a single user by id.
user_listList all users in the Pipedrive account. Use this to resolve a user name to the user_id needed by owner filters.
user_meGet the user the API token belongs to, including the company id, domain and default currency.
user_permissions_getList the effective permissions of a user (what they can see, add, edit and delete).
user_role_assignments_listList the role assignments of a user.
user_role_settings_getGet the role settings that apply to a user.
user_settings_getGet the authenticated user settings: timezone, currency, date format and feature flags.
user_updateActivate or deactivate a user.

webhooks — 3 tools

ToolDescription
webhook_createCreate a webhook subscription.
webhook_deleteDelete a webhook subscription.
webhook_listList the webhooks registered by this API token.

Running the tests

# Unit tests — no credentials, no network
python -m pytest nodes/test/tool_pipedrive/test_pipedrive.py -v

# Live suite — reads only
export PIPEDRIVE_API_TOKEN=<sandbox token>
export PIPEDRIVE_COMPANY_DOMAIN=<yourcompany> # optional
python -m pytest nodes/test/tool_pipedrive/test_tools.py -v

# Live suite including tests that create and delete records
export PIPEDRIVE_ALLOW_WRITES=1
python -m pytest nodes/test/tool_pipedrive/test_tools.py -v

The live suite writes to a real Pipedrive account. Point it at a sandbox.


Schema

FieldTypeDescriptionDefault
pipedrive.allowRawRequestbooleanAllow raw API requests
Publishes the generic request tool, which can call any Pipedrive v1 endpoint by method and path. It uses the same authentication, rate-limit handling and read-only enforcement as the typed tools. Disable to restrict the agent to the typed tools only.
true
pipedrive.apiTokenstringAPI Token
Pipedrive API token (Settings -> Personal preferences -> API), or an OAuth access token. Tokens starting with a JWT-style prefix are sent as a Bearer header; everything else is sent as the api_token query parameter.
""
pipedrive.companyDomainstringCompany Domain
Your Pipedrive company domain, i.e. the "acme" in https://acme.pipedrive.com. When set, requests go to https://{domain}.pipedrive.com/api/v1; otherwise https://api.pipedrive.com/api/v1 is used.
""
pipedrive.readOnlybooleanRead-only mode
When enabled, every create, update and delete tool is blocked, and the generic request tool only accepts GET. Safe for agents that should only inspect the CRM.
false
pipedrive.toolGroupsarrayTool groups
Which groups of Pipedrive tools this node publishes to the agent. The full API is 255 tools, which is more than an LLM can choose between reliably, so only the selected groups are exposed. Pick one or more from the list; tool counts are shown per group, and selections totalling more than 120 log a warning but still run. Selecting All groups publishes everything and skips that warning.
["deals","persons","organizations","activities","pipelines","stages","notes","search"]

Dependencies

  • requests >=2.34.2
  • tenacity