Skip to content

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.

Sources checkedIntermediateReviewed Aug 12, 2026Actions and LogicWatch time 4:37

Short answer

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.

Original walkthrough

Dec 9, 2022

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

  1. Step 1: Model the vote

    Use a direct relationship for simple membership or a Vote record for timestamps and auditing.

  2. Step 2: Show the count

    Display the relationship or Vote count for the current record.

  3. Step 3: Add vote

    On the unvoted state, relate the logged-in user or create a Vote record.

  4. Step 4: Remove vote

    On the voted state, remove the relationship or delete that user’s Vote record.

  5. Step 5: 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

Collections, important properties and relationships
CollectionImportant propertiesRelationships
Voteable recordsTitle, StatusHas many votes
VotesCreated DateBelongs to one user and one voteable record

What changed?

  • The refreshed answer prefers auditable Vote records when timestamps or moderation matter.

Common failure modes

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.

Current Adalo Resources join collection pattern connecting two record types
A Vote record uses the same intermediary-collection pattern documented for join collections.Official documentation · captured Aug 12, 2026: A Vote record uses the same intermediary-collection pattern documented for join collections.
Current Adalo Resources instructions for updating database record properties
Official action documentation supports the saved-state changes used by simpler vote models.Official documentation · captured Aug 12, 2026: Official action documentation supports the saved-state changes used by simpler vote models.
April 2026 Adalo forum answer recommending a separate Favorites collection
A recent favorites discussion uses the same user-to-item join-record shape recommended for auditable votes.Adalo forum · captured Aug 12, 2026: A recent favorites discussion uses the same user-to-item join-record shape recommended for auditable votes.

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 2026

Sources 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

  1. Added current join and action captures plus an April 2026 analogous favorites pattern.

Written and maintained by the Adalocado editorial team under the editorial and verification policy.

Did this solve your problem?

One-click check

Bugs fixed. Updates shipped. Publishing handled.

$97/mo for your first 3 months.

Cancel anytime. That’s about 90% off the usual cost. 🤯

Let Rehost handle it
  • Bug fixes and troubleshooting
  • App updates and integrations
  • Publishing and store releases

Bring us the messy version.

Describe what you expected, what happened instead, and what you already tried.

Ask Adalocado

Related answers

Browse all