Pipedrive Developers' Community - Latest posts https://devcommunity.pipedrive.com Latest posts The CloudTalk integration do not distinguish between customers from two different organisations Hello, in Pipedrive we have two different organizations, for example: org1 and org2. Sometimes a customer belongs to both of these organizations at the same time. In this case, we create two separate “Person” objects for each organization. Each person has the same phone number and email address. The problem is that when we call a person from org2 using the integrated CloudTalk system, notes containing tag information appear in the deal belonging to the person from org1, not org2.

Has anyone had a similar problem and knows how to solve it?

]]>
https://devcommunity.pipedrive.com/t/the-cloudtalk-integration-do-not-distinguish-between-customers-from-two-different-organisations/20149#post_1 Tue, 17 Mar 2026 08:54:33 +0000 devcommunity.pipedrive.com-post-45484
V2 Open API Spec incorrect for "Add a new person" The official V2 Open API Spec for “Add a new person” specifies title as a required field. However it is not required, and including it in a request returns a 400 error.

Open API Spec excerpt, note the last 2 lines:

post:
summary: Add a new person
description: ‘Adds a new person. If the company uses the [Campaigns product](Campaigns in Pipedrive API), then this endpoint will also accept and return the `marketing_status` field.’
x-token-cost: 5
operationId: addPerson
tags:
- Persons
security:
- api_key: []
- oauth2:
- ‘contacts:full’
requestBody:
content:
application/json:
schema:
required:
- title

Including title in the request produces the following response

{
“code”: “ERR_SCHEMA_VALIDATION_FAILED”,
“error”: “Validation failed: title: Parameter ‘title’ is not allowed for this request”,
“success”: false
}

]]>
https://devcommunity.pipedrive.com/t/v2-open-api-spec-incorrect-for-add-a-new-person/20148#post_1 Tue, 17 Mar 2026 08:54:18 +0000 devcommunity.pipedrive.com-post-45483
Project fields I am facing the same problem. Someone found a solution ?

]]>
https://devcommunity.pipedrive.com/t/project-fields/20077#post_2 Fri, 13 Mar 2026 15:09:08 +0000 devcommunity.pipedrive.com-post-45472
Inconsistencies with V2 Deal Fields Yeah this caught us too when building our Pipedrive connector at Stacksync

The dealFields endpoint is schema introspection, not a direct map of how the actual deal payload is structured. The value field with only currency as a subfield is Pipedrive’s internal representation for field management purposes, but in actual deal GET/POST/PATCH calls the payload is flat: value as the numeric amount and currency as the ISO code, same as v1

For constructing and reading deal objects, go by what the deal endpoints actualy return and expect. The migration guide and the deal API docs are the right reference there. The dealFields response is useful for discovering which custom fields exist and their types, but the subfields representation for value doesn’t translate into how you build requests

Definitely looks like a docs inconsistency worth flagging to Pipedrive directly.

]]>
https://devcommunity.pipedrive.com/t/inconsistencies-with-v2-deal-fields/20116#post_2 Fri, 13 Mar 2026 15:09:03 +0000 devcommunity.pipedrive.com-post-45471
429 Rate Limit Errors Causing Failed Contact Synchronization via Pipedrive API Hi @joe_Root

The concurrent retry problem is the main thing to address.

When multiple processes each get a 429 and independently schedule their own backoff, the retries converge back at roughly the same time and you get another wave. A centralized async queue where all Pipedrive calls for a given API token go through one worker fixes this cleanly. That worker reads the Retry-After header from the 429 response and pauses the entire queue, not just one thread.

One thing that may be contributing to bursts at lower than expected volume: Pipedrive moved to a token based rate limiting model ( Rate limiting ) where the daily budget is shared across the whole company account, but the burst limit is per API token on a rolling 2 second window. If your 4 or 5 sequential calls per form submission are hitting that window across concurrent processes on the same token, you exceed the burst limit well before the daily budget looks concerning in your logs.

For the partial state issue, store a small checkpoint record per submission before the first API call (person_id, deal_id, status) and update it as each step completes. On retry, check the record and skip steps already done.

At Stacksync we do the same when chaining dependent Pipedrive calls, since a sequence left partially done without checkpointing turns into a reconciliation problem at any real volume.

]]>
https://devcommunity.pipedrive.com/t/429-rate-limit-errors-causing-failed-contact-synchronization-via-pipedrive-api/20112#post_4 Fri, 13 Mar 2026 15:08:35 +0000 devcommunity.pipedrive.com-post-45470
Automation for Deals, contacts, and organisations from Emails and Business cards Hi All,
I have been using pipedrive for some time now and decided to work on my own ap to speed up creation of the deals and contacts from minutes to seconds. I am using API bot V1 and V2 as new api does not have all features yet.

With the app: https://paipdrive.com/ you can scan business card directly to your pipeline, you can dictate or analyse emails to automatically convert them to deal, contact, org and task in seconds.

You will need your API for pipedrive and Gemini to process the information. Works amazingly good on mobile devices, and you can ask questions in your own words about your pipeline.
Also available as extension for Chrome: https://chromewebstore.google.com/detail/paipdrive-ai-email-to-crm/ocdmcmmdicadbpmklphkacbhmalnfoho

If you need to know more, please let me know.
Aleks

]]>
https://devcommunity.pipedrive.com/t/automation-for-deals-contacts-and-organisations-from-emails-and-business-cards/20141#post_1 Fri, 13 Mar 2026 15:08:25 +0000 devcommunity.pipedrive.com-post-45469
API migration v1 -> v2 Good afternoon,

Make (formerly Integromat) has notified us that the Pipedrive API is being migrated from v1 to v2. Version 1 is scheduled to be discontinued this summer.

There is a “Get a user” module in Make, but we could not find any information in the Pipedrive documentation about the corresponding API endpoint. At the same time, this module is available in Make and is currently working.

In addition, judging by the Users documentation
https://developers.pipedrive.com/docs/api/v1/Users
many user-related endpoints simply do not appear to exist in v2. This raises the question of how these data are supposed to be retrieved going forward. Will some v1 endpoints remain available, or is there another recommended way to access this information?

Could you please clarify how this API endpoint should be handled in this case?

]]>
https://devcommunity.pipedrive.com/t/api-migration-v1-v2/20139#post_1 Fri, 13 Mar 2026 15:07:37 +0000 devcommunity.pipedrive.com-post-45467
Not sending updated 'note' on 'entity' => 'activity', 'action' => 'change' Yeah this is a known gap. The activity note field just doesn’t show up in the webhook payload on change events, and it’s not in the previous object either, so there’s really no way to know it changed from the webhook alone.

The workaround we use at Stacksync for our Pipedrive connector is basically what you described: on any activity.change event, do a follow up GET /api/v1/activities/{id} call to pull the full activity including the note. Not ideal but it works. You can keep it cheap by only calling back when the webhook fires for activities you actually care about (filter by type or deal_id before making the API call).

Worth checking if you’re on webhooks v1 or v2 too. The v2 payload dropped a bunch of fields that v1 used to include, similar complaints have come up for organization fields and product fields. Pipedrive’s official guidance is “query the API if a field is missing from v2” ( Breaking change: Webhooks v2 will become the new default version ) which is a bit frustrating when you can’t even tell the field changed.

Might be worth posting this under the Feedback category too so the Pipedrive team tracks it as a feature request.

]]>
https://devcommunity.pipedrive.com/t/not-sending-updated-note-on-entity-activity-action-change/19804#post_2 Fri, 13 Mar 2026 15:07:24 +0000 devcommunity.pipedrive.com-post-45466
Deals v1 API documentation Hi! As you noted, both of these endpoints have been deprecated since April 2025 so please migrate to v2 as soon as possible to avoid your integration breaking in the future.

The /v1/deals/collection response was rather similar to the new /v2/deals endpoint in the sense that it did not contain related objects and used cursor pagination (while /v1/deals contained a lot of extra data and used offset pagination). It was only available to subset of users, though (“Please note that only global admins (those with global permissions) can access this endpoint. Users with regular permissions will receive a 403 response.”)

These were the documented query parameters for /v1/deals:
user_id

INTEGER

If supplied, only deals matching the given user will be returned. However, filter_id and owned_by_you takes precedence over user_id when supplied.


filter_id

INTEGER

The ID of the filter to use


stage_id

INTEGER

If supplied, only deals within the given stage will be returned


status

STRING

Only fetch deals with a specific status. If omitted, all not deleted deals are returned. If set to deleted, deals that have been deleted up to 30 days ago will be included.

DEFAULT all_not_deleted

VALUES open won lost deleted all_not_deleted


start

INTEGER

Pagination start

DEFAULT 0


limit

INTEGER

Items shown per page


sort

STRING

The field names and sorting mode separated by a comma (field_name_1 ASC, field_name_2 DESC). Only first-level field keys are supported (no nested keys).


owned_by_you

NUMBER

When supplied, only deals owned by you are returned. However, filter_id takes precedence over owned_by_you when both are supplied.

]]>
https://devcommunity.pipedrive.com/t/deals-v1-api-documentation/20123#post_2 Mon, 09 Mar 2026 16:23:32 +0000 devcommunity.pipedrive.com-post-45448
Creating a Person via the API Hi! Please try using yourdomain.pipedrive.com/api/v1/persons

While some v1 endpoints might work without the api prefix, it is not the recommended way.

NB! v1 Persons endpoint has been deprecated since April 2025 so please switch to /api/v2/persons to avoid your integration breaking in the future.

]]>
https://devcommunity.pipedrive.com/t/creating-a-person-via-the-api/20125#post_2 Mon, 09 Mar 2026 16:07:04 +0000 devcommunity.pipedrive.com-post-45447
Creating a Person via the API Hopefully you can see the image below. I have obscured some of the details. All I am trying to do is create a Person using the API - I can create and update other items, such as Organizations with no issues, but in this simplest example I get “success”: false “error”: “Not Found”. Any ideas?

]]>
https://devcommunity.pipedrive.com/t/creating-a-person-via-the-api/20125#post_1 Mon, 09 Mar 2026 15:58:21 +0000 devcommunity.pipedrive.com-post-45446
Deals v1 API documentation Hi team/community,

We are using the API v1 for the deals entity but we are not able to find the documentation as it has been moved to v2.

We understand that, but due to some PROD issues, we need to figure out:

1- How can we filter by date in the v1/deals endpoint

2- Is there any difference between the data retrieved from these 2 endpoints?

v1/deals
v1/deals/collection

Thanks.

]]>
https://devcommunity.pipedrive.com/t/deals-v1-api-documentation/20123#post_1 Mon, 09 Mar 2026 15:26:54 +0000 devcommunity.pipedrive.com-post-45442
Callback API not getting triggered on app install or removal for shared app Hello @Edmilson_Souza

The sharing notifications is enabled for the app but still there is not webhook triggers when either the user installs the app or when the admin removes users from app sharing.

Thank You

]]>
https://devcommunity.pipedrive.com/t/callback-api-not-getting-triggered-on-app-install-or-removal-for-shared-app/20059#post_5 Mon, 09 Mar 2026 15:26:39 +0000 devcommunity.pipedrive.com-post-45441
Callback API not getting triggered on app install or removal for shared app Hello Ruben,

Thanks for your reply.

The isShared flag is actually from the pipedrive itself. It is not something i invented. I thought of going with your suggestion by periodically checking against the app users but the problem is that since admin can select which users he wants to give the access to against the number of licences they have bought i cannot find which users are.

]]>
https://devcommunity.pipedrive.com/t/callback-api-not-getting-triggered-on-app-install-or-removal-for-shared-app/20059#post_4 Fri, 06 Mar 2026 13:19:39 +0000 devcommunity.pipedrive.com-post-45432
Callback API not getting triggered on app install or removal for shared app Hello @sarfaraz187!
Thanks for sharing this. To receive these notifications, you need to request the Marketplace team to enable sharing notifications for your app, by sending an email to [email protected]. This missing info is a mistake in the docs and we will fix it ASAP.

]]>
https://devcommunity.pipedrive.com/t/callback-api-not-getting-triggered-on-app-install-or-removal-for-shared-app/20059#post_3 Fri, 06 Mar 2026 13:19:17 +0000 devcommunity.pipedrive.com-post-45431
Struggling With API Data Sync, Caching, and Recommendation Logic for My Texas Roadhouse Menu Website I might be able to help. Admittedly I’m not sure Pipedrive is the right tool for the job, but it should be possible to get a much more stable version of what you’re describing using something like Supabase as the database/API layer. I’ve got experience integrating Pipedrive in that way and can also potentially advise on alternative configurations to achieve the same effect if you’re open to it.

Feel free to shoot me an email: [email protected]

]]>
https://devcommunity.pipedrive.com/t/struggling-with-api-data-sync-caching-and-recommendation-logic-for-my-texas-roadhouse-menu-website/19957#post_3 Fri, 06 Mar 2026 13:19:08 +0000 devcommunity.pipedrive.com-post-45430
Inconsistencies with V2 Deal Fields I am wondering why there are inconsistencies regarding the deal fields in the V2 API.

The V2 Migration Guide shows deals as having a field value and a field currency, which seem to be correct, since they are returned when doing a GET request for all deals in Postman. The API Docs for getting Deals and for adding deals show these fields as well.

However, the API Docs for getting all Deal Fields show an example response where there is a field with a field_code of value with subfields value and currency.

I am wondering why the deal fields don’t just consist of a value and a currency field. This is actually how it was for the V1 API (See Postman). When you actually do request the deal fields, you get a field with field_code set to value but the subfields array only contains an object for the currency, which is different from the way it was shown in the API Docs.

In my opinion, the deal fields should just have currency and value as different fields just like how it was in the V1 API.

]]>
https://devcommunity.pipedrive.com/t/inconsistencies-with-v2-deal-fields/20116#post_1 Thu, 05 Mar 2026 10:59:07 +0000 devcommunity.pipedrive.com-post-45426
Integrating Mondaq API to Pipedrive Hey thereseannes, technically this is pretty straightforward. Mondaq’s REST/JSON feed maps well to Pipedrive’s Persons endpoint, the two main things to plan for are deduplication (match incoming contacts by email before creating to avoid duplicates in Pipedrive) and how often you want to poll the feed. A basic connector is maybe a few days of dev work against Pipedrive’s API ( Pipedrive API v1–v2 Dev References (Persons API) - Learn - Test - Try Now ), and nothing about the v2 migration in 2025 has changed the Persons endpoints in a way that would complicate this.

For the pricing and timeline side, this forum is really more for technical questions. If you’re looking for someone to build and maintain it, Stacksync handles this kind of external API to Pipedrive sync as part of their workflow automation, or Pipedrive’s partner directory has agencies that do custom CRM integrations.

]]>
https://devcommunity.pipedrive.com/t/integrating-mondaq-api-to-pipedrive/8147#post_2 Thu, 05 Mar 2026 10:59:00 +0000 devcommunity.pipedrive.com-post-45425
429 Rate Limit Errors Causing Failed Contact Synchronization via Pipedrive API
Joe_Root:

I am seeking guidance from the Pipedrive developer community on best practices for handling API rate limits in high-concurrency website integrations. Specifically, I would appreciate advice on implementing reliable throttling strategies, designing idempotent workflows that can safely resume after partial failures, and minimizing the number of API calls per transaction without sacrificing data integrity

Better fixes in such condition:

  • Add Client-Side Rate Limiting
  • Use Queue + Worker System Instead of syncing instantly
  • Circuit Breaker, requests pause
]]>
https://devcommunity.pipedrive.com/t/429-rate-limit-errors-causing-failed-contact-synchronization-via-pipedrive-api/20112#post_3 Tue, 03 Mar 2026 09:57:44 +0000 devcommunity.pipedrive.com-post-45419
429 Rate Limit Errors Causing Failed Contact Synchronization via Pipedrive API
Joe_Root:

I am currently facing a persistent and highly disruptive issue with my website’s integration with the Pipedrive API, specifically related to intermittent 429 rate limit errors that are causing contact synchronization failures. The website is designed to automatically create or update person and deal records in Pipedrive whenever users submit forms or update their profiles. While the integration works correctly under low traffic conditions, during moderate to high usage periods the API begins returning HTTP 429 responses, which results in failed synchronization attempts. The issue is not constant but occurs in bursts, making it difficult to predict or manage effectively. As a result, some user submissions are not properly reflected in Pipedrive, leading to incomplete CRM data and operational inconsistencies.

The core problem appears to be related to how the website batches and sends API requests. Each form submission can trigger multiple sequential API calls, including checking if a contact already exists, creating or updating a person record, attaching notes, and optionally creating or updating a deal. Although these calls are logically structured and executed in order, the cumulative number of requests during peak usage seems to exceed the rate limits enforced by Pipedrive. What complicates matters is that the 429 errors sometimes occur even when the request volume does not appear excessively high based on my traffic logs, suggesting that the rate limit may be calculated per API token, per company account, or across multiple concurrent processes in ways I may not fully understand.

I have attempted to mitigate the issue by implementing basic retry logic with exponential backoff when a 429 response is detected. While this reduces immediate failures, it does not fully resolve the problem because multiple concurrent processes may still retry simultaneously, effectively compounding the load and triggering additional rate limit responses. Additionally, the retry mechanism introduces delays in processing, which creates a lag between user activity on the website and CRM updates in Pipedrive. In some cases, queued retries eventually fail after reaching maximum retry attempts, resulting in permanent data discrepancies that require manual reconciliation.

Another complicating factor is that some API calls depend on the results of previous calls within the same workflow. You can check the url as well. For example, creating a deal requires a valid person ID, and attaching notes requires confirmation that both the person and deal records exist. When a 429 error interrupts the sequence, the workflow may be left in a partially completed state. This creates inconsistencies where a person record may exist without the associated deal or notes, or vice versa. Ensuring atomicity across multiple dependent API requests has proven challenging under rate-limited conditions, especially when processing multiple user submissions concurrently.

Monitoring and logging have helped identify the 429 responses, but Pipedrive’s rate limit headers and documentation leave some ambiguity regarding the optimal request pacing strategy. It is unclear whether I should implement stricter global request throttling, queue all API interactions through a centralized worker process, or restructure the synchronization logic to reduce the number of calls per submission. For example, I am considering whether certain operations can be consolidated into fewer API calls or whether webhooks could be leveraged more effectively to reduce outbound request frequency. However, I want to ensure that any architectural changes align with Pipedrive’s intended usage patterns and rate limit policies.

I am seeking guidance from the Pipedrive developer community on best practices for handling API rate limits in high-concurrency website integrations. Specifically, I would appreciate advice on implementing reliable throttling strategies, designing idempotent workflows that can safely resume after partial failures, and minimizing the number of API calls per transaction without sacrificing data integrity. Any recommendations on queue-based processing, batching techniques, or architectural patterns that ensure consistent synchronization with Pipedrive under varying traffic loads would be extremely valuable. My goal is to eliminate intermittent 429 errors and ensure that every user interaction on my website is accurately and reliably reflected in Pipedrive without manual intervention.

Is there anyone who can guide me?

]]>
https://devcommunity.pipedrive.com/t/429-rate-limit-errors-causing-failed-contact-synchronization-via-pipedrive-api/20112#post_2 Tue, 03 Mar 2026 09:57:33 +0000 devcommunity.pipedrive.com-post-45418
429 Rate Limit Errors Causing Failed Contact Synchronization via Pipedrive API Hello Pipedrive Developer Community,

I am currently facing a persistent and highly disruptive issue with my website’s integration with the Pipedrive API, specifically related to intermittent 429 rate limit errors that are causing contact synchronization failures. The website is designed to automatically create or update person and deal records in Pipedrive whenever users submit forms or update their profiles. While the integration works correctly under low traffic conditions, during moderate to high usage periods the API begins returning HTTP 429 responses, which results in failed synchronization attempts. The issue is not constant but occurs in bursts, making it difficult to predict or manage effectively. As a result, some user submissions are not properly reflected in Pipedrive, leading to incomplete CRM data and operational inconsistencies.

The core problem appears to be related to how the website batches and sends API requests. Each form submission can trigger multiple sequential API calls, including checking if a contact already exists, creating or updating a person record, attaching notes, and optionally creating or updating a deal. Although these calls are logically structured and executed in order, the cumulative number of requests during peak usage seems to exceed the rate limits enforced by Pipedrive. What complicates matters is that the 429 errors sometimes occur even when the request volume does not appear excessively high based on my traffic logs, suggesting that the rate limit may be calculated per API token, per company account, or across multiple concurrent processes in ways I may not fully understand.

I have attempted to mitigate the issue by implementing basic retry logic with exponential backoff when a 429 response is detected. While this reduces immediate failures, it does not fully resolve the problem because multiple concurrent processes may still retry simultaneously, effectively compounding the load and triggering additional rate limit responses. Additionally, the retry mechanism introduces delays in processing, which creates a lag between user activity on the website and CRM updates in Pipedrive. In some cases, queued retries eventually fail after reaching maximum retry attempts, resulting in permanent data discrepancies that require manual reconciliation.

Another complicating factor is that some API calls depend on the results of previous calls within the same workflow. For example, creating a deal requires a valid person ID, and attaching notes requires confirmation that both the person and deal records exist. When a 429 error interrupts the sequence, the workflow may be left in a partially completed state. This creates inconsistencies where a person record may exist without the associated deal or notes, or vice versa. Ensuring atomicity across multiple dependent API requests has proven challenging under rate-limited conditions, especially when processing multiple user submissions concurrently.

Monitoring and logging have helped identify the 429 responses, but Pipedrive’s rate limit headers and documentation leave some ambiguity regarding the optimal request pacing strategy. It is unclear whether I should implement stricter global request throttling, queue all API interactions through a centralized worker process, or restructure the synchronization logic to reduce the number of calls per submission. For example, I am considering whether certain operations can be consolidated into fewer API calls or whether webhooks could be leveraged more effectively to reduce outbound request frequency. However, I want to ensure that any architectural changes align with Pipedrive’s intended usage patterns and rate limit policies.

I am seeking guidance from the Pipedrive developer community on best practices for handling API rate limits in high-concurrency website integrations. Specifically, I would appreciate advice on implementing reliable throttling strategies, designing idempotent workflows that can safely resume after partial failures, and minimizing the number of API calls per transaction without sacrificing data integrity. Any recommendations on queue-based processing, batching techniques, or architectural patterns that ensure consistent synchronization with Pipedrive under varying traffic loads would be extremely valuable. My goal is to eliminate intermittent 429 errors and ensure that every user interaction on my website is accurately and reliably reflected in Pipedrive without manual intervention. Sorry for long post!

]]>
https://devcommunity.pipedrive.com/t/429-rate-limit-errors-causing-failed-contact-synchronization-via-pipedrive-api/20112#post_1 Mon, 02 Mar 2026 15:43:12 +0000 devcommunity.pipedrive.com-post-45417
Alternatives for Channel API The frustrating part here is that Pipedrive’s deprecation notice (https://developers.pipedrive.com/changelog/post/breaking-change-deprecation-of-channels-api) literally says “transition to an alternative solution” without actually naming one. And the Messaging App Extension tutorial still references the Channel API endpoints under the hood, so thats not a clean migration path either.

If your app is primarily about logging WhatsApp conversations on deals/contacts, one workaround is switching to the Notes API (POST /v1/notes) to attach message content directly to deals or persons. You lose the Messaging Inbox UI but at least the conversation history stays linked to the right records. For the actual WhatsApp send/receive you’d keep that on your own backend through the WhatsApp Business API and just push the data into Pipedrive via REST.

We’ve had to work around similar CRM API deprecations at Stacksync and the pattern is usually the same: move the messaging layer to your own infrastructure and use the CRM purely as the data store. Not ideal but more stable than depending on endpoints that keep getting pulled.

]]>
https://devcommunity.pipedrive.com/t/alternatives-for-channel-api/19906#post_3 Fri, 27 Feb 2026 14:57:39 +0000 devcommunity.pipedrive.com-post-45412
Callback API not getting triggered on app install or removal for shared app The uninstall events and OAuth callbacks all work fine, its specifically the app sharing assignment/removal callbacks that never fire. That sounds like a platform bug on Pipedrive’s side rather than a configuration issue on yours.

Your isShared flag workaround is probably the most reliable path for now. If you need to react to sharing changes in near real time rather than polling, you could set up a periodic check against the app users endpoint and diff against your last known state. Not elegant but its predictable.

]]>
https://devcommunity.pipedrive.com/t/callback-api-not-getting-triggered-on-app-install-or-removal-for-shared-app/20059#post_2 Fri, 27 Feb 2026 14:57:21 +0000 devcommunity.pipedrive.com-post-45411
Pipedrive automations api there’s no API endpoint for automations/rules. Not even read only. The automations engine is UI only, you can’t list, create, or modify them programmatically. This has been a gap for a while.

The closest you can get is that API created records (deals, contacts, etc.) will still trigger existing automations if they match the conditions. But theres no way to query what automations exist or what rules they have.

If you need an audit of your current automations the only option right now is the list view in the UI (https://support.pipedrive.com/en/article/automations-list-view) and manually documenting them.

]]>
https://devcommunity.pipedrive.com/t/pipedrive-automations-api/19757#post_2 Fri, 27 Feb 2026 14:57:13 +0000 devcommunity.pipedrive.com-post-45410
API v2 Webhooks: Support for Option Labels in Single and Multiple Option Fields Hello Pipedrive Community,
I am working with the new API v2 and have a suggestion regarding Webhook payloads.
Currently, when a webhook is triggered for Single or Multiple option fields, the payload only provides the selected Option IDs. This means we have to make an extra API call to fetch the actual Labels (names) associated with those IDs, which adds unnecessary overhead and complexity to our workflow.
Could you please update the API v2 webhooks to include the Option Labels along with the IDs?
This improvement would provide a much better developer experience and more streamlined data processing. Thank you for your consideration!

]]>
https://devcommunity.pipedrive.com/t/api-v2-webhooks-support-for-option-labels-in-single-and-multiple-option-fields/20105#post_1 Wed, 25 Feb 2026 13:38:46 +0000 devcommunity.pipedrive.com-post-45405
Deleted persons You can use https://api.pipedrive.com/v1/recents?items=person&start=0&limit=500&include_deleted=1&since_timestamp=2025-12-19 00:00:00. Note it will only go back 1 month even if the time stamp is earlier. Filter data received for “active_flag”: false

]]>
https://devcommunity.pipedrive.com/t/deleted-persons/905#post_14 Wed, 25 Feb 2026 13:38:20 +0000 devcommunity.pipedrive.com-post-45404
Notes on activities loose all white-space It was a pain point for me too. HTML tags will work with activities. I ran a find and replace method to convert newlines to HTML <br> tags and intentional white space to &nbsp;

]]>
https://devcommunity.pipedrive.com/t/notes-on-activities-loose-all-white-space/20089#post_2 Wed, 25 Feb 2026 13:38:10 +0000 devcommunity.pipedrive.com-post-45403
Seeking Advice: Building an Instant Messaging System from Scratch You’re already thinking about the right solution for a solid messaging app. In my experience, you can either go fully open-source (like Matrix/XMPP) and invest time in stitching everything together, or start from a platform that already handles the hard parts like scaling, sync, and notifications.

Solutions such as Rocket.Chat, Sendbird, and Apphitect are great if you want a self-hosted base and you can customize too. Even if you build from scratch, it’s worth studying what these provide as baseline features.

This comparison list https://www.trustfirms.com/best-group-messaging-apis would be useful for exploring.

]]>
https://devcommunity.pipedrive.com/t/seeking-advice-building-an-instant-messaging-system-from-scratch/19638#post_3 Fri, 20 Feb 2026 13:36:56 +0000 devcommunity.pipedrive.com-post-45381
Breaking change: new note size and notes per deal limits Does anyone know if there is a limit on the number of activities you can have on deals? I couldn’t find that info anywhere

]]>
https://devcommunity.pipedrive.com/t/breaking-change-new-note-size-and-notes-per-deal-limits/7289#post_8 Fri, 20 Feb 2026 13:35:29 +0000 devcommunity.pipedrive.com-post-45380
Notes on activities loose all white-space We just hit the 100 note limit on deals, so I was looking into using activities instead, but found that the white-space / new lines that I use in my notes without issue do not work on activities. They are all stripped away into one line.

Is this intentional? Is there any way to preserve white-space / newlines in notes on activities?

]]>
https://devcommunity.pipedrive.com/t/notes-on-activities-loose-all-white-space/20089#post_1 Fri, 20 Feb 2026 13:35:23 +0000 devcommunity.pipedrive.com-post-45379
Adding file to deal via API using Microsoft Flows/Power Automate LongPathTool helps handle long file paths that block API file uploads.

]]>
https://devcommunity.pipedrive.com/t/adding-file-to-deal-via-api-using-microsoft-flows-power-automate/3766#post_7 Fri, 20 Feb 2026 13:35:14 +0000 devcommunity.pipedrive.com-post-45377
V2 API Validation Error on Organzation Update Thank you for the reply.

I’m unable to reproduce the issue at the moment since my customer changed their field configuration and the issue is no longer happening.

This would have been significantly easier to diagnose if the API identified the fields that were causing validation errors. Frankly, it’s quite surprising that this information is not already returned. I have already spent hours testing fields one-by-one trying to figure out which field is causing an issue. Fixing this seems like an urgent priority for your developer community.

I am considering disabling my Pipedrive integration simply because it is not worth the frustration.

]]>
https://devcommunity.pipedrive.com/t/v2-api-validation-error-on-organzation-update/20058#post_3 Mon, 16 Feb 2026 15:22:13 +0000 devcommunity.pipedrive.com-post-45364
Project fields There is no information about GET /v1/projectFields in the API documentation, but I can make a request there using the API token.
Unfortunately, I can’t make such a request using an OAuth Access Token because my app settings don’t have a scope like “Project Fields: Full access”.
I can’t use API tokens in my app, only OAuth

Why isn’t there such an option? And is it possible to add it if such a route already exists in the API?

]]>
https://devcommunity.pipedrive.com/t/project-fields/20077#post_1 Mon, 16 Feb 2026 15:22:06 +0000 devcommunity.pipedrive.com-post-45363
API finding Person by email not working as expected I’m also facing the same

]]>
https://devcommunity.pipedrive.com/t/api-finding-person-by-email-not-working-as-expected/563#post_15 Mon, 16 Feb 2026 15:21:54 +0000 devcommunity.pipedrive.com-post-45362
API v1 to v2 upgrade POST activities http 400 responses Ran into the same thing during my upgrade from API v1 to v2. To Pipedrive’s credit, they do call this out in their migration docs:

person_id field is now read-only. It is set indirectly by adding a primary participant. The simplest way to set it is to use “participants”: [ [ “person_id”: 1, “primary”: true ] ].

]]>
https://devcommunity.pipedrive.com/t/api-v1-to-v2-upgrade-post-activities-http-400-responses/19734#post_3 Mon, 16 Feb 2026 15:21:46 +0000 devcommunity.pipedrive.com-post-45361
V2 API Validation Error on Organzation Update Hey!

Thank you for bringing this to our attention, we will look into providing more explicit error responses.

In this case in particular, it seems that you are providing a non-string value to 3 short text (‘varchar’ type) custom fields. Are you perhaps passing the string wrapped in a { value: … } object for these fields instead of a string?

Best regards,

Andreas

]]>
https://devcommunity.pipedrive.com/t/v2-api-validation-error-on-organzation-update/20058#post_2 Tue, 10 Feb 2026 07:06:16 +0000 devcommunity.pipedrive.com-post-45339
Leads archived available in the recents API method? Hi community!

We have detected recently in the leads documentation ( Pipedrive API v1 Dev References (Leads) - View Lead API Get, Post & More - Learn - Test - Try Now ) that the get all leads method (Get all leads) is not including the archived leads and now we need to consume them in a different method (Get all archived leads).

In order to process the archived leads, we use the recents method ( Pipedrive API v1 Dev References (Recents) - Learn - Test - Try Now ) but here we can’t see the archived leads in the list of items available (however we can filter by leads even it’s not included in the documentation).

Our question is: Is it possible to filter by “archived leads” items the data returned from the Recents method in any way?

Thanks.

]]>
https://devcommunity.pipedrive.com/t/leads-archived-available-in-the-recents-api-method/20060#post_1 Mon, 09 Feb 2026 15:08:27 +0000 devcommunity.pipedrive.com-post-45336
Callback API not getting triggered on app install or removal for shared app Hello everyone,

I have an application that uses Pipedrive’s App Sharing feature, and I have enabled this for my private development app. Currently, I’m facing an issue: I need to know which users have been assigned access to the app by the Admin within the organization.

According to the documentation, whenever a user installs the app or an admin removes the app from a user, a callback API call should be triggered. However, in my case, neither of these events is triggering any API calls.

For now, I am using the isShared flag to determine which users have access to the app and which do not.

If anyone has encountered this before, I would greatly appreciate any guidance or suggestions. Thank you in advance :slightly_smiling_face:

]]>
https://devcommunity.pipedrive.com/t/callback-api-not-getting-triggered-on-app-install-or-removal-for-shared-app/20059#post_1 Mon, 09 Feb 2026 15:08:14 +0000 devcommunity.pipedrive.com-post-45335
V2 API Validation Error on Organzation Update I’m getting an error from the V2 API when updating an organization (e.g., PATCH /api/v2/organizations/1653)

The API response is HTTP 400 with the following body:

{“success”:false,“error”:“Validation failed: custom_fields: Expected \u0027string\u0027 as short text custom field value, Expected \u0027string\u0027 as short text custom field value, Expected \u0027string\u0027 as short text custom field value”,“code”:“ERR_SCHEMA_VALIDATION_FAILED”}

I am not sending any null values or empty strings.

  • How do I know which fields are causing this issue? It appears that the API response does not include this information but that seems hard to believe.
  • How do I know which fields require a value? I’ve reviewed the API docs and it isn’t clear if that information is available.

Tyler

]]>
https://devcommunity.pipedrive.com/t/v2-api-validation-error-on-organzation-update/20058#post_1 Mon, 09 Feb 2026 15:08:01 +0000 devcommunity.pipedrive.com-post-45334
Bug fix in v2 product webhooks payload We are updating date fields in v2 product webhooks to RFC 3339 format


Effective from: April 1st, 2026


See the full post in our Changelog

]]>
https://devcommunity.pipedrive.com/t/bug-fix-in-v2-product-webhooks-payload/20047#post_1 Wed, 04 Feb 2026 06:00:07 +0000 devcommunity.pipedrive.com-post-45317
Person fields API Person Fields API is providing wrong “field_type: varchar” for “field_code: emails“ in the response. Expected field_type is array for the Emails. The response we get from the personFields API as below :
”{

"success": true,

“data”: [

    {

“field_name”: “ID”,

“field_code”: “id”,

“field_type”: “int”,

“options”: null,

“subfields”: null,

“is_custom_field”: false,

“is_optional_response_field”: false

    },

    {

“field_name”: “Name”,

“field_code”: “name”,

“field_type”: “varchar”,

“options”: null,

“subfields”: null,

“is_custom_field”: false,

“is_optional_response_field”: false

    },

    {

“field_name”: “Phone”,

“field_code”: “phones”,

“field_type”: “phone”,

“options”: null,

“subfields”: null,

“is_custom_field”: false,

“is_optional_response_field”: false

    },

    {

“field_name”: “Email”,

“field_code”: “emails”,

“field_type”: “varchar”,

“options”: null,

“subfields”: null,

“is_custom_field”: false,

“is_optional_response_field”: false

    },

    {

“field_name”: “Person created”,

“field_code”: “add_time”,

“field_type”: “date”,

“options”: null,

“subfields”: null,

“is_custom_field”: false,

“is_optional_response_field”: false

    },

    {

“field_name”: “Update time”,

“field_code”: “update_time”,

“field_type”: “date”,

“options”: null,

“subfields”: null,

“is_custom_field”: false,

“is_optional_response_field”: false

    },

    {

“field_name”: “Organization”,

“field_code”: “org_id”,

“field_type”: “org”,

“options”: null,

“subfields”: null,

“is_custom_field”: false,

“is_optional_response_field”: false

    },

    {

“field_name”: “Owner”,

“field_code”: “owner_id”,

“field_type”: “user”,

“options”: null,

“subfields”: null,

“is_custom_field”: false,

“is_optional_response_field”: false

    }

\]

}

]]>
https://devcommunity.pipedrive.com/t/person-fields-api/20043#post_1 Fri, 30 Jan 2026 11:02:57 +0000 devcommunity.pipedrive.com-post-45310
Choosing an AI-Driven Collaboration Software for Large Organizations (1k–10k Staff) We’re in the process of selecting an AI-enabled collaboration Software for a workforce of 1,000–10,000 employees.

For those who’ve evaluated or deployed tools like Teams, Slack, Zoom, Zoho Cliq, MirrorFly, Apphitect, or Troop Messenger, what criteria made the biggest difference at scale—AI usefulness, security, integrations, or long-term cost?

Looking for lessons learned from enterprise rollouts.

]]>
https://devcommunity.pipedrive.com/t/choosing-an-ai-driven-collaboration-software-for-large-organizations-1k-10k-staff/20042#post_1 Fri, 30 Jan 2026 11:02:49 +0000 devcommunity.pipedrive.com-post-45309
Deal field value updates not available via OAuth?
siim:

Hi! The changelog endpoints are under the recents:read OAuth scope. Please try that.

Works. Thank you siim

]]>
https://devcommunity.pipedrive.com/t/deal-field-value-updates-not-available-via-oauth/20028#post_3 Thu, 29 Jan 2026 09:34:19 +0000 devcommunity.pipedrive.com-post-45306
Pipedrive Setup in Our Tenant – Documentation Request Hello,

We need to setup the Pipedrive app into our Tenant. So for that we need some details, like the app ID, API permission, object ID…

The best thing for us would be to receive a full documentation on how to setup the Pipedrive step by step through a service principal in our Tenant.

We require the configuration prerequisites in App Registrations, not in Enterprise Applications.

If we don’t want to setup an entreprise app, instead of app registration in our tenant.

Thanks you for your help.

]]>
https://devcommunity.pipedrive.com/t/pipedrive-setup-in-our-tenant-documentation-request/20040#post_1 Thu, 29 Jan 2026 09:34:13 +0000 devcommunity.pipedrive.com-post-45305
API JSON Response, unterminated String when Parsing I wrote a Module for a PBX which synchronizes the customers Contacts from Pipedrive with the PBX, so they can be used for resolving Calls.

Ever since the issue: Api.pipedrive.com issue with weak key strength was resolved in Code the module worked perfectly.

Now one of our customers ran into a problem.

I request Contacts via : “https://”+ServerIP+“/v1/persons?start=”+Offset+”&limit=500&api_token=”+APIKey; in Packs of 500 request further 500 with offsetting.

One of our customers seems to have some kind of Special Character in one of the contacts.

In this Customer’s case the JSON Parse now fails with Unterminated String error:

org.json.JSONException: Unterminated string at 690552 [character 690553 line 1]

I went and looked at the JSON file and the string looked normal with an exception “\u2013” in that specific String.
”Company \u2013 Name “

\u2013 stands for the “-”

So it would be Company - Name

Despite it looking correct, i let the customer remove the “-” \u2013 from the String the JSON Parsing continued a bit further.

org.json.JSONException: Unterminated string at 692007 [character 692008 line 1]

And is once again terminated. I don’t know what kind of character caused it the second time, i’m awaiting the full json file, since i cannot access the customers PBX by myself.

Looking trough the forum i haven’t found anyone with parsing issues of this kind, so i’m kinda wondering where this is coming from.

The issue started on 26. of November last year, before the Module was running fine for nearly a year.

I don’t know how i go about debugging this one.
I’m thinking the Terminations by the \ Escape Character are a red herring, and not the actual issue, but cause the parsing to stop due to an earlier issue.

]]>
https://devcommunity.pipedrive.com/t/api-json-response-unterminated-string-when-parsing/20039#post_1 Thu, 29 Jan 2026 09:33:58 +0000 devcommunity.pipedrive.com-post-45304
Deal field value updates not available via OAuth? Hi! The changelog endpoints are under the recents:read OAuth scope. Please try that. The scopes and respective endpoints are listed here: Scopes and permission explanations

]]>
https://devcommunity.pipedrive.com/t/deal-field-value-updates-not-available-via-oauth/20028#post_2 Thu, 22 Jan 2026 13:06:36 +0000 devcommunity.pipedrive.com-post-45290
Deal field value updates not available via OAuth? I would like to retrieve historical updates to the stage field for a particular deal. Authenticating with a personal access token, I can use a GET on the endpoint /v1/deals/{id}/changelog, as described in the API document.

But when I use the same endpoint authenticating with OAuth, I get 403 errors.

I have specified deals: read as the OAuth permissions. But maybe I need different permissions for this to work. Or is this endpoint just not allowed under OAuth? And if not allowed under OAuth, where do I find the documentation on what works with OAuth, and what is forbidden?

]]>
https://devcommunity.pipedrive.com/t/deal-field-value-updates-not-available-via-oauth/20028#post_1 Wed, 21 Jan 2026 15:26:10 +0000 devcommunity.pipedrive.com-post-45288
Seeking Advice: Building an Instant Messaging System from Scratch Open-source options like XMPP/ejabberd and Matrix are solid and flexible, but they require significant effort for scaling, push notifications, media handling, and maintenance.

If you want faster time-to-market, a white-label solution can help. I personally use Mirrorfly white-label software — it’s secure, customizable, and already supports real-time messaging, offline sync, presence, notifications, and scalability, which saves a lot of development time.

It really comes down to whether you want to build the messaging infrastructure yourself or focus on your product and UX.

]]>
https://devcommunity.pipedrive.com/t/seeking-advice-building-an-instant-messaging-system-from-scratch/19638#post_2 Tue, 20 Jan 2026 11:29:55 +0000 devcommunity.pipedrive.com-post-45284
When will be the "leads" available in the API v2? Hey!

Leads API will remain on v1 for the foreseeable future. There are no plans for v2 version of them.

]]>
https://devcommunity.pipedrive.com/t/when-will-be-the-leads-available-in-the-api-v2/20012#post_2 Wed, 14 Jan 2026 11:40:58 +0000 devcommunity.pipedrive.com-post-45260
Headers x-daily-ratelimit-token-limit and x-daily-ratelimit-token-remaining don't exist in response @andreaspipedrive Hey! Thank you for your response!
I have a few Pipedrive accounts and I’m still not seeing these headers in one of them.

It is currently possible for the headers to be missing for a few requests in a short period of time after a long period of inactivity in your company until our internal cache gets populated.

Could you explain in more detail how your internal cache works? How long does it take to be populated, etc.?
However, it would be great if Pipedrive provided the x-daily-ratelimit-token-limit and x-daily-ratelimit-token-remaining headers in every request, without relying on any caching.

]]>
https://devcommunity.pipedrive.com/t/headers-x-daily-ratelimit-token-limit-and-x-daily-ratelimit-token-remaining-dont-exist-in-response/19998#post_4 Wed, 14 Jan 2026 11:36:42 +0000 devcommunity.pipedrive.com-post-45259