Creating an automated button to insert user names into Notion database Person field

Hey everyone, I’m working on setting up a Notion workspace for my company where team members can vote on different proposals.

Right now I’m using a Person property where people manually add their names if they support an idea, then I count the votes with formulas. The problem is that anyone can add someone else’s name to the list, which messes up our voting system.

I want to create some kind of clickable button that automatically adds the current user’s name to the Person property when they click it. This way people can only vote for themselves.

I’m pretty new to programming but I think this might involve using Notion’s API somehow. Does anyone know of any tutorials or documentation that could help me build this feature? Any guidance would be really appreciated!

I hit this same problem building a voting system for feature requests at work. Manual Person properties don’t scale and nobody trusts them.

You need automation that captures real user identity and blocks duplicate votes. I built exactly this with Latenode - works perfectly.

Here’s what I did: Created a Latenode workflow with a web form for voting. Someone clicks vote, Latenode grabs their email/identity and adds a record to your Notion database. It checks if they already voted on that proposal and blocks duplicates.

Each vote becomes its own database record - voter info, timestamp, proposal. Use Notion rollups to auto-count votes per proposal.

No more manual Person property headaches, no vote tampering, everything stays synced. Better reporting too since you track each vote individually.

Latenode handles the Notion API calls - no coding needed. Just drag and drop.

You could try Notion’s native button functionality with templates, but there’s a big limitation - buttons can’t automatically capture who clicked them. You’ll still need to manually select the Person property.

What works way better is creating a separate ‘Votes’ database that links to both your proposals and team members. When someone wants to vote, they just add a new entry connecting themselves to the proposal. Each vote becomes its own record, which gives you much cleaner data.

You can set up rollup properties to auto-count votes and use filtered views so people don’t see duplicate entries from the same person on one proposal.

If you really need full automation, you’d have to use webhooks or a third-party integration outside Notion. But honestly, the relational approach fixes most trust issues without needing any API work.

I’ve implemented a similar solution for our Notion setup. The issue with manual Person entries can disrupt the integrity of the voting process. Instead, consider creating a dedicated votes database linked to your proposals. Each vote can be recorded with a unique entry for the voter, ensuring no duplicates arise by checking existing entries.

Additionally, we utilized an external automation tool that integrates with Notion and simplifies the voting process. It allows users to submit votes through a web form, automatically logging their information in the votes database. If you prefer staying within Notion, a formula that identifies unique entries in a designated text field could also provide a workaround, although it may not be as effective as the dedicated approach.

Honestly, just use Notion’s button feature with templates. Create a button that adds rows to a separate voting table instead of messing with person properties. Way simpler than API stuff and still blocks duplicate votes if you set it up right.

Had this exact problem building our team’s voting system last year. Using Person properties becomes a total nightmare once people figure out they can mess with votes. Here’s what actually worked for us: we ditched the single database approach and went with two instead. Kept one main database for proposals, then created a separate “Voting Records” database that logs individual votes. Each voting record links to the proposal, has a Person field for who voted, plus a timestamp. The game-changer was Notion’s database templates. People click “New” in the voting database and use a template that fills everything except their name - they just pick themselves from the dropdown. To stop duplicate votes, we made a filtered view showing existing votes per proposal. Quick check before voting. Then rollup formulas on the main database count unique voters. This gave us complete audit trails and killed vote manipulation without needing external tools or messy API stuff.