Solved on the forum

How do you stop duplicate external collection results in Adalo?

Put a stable unique property first in an Adalo External Collection response, then retest the connection and confirm every list row maps to a different record.

Community workaroundAdvancedReviewed Aug 24, 2026
THE SHORT ANSWER 🎯

Set a stable, unique numeric property as the first detected External Collection property, retest the API connection, and confirm that each list row now maps to a different record. If the API exposes only text or UUID identifiers, current Adalo documentation says those IDs are unsupported.

Repeated rows in an External Collection can be a record-identity problem rather than a list-layout problem. Inspect the API response, choose a stable unique property, place it first in the detected property order, and retest before changing list components or filters. The source author confirmed that this property-order change fixed repeated Google Places results. Current Adalo documentation does not document that workaround and says text, special-character, and UUID identifiers are unsupported, so keep the workflow noindex and verify the actual identifier format before relying on it.

Completeness84%
Index decisionImprove first
Evidence basisAccepted March 2026 forum workaround; current External Collections documentation reviewed August 2026; no hands-on reproduction
WHAT YOU’LL HAVE 🎯

The intended outcome

An External Collection list displays each API result as its own record instead of repeating one result across every row.

BEFORE YOU START 🧰

Requirements

  • An External Collection whose Get All Records test returns an array of objects
  • A stable unique property present on every returned object
  • A numeric identifier if the property will serve as the record ID
  • A test response containing at least three distinct records
BUILD IT 🛠️

Step by step

  1. 01

    Inspect the returned objects

    Run the External Collection connection test and confirm that every result contains a stable unique property with a different value for each record.

  2. 02

    Move the unique property first

    In the detected property list, move the stable unique property to the top so it is the first property Adalo evaluates for record identity, then save and retest the connection.

  3. 03

    Verify row identity

    Bind a temporary text label in the list to the unique property and confirm that at least three visible rows show three different values and their matching names.

WHY IT WORKS 🧠

The underlying logic

The accepted forum reply identified record identity, not the visual list, as the cause. The source author confirmed that placing the unique property first stopped the repeated-result behavior.

A field is suitable only when it is present, stable, and unique for every returned object. A name is usually unsafe because two places or records can share it.

Current Adalo documentation says External Collection IDs containing text, special characters, or UUIDs are unsupported. Treat that as a hard compatibility boundary even if the API otherwise returns valid JSON.

COLLECTIONS AND RELATIONSHIPS 🗃️

Data model

CollectionImportant propertiesRelationships
External API recordStable numeric unique ID, display name, and the fields shown in the listNo Adalo relationship is required for the identity check; the unique ID distinguishes returned objects
EVIDENCE CONTEXT 🔎

What still needs checking?

  • This is a forum-native Answer with no original Adalocado video. The accepted field-order workaround was reported in March 2026, and the current numeric-ID limitation was reviewed in August 2026.
IF IT DOESN’T WORK 🧯

Common failure modes

Every row still shows the same record

Display the candidate unique property inside the list, rerun the API test, and confirm that the response contains distinct values rather than one repeated object or one incorrectly configured Results Key.

The unique property is text or a UUID

Do not claim full Adalo record-ID compatibility. Change the upstream response to include a stable numeric identifier before relying on detail screens, updates, or deletes.

Names are unique in the sample but collide later

Use a durable API identifier rather than a display name. Test with records that intentionally share the same name to prove that row identity does not depend on labels.

BEFORE YOU MOVE ON ✅

Testing checklist

0 of 8 checked on this device

BOUNDARIES 🚧

Current limitations

  • The first-property fix is supported by an accepted forum answer and the source author's confirmation, not by current official Adalo documentation, so this Answer remains noindex.
  • Current Adalo documentation says External Collection IDs containing text, special characters, or UUIDs are unsupported.
  • The source used Google Places, but the reusable rule applies only when the actual response exposes a suitable stable unique property.
  • Adalocado did not reproduce the workflow against Google Places or another live API.
BUILDER REPORTS 🗣️

What the Adalo community is reporting

These are concise editorial summaries of public forum posts—not endorsements or independently reproduced results.

External Collection w/ Google Places API — community source 1

The accepted reply advised moving a unique response property to the top so Adalo could use it as the primary record key.

Boundary: The reply does not document the identifier type, API response schema, or behavior for updates and deletes.

Dilon · March 2026
VERSION NOTES 📝

Sources and status

This page was last reviewed on Aug 24, 2026. Its current status is Community workaround.

Verification owner: Adalocado daily AI publisher after full-topic and documentation-limit review. Next review: Oct 24, 2026.

VERSION HISTORY 🕰️

Changelog

  1. Automatically posted from a solved Adalo forum topic; corrections are monitored on the live site.

SPOT SOMETHING FUNNY? 🕵️

Report this answer.

Automated Answers still pass evidence and publication checks, but they can be wrong, outdated, unclear, or missing an important boundary. Send the exact correction and the editor will check the live page.

Report a problem
MONTHLY APP MANAGEMENT · BY REHOST

Rehost becomes the monthly team behind your app. Fixes, releases, integrations, and ongoing changes have an owner.

See monthly management
FixesHandled
ReleasesHandled
Next changesHandled
YOUR PROBLEM IS DIFFERENT? 🤔

Bring us the messy version.

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

Ask Adalocado 💬