Kolaai/Duplicates & Uniques/Documentation
Documentation

Duplicates & Uniques

Use this guide to configure searches, define duplicate and unique results, and label, merge, move, copy, or delete matching items.

Step 1

Select boards and groups.

Select a board and one or more groups to get started. The board you are currently viewing is selected by default, but you can change it before continuing.

Treat selected groups as a collective

This setting appears when you select multiple groups and is enabled by default. It determines whether each group is searched independently or whether all selected groups are treated as one larger data set.

Example: Group A and Group B both contain an item named “Item 1.” With the setting turned off, no duplicate is found because each group is checked independently. With it turned on, the two items are compared and a duplicate is found.
Step 2

Choose columns and match rules.

Select the columns that should be included in the search, then refine how their values are compared with the search options.

Search options

Match at least one

Enables OR matching. Two clients can be considered duplicates when either their names or phone numbers match, rather than requiring both columns to match.

Ignore inner spaces

Ignores the number of spaces between characters. “John Doe” with one or several spaces between the names is treated as the same value.

Exclude empty cell items

Excludes an item from the search if at least one of the selected columns is empty.

Exclude empty cells

Ignores an empty selected column but continues comparing the item with the remaining populated columns.

Case sensitive

Treats uppercase and lowercase characters as different, so “John Doe” and “John doe” no longer match.

Ignore character order

Ignores the order of characters in selected values, allowing values such as “John Doe” and “Doe John” to match.

Note“Exclude empty cells” is not available when “Match at least one” is selected.
Step 3

Define which results to return.

Choose a data find type based on whether you need multiple items or exactly one item from the result set.

OrderItems are sorted by creation date, not by their position on the board. “First” and “last” always refer to creation order.

Multiple results

Duplicates, excluding the first

Returns every duplicate except the first-created instance. With A, B, B, B, C, the result is the final two B items.

Duplicates, excluding the last

Returns every duplicate except the last-created instance. With A, B, B, B, C, the result is the first two B items.

All duplicates

Returns every instance in each duplicate set. With A, B, B, B, C, the result is B, B, B. This is normally used when merging duplicates.

Unique values

Returns items whose selected values do not appear anywhere else in the selected groups. With A, B, B, C, the result is A, C.

Deduplicated values

Returns one item for every distinct value, even when duplicates exist. With A, B, B, C, the result is A, B, C.

Deduplicated + first duplicate

Returns each distinct value together with the first extra duplicate. With A, B, B, B, C, the result is A, B, B, C.

Any

Returns any items found in the selected groups. This is useful for copying or moving a broad set of items to another group or board.

Single result

This section always returns exactly one item.

Only first duplicate

Searches all duplicates and returns the earliest duplicate item. With A, B, B, B, C, the result is B.

Only last duplicate

Searches all duplicates and returns the last duplicate item. With A, B, B, C, C, D, the result is C.

Only first unique instance

Returns the first-created unique item. With A, B, B, B, C, the result is A.

Only last unique instance

Returns the last-created unique item. With A, B, B, B, C, the result is C.

Any last

Returns the last item in the selected groups, whether or not it is a duplicate. With A, B, B, B, C, the result is C.

Filter results

Get all values

Does not apply another filter. For example, when “Duplicates, excluding the first” is selected, every result from that search is returned.

Get values with an item name of

Further filters the result set by an item name you specify. If duplicate results are selected, only duplicate items with that name are returned.

Step 4

Choose what happens to the results.

Label the items you found or complete the cleanup by merging, moving, copying, or deleting them.

Use a status column

Mark found items with an existing status column or create a new one. When creating a column, you can reuse an existing column with the same name or always create a new column.

  • Select existing: choose a status column already on the board.
  • Create new: let the app create a status column for the results.
  • Status text: set the label applied to found results. The default is “Duplicate.”
TipIf a newly created column is not visible after completion, refresh the page or open another board and return.

Merge duplicates

Merge duplicate sets into a single item. This action is available when Step 3 uses “Duplicates, excluding the first,” “Duplicates, excluding the last,” or “All duplicates.” In most merge cases, select “All duplicates.”

Merge table

The table lists every supported board column and lets you decide which value is kept, replaced, joined, or customized. All column types support these four rules:

Keep first non-empty

Keeps the first value unless it is empty, then uses the first incoming non-empty value.

Keep any first

Keeps the first value even when it is empty and ignores all incoming values.

Keep any last

Replaces the current value with every incoming value, including an empty value.

Keep last non-empty

Replaces the current value only when the incoming value is not empty.

Custom column actions

Number, Name, Text, Long Text, Status, Timeline, and Date columns also support a custom option. Use Select/Input to assign a fixed value to the merged item, or Join to combine all values using a separator you select.

Input fields with an arrow contain suggested values, but you can type your own value. For example, a Status column can be set to a blank status or to a custom label such as “Merged.” Save the row with the check icon or cancel it with the cross icon.

Merge options

Include updates

Include item updates in the merge. Join collects updates from every duplicate and attaches them to the merged item.Keep any last attaches only the updates from the final duplicate.

Example: For three duplicate items with updates A, B, and C, Join moves the B and C updates onto A. Keep any last moves only C onto A.

Attach creator name

monday.com assigns the person who initiated the merge as the creator of copied updates. Enable this option to append the original creator’s name to each update. You can also set a prefix such as “Created by.”

After merge

  • Delete duplicates: the default. Deletes the extra items after their values are merged.
  • Do nothing: leaves the extra items alongside the merged item.
  • Move duplicates to group: moves extra items to a group you select.

Move or copy

Move items between groups on the same board, or create matching items on another board. Moving to another board—or changing the column mapping—creates destination items and deletes the source items. Copying follows the same process but keeps the originals.

Choose a destination

  • Use an existing board in a workspace where the app is installed, then select an existing group or create a group.
  • Create a new board in an installed workspace and provide the new board and group names.

Include and map columns

Choose whether columns other than the item name should be moved or copied. Select Edit to configure how source columns map to destination columns.

Delete

Deletes every item returned by the search. Confirm your Step 3 result type and filters before completing a delete action.

Need help with a configuration?

Tell us what you are trying to clean up on your board.

Contact support