Warning prior to auto-closing a ticket

Hey,

For support tickets from customers we set them to Stalled while waiting for feedback, and then autoclose them after 7 days. I was chatting with a customer the other day and he asked if we could send a reminder before we closed the ticket.

After a bit of tinkering I couldn’t find a trivial way to do this and to record the outbound message as a transaction, so I wrote a new RT::Action based on RT::Action::RecordCorrespondence which will leave the LastUpdated as the previous setting. It is currently only available here: GitHub - catalyst-cloud/RT-Action-SendReminder: Send a reminder in Request Tracker, but don't update LastUpdated

I’ll do a bit more testing over the next few days, but initial results do what I want.

The use case would now be when LastUpdated = ‘5 days ago’, send reminder. Then when LastUpdated <= ‘9 days ago’ close the ticket (but only on weekdays).

If there’s an easier way, I’d love to hear it.

Cheers,
Andrew

Hey mate, looks interesting, I don’t know if it can be done any easier but I think I’ll integrate similar logic to what you are doing with stalles => closed with a reminder leading up to closed. Thanks for publishing :slight_smile:

this break the whole RT logic not to update the “LastUpdated” value, but if it is what you want then it is ok

I agree, but the only other way I could think of implementing it is either add a custom field with the date the reminder was sent, or introduce another status to the lifecycle. Neither of which I really wanted to do. However, I did really want to record the outgoing email.

We do something similar. I remind after a few days, then resolve after a week.

# Remind support requestor we're waiting, the first time
1 */4 * * * /opt/rt4/bin/rt-crontool --search RT::Search::FromSQL --search-arg "Status = 'waitreq' AND Told <= '3 days ago' AND (queue = 'General' OR queue = 'support' OR queue = 'web')" --action RT::Action::Notify --action-arg Requestor,AlwaysNotifyActor --transaction first --template 'Waiting - first notice' --action RT::Action::SetStatus --action-arg waitreq2

# Remind support requestor we're waiting and resolve, the second time
2 */4 * * * /opt/rt4/bin/rt-crontool --search RT::Search::FromSQL --search-arg "(Status = 'waitreq2') AND Told < '7 days ago' AND (queue = 'General' OR queue = 'support' OR queue = 'web')" --action RT::Action::Notify --action-arg Requestor,AlwaysNotifyActor --transaction first --template 'Auto-resolved' --action RT::Action::SetStatus --action-arg resolved