Clean duplicate activities on current entity
The Clean duplicate activities on current entity robot finds same-titled activities in the timeline of the lead, deal, contact or company whose business process it runs in, in Bitrix24 (Alaio), keeps one by the chosen rule and completes or deletes the rest. No ID needed — the entity comes from the process context. It returns the number of duplicates found and the IDs processed.
The robot removes repeated activities from the timeline of the current entity — the lead, deal, contact or company in whose business process it runs; no need to determine the ID, the entity is taken from the process context. Duplicates are activities with the same title: before comparing, titles are normalised, repeated spaces collapse and case is ignored. The responsible user is not part of the comparison by default, because after a merge the same activity usually carries different responsibles on the two sides; a separate switch requires the responsible to match as well. One activity per group survives and the rest are processed. Which one survives is a parameter: "completed one, otherwise the oldest" (default), "completed one, otherwise the newest", "open one, otherwise the oldest", "open one, otherwise the newest", "the oldest" or "the newest" — the first four mean status outweighs the date, the last two look only at the date. The action on the duplicate is chosen separately: complete (default, reversible) or delete. The robot handles both universal activities and tasks: a task bound to a CRM record shows up in the timeline, and when deleting a duplicate the robot removes the task itself, not just the row in the card. Activity kinds are switched on with checkboxes — by default only universal activities and tasks, while calls, emails, open channel chats and CRM forms stay off because they record real interaction with the client. Anything not explicitly enabled is never touched. Limits on how much is scanned and how much is processed per run protect the portal from REST throttling, and a report-only mode lets you review the list before any change. To clean an arbitrary entity by its ID from another entity's process, use the Clean duplicate activities on entity by ID robot.
What input parameters does the robot accept?
| Parameter | Type | Required? | Default |
|---|---|---|---|
| Universal activities | bool | — | Y |
| Tasks | bool | — | Y |
| Calls | bool | — | N |
| Emails | bool | — | N |
| Open channel chats | bool | — | N |
| CRM forms | bool | — | N |
| Which activity to keep | select | yes | completed_oldest |
| What to do with the duplicate | select | yes | complete |
| Treat as duplicates only when the responsible user matches | bool | — | N |
| How many activities to scan (max) | int | — | 1000 |
| How many activities to process per run (max) | int | — | 100 |
| Report only, change nothing | bool | — | N |
What does the robot return?
| Parameter | Type |
|---|---|
| Done (Y/N) | string |
| How many duplicates were found | int |
| How many activities were processed | int |
| IDs of the processed activities | string |
| IDs of the kept activities | string |
| Limit reached (Y/N) | string |
| Errors | string |
Scenario: tidy a deal timeline after a merge
- In the deal business process add the Clean duplicate activities on current entity robot
- No ID needed — the deal comes from the process context
- Keep the "Completed one, otherwise the oldest" rule and the Delete action
- The robot returns found_duplicates and the processed list in affected_ids