Skip to main content

Merge Ticket

This action merges one ticket (Ticket A, the "ticket to be merged") into another existing ticket (Ticket B, the "ticket to merge with") within your PSA system. It's designed to consolidate duplicate or related tickets, ensuring all relevant information is centralized. This action is typically used after the "Find Ticket to merge with" action has identified the default_tickets_to_merge data.

Why is it useful?

Merging tickets streamlines issue tracking by consolidating related communications and history into a single record. This reduces clutter, prevents redundant work, and ensures a clearer history for both technicians and customers. It's particularly helpful when users submit multiple tickets for the same issue or reply to an old ticket, creating a new one.

info

This action is available only as a Triggered action in a workflow.

What It Does

  • Merges "Ticket A" (the ticket to be merged) into "Ticket B" (the ticket to merge with) in your PSA.
  • ConnectWise:
    • Uses the native ConnectWise merge functionality.
    • Sets the status of "Ticket A" to the board's default "Closed" status.
  • Autotask:
    • Copies the description of "Ticket A" as an internal note to "Ticket B".
    • Copies all notes from "Ticket A" to "Ticket B", prepending the title with "Merged from Ticket [Ticket_A_Number]". System notes are skipped. If a note type from Ticket A is invalid in Ticket B's context, it defaults to an internal note type.
    • Adds the contact of "Ticket A" as an additional contact to "Ticket B" if they are different.
    • Adds primary and secondary resources of "Ticket A" as secondary resources to "Ticket B".
    • Adds an internal note to both tickets indicating the merge details.
    • Sets the status of "Ticket A" to "Complete".
  • Optionally updates the queue/board of "Ticket A" (Autotask only).
  • Optionally updates the status of "Ticket A" after the merge.
  • Optionally updates the status of "Ticket B" after the merge.
  • Optionally closes "Ticket B" if the "Find Ticket to merge with" action determined it should be closed (e.g., when merging a resolved alert into its corresponding incident).
  • Logs all operations to the Event History.

How It Works

  1. Input Processing: The action receives the default_tickets_to_merge data, which contains ticket_to_be_merged (Ticket A) and ticket_to_merge_with (Ticket B). This data is typically provided by a preceding "Find Ticket to merge with" action.
  2. Ticket Merging:
    • ConnectWise: Invokes the PSA's built-in merge operation.
    • Autotask: Performs a series of steps to emulate a merge:
      • Copies the description from Ticket A to Ticket B as a note.
      • Copies notes from Ticket A to Ticket B.
      • Copies contact from Ticket A to Ticket B as an additional contact if different.
      • Copies resources from Ticket A to Ticket B as secondary resources.
      • Adds merge notification notes to both tickets.
      • Sets Ticket A's status to "Complete".
  3. Queue Update (Autotask only, Optional): If move_merged_ticket_to_specific_queue is true and queue_to_move_merged_ticket_to is specified, Ticket A is moved to the designated queue. This happens before the status updates.
  4. Status Updates (Optional):
    • If update_original_ticket_status is true and status_to_set_on_original_ticket is specified, the status of Ticket A is updated.
    • If update_destination_ticket_status is true and status_to_set_on_destination_ticket is specified, the status of Ticket B is updated.
    • These status updates are applied via an internal call to the "Update Ticket Fields" action.
  5. Close Destination Ticket (Optional): If default_tickets_to_merge.destination_ticket_should_be_closed is true (determined by the "Find Ticket to merge with" action), Ticket B is closed.
  6. Output Generation: The action outputs messages detailing the success or failure of these operations, recorded in the Event History.

Configuration Fields

When you add the "Merge Ticket" action to a workflow, you'll configure the following:

default_tickets_to_merge

The pair of tickets to be merged, typically provided by the output of a "Find Ticket to merge with" action. This field is automatically populated.

move_merged_ticket_to_specific_queue

(Autotask only) A true/false setting that determines if the merged ticket (Ticket A) should be moved to a specific queue. (Default: false).

queue_to_move_merged_ticket_to

(Autotask only, applicable if move_merged_ticket_to_specific_queue is true). The name of the queue to move the merged ticket (Ticket A) to. This should be a valid queue name in your Autotask PSA. (Optional).

update_original_ticket_status

A true/false setting that determines if the status of the original ticket (Ticket A) should be updated after the merge. (Default: false).

status_to_set_on_original_ticket

(Applicable if update_original_ticket_status is true). The name of the status to set on the original ticket (Ticket A) after it has been merged. This should be a valid status name in your PSA. (Optional).

update_destination_ticket_status

A true/false setting that determines if the status of the destination ticket (Ticket B) should be updated after the merge. (Default: false).

status_to_set_on_destination_ticket

(Applicable if update_destination_ticket_status is true). The name of the status to set on the destination ticket (Ticket B) after it has absorbed Ticket A. This should be a valid status name in your PSA. (Optional).

Output Fields

This action makes the following information available to subsequent actions in the workflow:

default_messages_for_dashboard

Messages summarizing the action's execution, intended for display in the Neo Dashboard Event History. This includes details about which tickets were merged and any status or queue changes.

default_messages_for_msp

Detailed messages about the merge operation, including status and queue updates. These are for MSP internal use and can be utilized by subsequent actions, for example, to add further internal ticket notes.

default_messages_for_end_client

Messages intended for the end client. This field is typically empty for the "Merge Ticket" action, as direct notifications to end-users about merges are usually handled by dedicated notification actions if needed.

credits_consumed

The number of credits consumed by this action. (Typically 0 for this action).

Use Cases

Consolidate Duplicate Issues

  1. Use "Find Ticket to merge with" to identify if a newly created ticket (Ticket A) is a duplicate of an existing open ticket (Ticket B) for the same contact or company.
  2. If a suitable Ticket B is found, use "Merge Ticket" to merge Ticket A into Ticket B.
  3. Optionally, set update_original_ticket_status to true and specify status_to_set_on_original_ticket to explicitly close Ticket A (e.g., to "Merged" or "Closed - Duplicate").

Handle Replies Creating New Tickets

  1. Use "Find Ticket to merge with" to detect if a new ticket (Ticket A) was created because a user replied to an older, possibly closed, ticket (Ticket B) instead of the current open one.
  2. If "Find Ticket to merge with" identifies that Ticket A should be merged into an active Ticket B, use "Merge Ticket" to consolidate them.
  3. The notes and history from Ticket A will be transferred to Ticket B.

Merge and Close Resolved Alerts

  1. An RMM alert creates Ticket A.
  2. A technician resolves the underlying issue, and this resolution is logged in Ticket B (perhaps a master ticket for that alert type or a manually created incident ticket).
  3. Use "Find Ticket to merge with" with allow_closing_original_ticket set to true. It identifies that Ticket B resolves Ticket A.
  4. "Merge Ticket" merges Ticket A into Ticket B. The default_tickets_to_merge object will have destination_ticket_should_be_closed potentially set to false (if Ticket B is the master) and original_ticket_should_be_closed (referring to Ticket A) would effectively be handled by the merge process itself setting Ticket A to a closed/merged status. If the "Find Ticket to merge with" action sets tickets_to_merge.destination_ticket_should_be_closed to true, then Ticket B will also be closed by this "Merge Ticket" action.

Best Practices

  • Always precede this action with a "Find Ticket to merge with" action to supply the default_tickets_to_merge input. Do not attempt to configure this field manually.
  • Clearly define the statuses you want to use for merged tickets (status_to_set_on_original_ticket) and ensure they exist and are appropriate in your PSA.
  • For Autotask, if you use move_merged_ticket_to_specific_queue, ensure the queue_to_move_merged_ticket_to is a valid queue name.
  • Test your merge workflows thoroughly in a non-production environment if possible, or with a limited set of test tickets, to understand the behavior in your specific PSA.
  • Review the Event History regularly to monitor merge operations and ensure they are performing as expected.
  • Be aware of how your PSA handles merge operations natively, as NeoAgent leverages this for ConnectWise and emulates it with additional steps for Autotask. This can affect how notes, attachments, and other ticket details are combined.