Assigning Tech from powershell

Hello all

I am looking to create tickets from powershell but also to assign technicians to them. I have scripts that can largely resolve RMM alerts but for the things it fails to find a playbook for i need to make sure that the ticket is routed to the correct individual.

I’m not opposed to doing so OUTSIDE of the powershell, via automated remediations type workflows but i’m unclear on what is supposed to trigger those, or how often they’re triggered.

Thank you in advance all!

You can do it in a roundabout way. Just have the script (when it fails to fix the issue automatically) open a custom alert. Have Automated Remediation pickup that alert and then open a ticket. You can assign the tech there.

thats great news! My powershell is creating the ticket itself, but i could potentially put a key phrase or something in the comment that causes ticket automation to pick it up and assign it. i do have two fast questions about automations - i can open a new ticket or maybe you can answer here:

Alerts - when created they fire any automation that satisfies the criteria as a trigger? This only fires once?

Tickets - what fires the automations that satisfy criteria? is there a cron job like setting somehwere? i have a few ticket types that should evaluate when the system was last rebooted and close tickets after the reboot request was sent.

Right now it appears that automations have to be fired by a human but that may simply be because of my misunderstandings.

So just remember that we’re talking about RMM Alerts that fire Automated Remediations. These are not Ticket Automations per se, but they do have the ability to open tickets and assign a technician based on any conditional criteria we support, yes.

RMM Alerts dedupe so you can only have one active RMM alert per device of the same category. Now if you had a script firing that alert every 12 hours say, and then you were automatically closing the RMM Alert after you open the ticket, then that would theoretically create the ticket twice a day, so be mindful of that.

What you want to do is this:

1.) Script does what it does and meets whatever criteria for opening a ticket you decide in the script (but it doesn’t open the ticket). When this occurs you fire off an RMM Alert of whatever category name you set. For this example we’ll use “Custom RMM Alert.”

2.) You create an Automated Remediation with a condition that checks and matches a Trigger Category to “Custom RMM Alert.”

3.) In the actions section of the Automated Remediation, set it to create a ticket with whatever parameters you want, including technician assignment.

4.) Add a secondary action to close the RMM Alert (since you shouldn’t need it anymore if I am understanding correctly).

do you have documentation you can provide regarding how this feature works then? i’m confused about scope and capacity of the system’s automation - specifically when features created with the above link activate and how.

Here is the documentation for Ticket Automations, though this is not what I was speaking to above.

This is actually really helpful

Logically i can do the following:

RMM ALERT → Automate PS Script → Script creates ticket and works as far as script can up to potentially closure → Fin

RMM ALERT → Automate PS Script → Script creates ticket but cannot close → Within an hour (up to an hour) ticket automation finds ticket with RMM Auto in subject line, no assignee, open status and writes a tech to it, notifies tech via slack

… or am i interpreting the capacity of the tool incorrectly?

So RMM Alerts, when picked up via our Automated Remediation module, can run scripts if you want. But if your script is trigger an RMM Alert, then Automated Remediation doesn’t need to run a script. It can just open a ticket directly.


  • A Ticket Automation will run a maximum of 5 times per Ticket, and then no longer run.

  • You can also use HTML to craft your email triggers to clients.

  • Lets you check multiple AND conditions and perform multiple actions—if condition 1 AND condition 2 are true, then do actions 1 and 2.

  • Using conditions, can be configured to run only inside or outside business hours if you have business hours enabled.

    The automation run maximum of 5 times per ticket - is that including criteria checks? or 5 hours after ticket creation automations are done? i can create criteria that keep it from running but once a day, i hope?

Please look at Automated Remediations. Ticket Automations are not what I am recommending in this specific example.

The challenge here and probably the reason OP is creating the ticket using the script is that if you use an RMM Alert to fire off the script and create the ticket there is no way to pass the ticket number to the script. It sounded like he has the script open the ticket, work the issue, update the ticket, and close it if possible, and if not possible then wants to assign it to a tech.

You wouldn’t need to know the ticket number in the example I was giving. You don’t have the script open a ticket, you have the Automated Remediation open the ticket. So the logic goes:

  1. RMM Alert is tripped
  2. Automated Remediation fires a script to attempt to automatically remediate. If it fails to do so, fire off a custom RMM Alert
  3. Automated Remediation picks up the customer RMM Alert, and opens a ticket and assigns it to the desired technician

that is precisely correct.

i’ve turned to the API and will write a software handler outside of syncro to do something that should be frankly possible from within the application. It boggles the mind you cannot assign ownership of a ticket in a system built around ticketing.

You can, through Automated Remediations…

I think the confusion may have come about where you said it wasn’t what you were talking about but still linked to documentation for ticket automations, I don’t see any link to Automated Remediations in this thread, so I think @maglinvinn kept going down that rabbit hole :slight_smile:

@maglinvinn Here is the Automated Remediations Andy is talking about, not ticket automations: Automated Remediation

An expansion or the built-in scripting functions needs to be built to cover this and other functionality.