Skip to main content
In scheduled workflows, this action follows up on tickets awaiting a response and can close tickets after chase attempts are exhausted.
This action only works with scheduled workflows.

Quick start

1

Create scheduled workflow

Set up a scheduled workflow (this action only works with scheduled workflows).
2

Filter appropriate tickets

Use filters to select tickets awaiting customer response, such as:
  • Status = “Waiting on Customer”
  • Last updated > 2 days ago
  • Assigned technician is not empty
3

Configure chase settings

Set the number of chase attempts (start with 1-2) and add custom instructions for message tone.
4

Add notification action

Add “Notify Ticket’s Contact” to actually send the chase messages to customers.
5

Test and refine

Run the workflow on a few test tickets and adjust your custom instructions based on the results.

How it works

  1. Counts how many times each customer has been contacted.
  2. Creates follow-ups that reference specific work completed.
  3. Adjusts tone as chase attempts increase.
  4. Can automatically close tickets when maximum attempts are reached.
  5. Allows custom instructions to control when tickets are closed.
When Chase Customer comes right after the ticket search, and every step after it is Notify Ticket’s Contact, Update Ticket Fields or a notification to your team (with Notify Ticket’s Contact among them), a ticket with no contact cannot get the message. When the search finds a ticket with no contact and the ticket still has none when its turn comes, Chase Customer skips it before it writes a chase: it uses no credit for it, sets no status and does not change the chase count, and the run message says why. Later steps still run as configured. In any other workflow, for example one with a ticket note, another workflow or contact triage around the chase, Neo still chases tickets with no contact.

Setup

Tickets to process: Works with tickets awaiting customer response, typically from a search filtering for tickets waiting on customers. Maximum attempts: Set how many times to chase each customer before taking final action (like closing the ticket). Custom instructions (optional): Provide specific guidance on message tone, timing, and closure behavior. For example: “Be very polite and mention we’re eager to confirm whether the solution worked. Wait 48 hours after final notice before closing tickets.” Update ticket status after each chase attempt (optional): Set a status to apply after every normal chase (not the final one). Useful when the PSA is driving the loop - e.g., flip the ticket back to Waiting Customer so the PSA’s SLA rule re-flags it later. The status only applies when chase attempts have not been exceeded. Chase Customer queues this status on every run that writes a chase message, whatever your custom instructions say about status. On a run that writes no chase, it queues the status only when Neo decides to change it (for example, because your custom instructions ask for a status change); otherwise the run message names the status it did not set. A later Update Ticket Fields step applies a queued status, and Notify Ticket’s Contact sends the message, so the workflow needs both after Chase Customer. On ServiceNow, Chase Customer cannot set a ticket status yet, so neither status setting applies there. Update ticket status after exceeding chase attempts (optional): Set a status to apply once Neo’s reached the maximum chase attempts (typically your escalation status). Applied only when the final attempt is reached - earlier attempts use the per-attempt status if configured.
Chase Customer can set only these two statuses, and your custom instructions never choose which status it sets. An instruction such as “set the status to In Progress when the ticket is not waiting on the customer” makes Neo apply the status for that run (your per-attempt status on a normal chase, your exceeded status after the maximum attempts) to those tickets. If you want the other status on every run of one kind, set it in that status setting. If you want it only on some tickets, write “leave the status unchanged” for that case, on a run that sends no chase; a normal chase still sets the per-attempt status. Your team, or an Agent that can update tickets, then sets the other status.
Track chase attempt count in a PSA custom field (optional): Have Neo store the chase counter in a PSA user-defined field (UDF) on the ticket. Neo reads the counter before each chase, decides whether the max is exceeded, and writes the incremented value back via the next Update Ticket Fields action. Use this when the LLM-inferred count from conversation history is unreliable (e.g., chases are logged as time entries the model under-counts, or the customer never replies so “since their last message” is ambiguous).
  • The UDF must already exist in the PSA on the Ticket entity, type Number (integer). Default name: Neo Chase Count.
  • Requires an Update Ticket Fields action immediately after Chase Customer so the new counter value gets persisted.
  • The counter does not auto-reset on customer replies - reset it manually in the PSA if you want a ticket to go through another full chase cycle.
Always test your chase workflow with non-critical tickets first to ensure messages are appropriate and timing works as expected before applying to all customer communications.