Hidden PersonFields


Currently, I’m working on a draft app in Pipedrive Marketplace that works with our software and share data between both sides. I have it installed, got access to app token and I can use app-specific webhooks. Which are great because they’re not visible to users. To allow proper communication and person synchronization, I need to add one custom PersonField where I would store some ID from my system. The problem is that this field, unlike webhooks, is visible to all users. And because of that, the value stored in that field can be changed or the field itself can be deleted. Is there any way to make it invisible for clients using Pipedrive so that they cannot modify it in any way? Or lock it for edition? Any changes made outside the communication process I’m preparing may corrupt data and make synchronization fail.

As you said, custom fields are visible to the user. It’s the user’s data after all. If you need to store a specific value that’s needed for your app, it’s probably best to do so on the client’s end - in your own database.

I hope it helps, but let me know if you need to get more into the details of your case


Hey Dani,

“It’s the user’s data after all” - ok, but you allow marketplace apps to create hidden webhooks (of course if the user agrees to terms and installs app) that send their data somewhere, and they don’t have to know that. How is that different from my problem?

The general problem comes from the different approach to storing data about persons in both apps. In Pipedrive you have one big group of people and it doesn’t matter if they are different or not, they can have the same names, surnames, phone numbers and duplicates are possible. In our system, we group persons into smaller groups (projects) and phone number is unique within this project (a phone number can belong to only one person in a project). Of course I can store it in my DB (which I do), but in some case scenatios it’s not enough. With hidden person field I would be able to create fully automatic process that will match objects on both sides and update information if anything changes in one of the systems (near-real time one). It would be safe too, as users cannot interfere and delete important fields (like they cannot drop Pipedrive personID). Now it can be faulty.

What’s the scenario in which storing these fields on your side is not enough?
I’m sure we can make it work.

(Feel free to send me a private message if you prefer.)

Thanks, I might drop you a private message, because it’s a quite complex topic and there’s no reason to post it all here. In general it depends on what approach we take, do we synchronize every person or just chosen ones or do we allow to create just one project or many. Every approach has it’s flaws. I may have to give it a second thought first, re-think and re-draw communication flows. Probably I’ll come back to you with a PM next week, cheers!

1 Like