How do you add upvoting in Adalo?
Model one Adalo vote per user, keep the button synchronized with saved state, count relationships safely, and prevent rapid taps from creating duplicates.
We checked current official documentation, captured the relevant screens, and compared the workflow with dated Adalo forum reports. Source links and limitations are below so you can judge the evidence directly.
Relate users to the records they upvote—or create a Vote join collection—then add or remove the relationship on tap and display the related-record count.
Model a vote as the relationship between one user and one record. A dedicated Vote collection makes uniqueness checks, timestamps, moderation, and auditing clearer; a direct relationship is simpler when membership is all that matters. The selected state and count must come from saved records rather than temporary visual state.
The intended outcome
A persistent vote control that counts one selection per user.
Requirements
- Users collection
- A collection of voteable records
- Relationship or Vote join collection
Step by step
- 01
Model the vote
Use a direct relationship for simple membership or a Vote record for timestamps and auditing.
- 02
Show the count
Display the relationship or Vote count for the current record.
- 03
Add vote
On the unvoted state, relate the logged-in user or create a Vote record.
- 04
Remove vote
On the voted state, remove the relationship or delete that user’s Vote record.
- 05
Test duplicates
Tap rapidly and revisit the screen to ensure one user cannot create unintended duplicates.
The underlying logic
A vote is a relationship between one user and one record.
A join record is preferable when the vote needs its own fields.
Data model
| Collection | Important properties | Relationships |
|---|---|---|
| Voteable records | Title, Status | Has many votes |
| Votes | Created Date | Belongs to one user and one voteable record |
What changed?
- The refreshed answer prefers auditable Vote records when timestamps or moderation matter.
Common failure modes
Counts drift upward
Ensure the create action is conditional on no existing vote for that user and record.
Testing checklist
0 of 6 checked on this device
Current limitations
- A production voting system may need stronger duplicate and concurrency guarantees than client actions provide.
Screenshot evidence
These captures document what Adalo currently publishes and what builders are reporting. They support the written guidance, but they are not a substitute for an end-to-end test in your own app.



What the Adalo community is reporting
These are concise editorial summaries of public forum posts—not endorsements or independently reproduced results.
Linking 3 details screens to one favorites screen
Replies recommend a separate Favorites collection related to the current user and favorited records, corroborating the auditable join-record pattern used for votes.
Boundary: Favorites are structurally analogous to votes but do not prove duplicate prevention or concurrent vote-count behavior.
Jeorge and Dilon · April 2026Sources and status
This page was last reviewed on Aug 12, 2026. Its current status is Verified from current public evidence.
Verification owner: Adalocado editorial. Next review: Oct 12, 2026.
Changelog
Added current join and action captures plus an April 2026 analogous favorites pattern.
Did this solve your problem?
Never deal with an Adalo problem again.
Rehost becomes the monthly team behind your app. Fixes, releases, integrations, and ongoing changes have an owner.
See monthly managementBring us the messy version.
Describe what you expected, what happened instead, and what you already tried.
Ask Adalocado 💬

