We need a procedure to create a ticket but the ticket has to be created for a different agent than the one running the procedure.
We have an in-depth procedure which runs when an agent Alert sees that a server has been offline for X minutes.
The reason the alert is firing a procedure and not just a ticket/email is because we need the alert to happen only after a certain time-frame has passed, and this time-frame is based on:
1) The time of day2) The pause time set for that agents group in the managed variables
SO... The alert fires the procedure, which then checks what it needs to above and at the time it calculates sends and email AND creates a service desk ticket. the <ID> variable is available to the procedure which is the name and group of the agent which is populated into the message subject, etc. THIS is because the script is actually run on the KSERVER, since it can't run on the agent thats offline.
HERE'S THE PROBLEM:
When the procedure creates the Ticket through the sendAlert() function, it's creating the ticket for the KSERVER. We need to find a way to instead create the ticket for the original agent that's offline.
Again, the procedure has the variables it needs to reference the agent ID - I just can't figure out a way to change the ticket's assigned agent using that variable in the procedure.
Does anyone have any out of the box ideas for this?
I gather you're using the 'alertGenerateTicket' action of the sendAlert() function? As far as I can see this action takes no parameters - it's hard-coded for the agent sending the alert.
First - I'd suggest raising this option as a feature request. You can configure many other aspects of the sendAlert() so why not the ticket 'originator'.
We don't use the service desk module or ticketing. Is there an option to raise a ticket for a particular agent based on a custom-formatted email? If so you could send such an email from your procedure.
Alternatively - can you shift the logic around and make the ticketing/service desk modules do the time tracking? Does the service desk module have workflow / SLA options that allow you to keep tickets in some kind of 'pending' or 'hold' state until a defined time? As an example - we use ConnectWise which allows us to set 'business hours' around our SLAs so that for certain tickets received in the middle of the night the SLA tracking doesn't begin until our business opens at 8am.