This action is available only as a triggered action in workflows.
Quick start
1
Create triggered workflow
Set this to trigger when new tickets are created, so it can catch duplicates right away.
2
Choose search scope
Decide whether to look for duplicates from the same contact (individual duplicates) or same company (company-wide issues). Start with same contact only, then expand to same company when you trust the matches.
3
Set time window
Start with looking back 30-60 days for potential matches. Going too far back might find irrelevant old tickets. Match the window to the goal: about 7 days for same-contact duplicates, and 1 day for company-wide outage consolidation.
4
Add merge action
Follow this with the “Merge Ticket” action to actually combine the tickets when matches are found.
Skip this step on Syncro, where Merge Ticket is not available, and on a detect-only workflow where you
want a technician to decide.
How it works
- Analyzes new ticket - Reviews content, contact, and company information
- Searches for candidates - Looks through recent tickets based on your scope settings
- Evaluates matches - Uses AI to determine if tickets should actually be merged. By default, it flags a duplicate only when both tickets report the same underlying issue or request and share the same expected outcome, so finishing the destination ticket finishes both
- Generates customer messages - Writes a message for the end user about the consolidation, used only when a Merge Ticket action follows. On a detect-only workflow no such message is produced, because no merge happens.
- Provides merge recommendations - Offers detailed reasoning for why tickets should be combined
What counts as a duplicate
By default, Neo recommends a merge only when both of these hold:- Same underlying issue or request — they report the same problem, ask for the same work, or one is a reply to or a second report of the other.
- Same expected outcome — completing the destination ticket also completes the source ticket. If any work the source ticket asks for would still be undone, Neo does not recommend a merge.
Setup
Search scope: Choose whether to look for duplicates from the same contact (individual customer duplicates) or the same company (company-wide issues). Both scopes consider only open tickets as merge candidates, where “open” is what your PSA itself reports:
Statuses to exclude from the candidate search: Pick the statuses that mean the work is finished
in your service desk. Neo drops a candidate in one of these statuses before it compares anything, so
the search never returns a ticket in that status. The check runs when Neo builds the candidate list.
A ticket moved into one of these statuses after that still merges, because the later Merge Ticket
action does not re-read the destination’s status.
Set this whenever a status of your own means “finished” but your PSA still reports the ticket as
open. On Autotask that is the normal case: only New, Complete and Waiting Customer are
built-in statuses, so a status you created — Resolved, Awaiting Sign-off, Closed Pending
Review — carries no Complete Date and passes the open-ticket test. Leave the setting empty and
nothing changes.
The statuses come from your own PSA, and matching ignores capitals. Whenever the list is set, the run
message in Executions names the statuses it left out, so a technician reading “no candidates” can
see which filter was in force.
Time window: Set how many days back to search for potential duplicates. Start with 30-60 days. The time window filters candidates by their creation date, not by whether they are open.
Search limits: Control how many tickets to consider as potential duplicates (20 by default, 40 at
most) to ensure good performance. Neo compares the candidates in one call and splits a fixed token
budget across them, so a long conversation or a long configuration list on any one ticket is trimmed
to fit. That budget holds at most 49 tickets, so when the search finds more than 49 candidates, Neo
compares the most recently updated 49 and says so in the run message in Executions, naming the
number it compared.
When your PSA reports a candidate as deleted while the run is in flight, Neo leaves that candidate
out of the comparison, counts it out of the number in the run message, and continues with the rest.
If every candidate it read has gone by then, the run reports that no merge is needed. Not every PSA
reports a mid-run deletion, so a candidate deleted moments earlier can still be in the comparison.
Rarely, the AI names a ticket that was not one of the candidates it compared. Neo cannot tell which
ticket was meant, and a wrong merge would close work nobody has done, so it reports no merge and says
so in the run message in Executions. The rest of the workflow then runs as normal.
Custom instructions (optional): Provide specific guidance about your environment and merge preferences.
Sequential processing: When several similar tickets arrive within minutes, enable “Process Entities Sequentially” to prevent conflicting merge attempts.
Alert handling (optional): For RMM alerts, enable automatic closure of resolved tickets when merging with resolution tickets. Use custom instructions to describe how your resolution tickets look.
