Skip to main content

Delete Duplicate Records

TL:DR Assign AVA a task titled “Review or Find or Delete Duplicate Records.” She lets you define any Podio field as a Primary Key, identifies duplicates, reports them, and—on approval—merges and deletes them consolidating comments, files, and field data.

AVA avatar
Written by AVA
Updated over 2 weeks ago

The Dedupinator: A Self-Defined Primary Key Detection, Duplicate Consolidation, with Intelligent Data Merging


Overview

Podio’s native structure provides only one immutable identifier — the item_id. While useful for referencing records, it cannot prevent or resolve duplicate item creation.

The Dedupinator Assistant solves this limitation by allowing users to self-define any field as a Primary Key (PK). Once defined, AVA performs a complete application-level aggregation to:

  1. Detect all records sharing the same PK value.

  2. Present duplicates in a detailed Markdown summary table within the assigned Podio task.

  3. Await user approval before performing merge and cleanup operations.

Upon confirmation, AVA automatically consolidates duplicates—merging data, files, and comments into the oldest record—then deletes the redundant copies safely.

Delete Duplicate Records in Podio via AVA AI

How It Works

1. Primary Key Configuration

  • You can define any field (text, number, category, or calculation) as the Primary Key.

  • AVA uses this field as the aggregation anchor to detect duplicates.

  • Once set, the configuration remains active for that application until updated.


2. Duplicate Detection

AVA scans all records in the Podio app and groups them by matching PK values.

A Markdown report is created showing:

  • Primary Key value

  • Item ID

  • Item title

  • Count of duplicates found

Example:

PK

Item ID

Title

Count

56739

3187028640

ADA RAMP REPLACEMENTS

3

56715

3186754966

EQUIPMENT BREAKDOWN

2

AVA includes this table in your Podio task, summarizing:

  • Total duplicate groups

  • Total records found

  • Records scheduled for deletion


3. User Confirmation and Action

After presenting the summary, AVA asks:

“Would you like me to continue with the merging and deletion of these duplicate records?”

  • If you respond YES, AVA proceeds automatically.

  • If NO, she ends the process, leaving all records untouched.


4. Merge and Deletion Logic

Once merging is approved, AVA performs a structured and intelligent data consolidation:

Record Selection

  • AVA selects the oldest record (based on item_id or creation date) as the target record to retain.

  • All other records in the group become source records for merging.

Field-Level Data Consolidation
Each field is compared using the following logic:

Rule

Description

TargetNotEqual

If target and source differ, copy the non-matching source value.

TargetEquals

Skip merging identical values.

TargetLessThan / GreaterThan

Compare numeric or date fields; retain the most recent or highest.

TargetIsNullOrEmpty

Populate missing target data with available source values.

SourceIsNotNullOrEmpty

Prevent empty source fields from overwriting populated target data.

Comments and Files

  • All comments from duplicates are copied into the target item’s feed, preserving timestamps and authors.

  • Files are merged and deduplicated automatically.

Deletion
After successful merge verification, source items are deleted.
AVA logs each merge and deletion event, providing a completion summary in the task thread.


Additional Notes and Best Practices

  • Null or Empty Primary Key Values:
    Records where the PK field is blank or null will not be considered duplicates and will be skipped.

  • Unsupported Field Types:
    Phone and Address fields cannot be directly used as Primary Keys.

  • Recommended Setup:
    Create a calculation field that extracts or formats values (such as contact ID, project code, or composite reference) for duplicate detection. Then define that calculation field as the Primary Key.

  • Best Practice:
    Use stable, unique fields that rarely change to ensure accurate and repeatable duplicate identification.


What You Receive

When the review is complete, AVA posts a structured summary to your Podio task:

Ok, I have now set the primary key for this application, which allowed me to aggregate all records using that key.  ### 🔍 Duplicate Analysis Summary - Total items with duplicate values: **9** - Total records found: **19** - Records scheduled for deletion: **10** - Aggregated field: **client_reference_id**  Here are the duplicate records I located:  | PK | Item ID | Title | Count | | --- | --- | --- | --- | | 56739 | 3187028640 | ADA RAMP REPLACEMENTS | 3 | | 56715 | 3186754966 | EQUIPMENT BREAKDOWN | 2 | | 56703 | 3183232383 | MOBDEMOB TO JOBSHOP | 2 |  📝 Note: The first record in each duplicate group represents the original entry and will not be deleted.   Before deletion, I will review all related comments and files on each duplicate to ensure their contents are transferred to the retained record.

Fail-Safe Handling

Condition

AVA’s Behavior

No duplicates found

Posts confirmation that no cleanup is needed.

Data incomplete or invalid

Returns a warning; no records deleted.

User does not respond

Waits for confirmation before proceeding.

Merge conflict detected

Flags record for manual review and skips it.


Benefits

  • Enables custom, user-defined unique identifiers in Podio.

  • Automates duplicate detection, merging, and cleanup.

  • Preserves files, comments, and field integrity during merges.

  • Maintains a detailed audit trail of every action.

  • Ensures data consistency across large applications.


Summary

With the Dedupinator Assistant, AVA delivers a capability previously unavailable in Podio: intelligent, user-defined duplicate detection and consolidation.

By merging records safely—while preserving every file, comment, and field—AVA transforms repetitive cleanup into a secure, automated, and traceable process.

💡 Once you define your Primary Key, AVA keeps your workspace clean, efficient, and duplication-free—without losing a single detail of historical data.

Did this answer your question?