Regarding the trigger
I’m not absolutely certain, but I think that triggers are missing the required functionality to do this. I attempted it with the folllowing trigger:
conditions:
- State is: pending reminder
- Action is: updated
- Sender ist: Customer
- Type is: email
execute:
- Tags: add:
pending_reminder_test
Then I set a mail to pending reminer till a month, and then I replied to that ticket with my private email addess. The ticket is now open, and doesn’t have the pending_reminder_test
tag. The trigger probably only triggers after the customer mail has been processed and the state has already changed from pending reminder to open, and therefore doesn’t trigger.
There is a “has changed” trigger, but you can only set it to “State: has changed”, and not to something like “State: has changed from: pending reminder to: open”, so that doesn’t really help.
There’s also the problem that the “pending till” timestamp is lost as soon as the state changes. Maybe it would be sensible for Zammad to keep the “pending till” value even when the state changes to something other than “pending reminder”? That would ensure that the value can be restored when the state changes back to “pending reminder”.
Regarding the actual problem
I’ve talked to our sales agents, and they are also afraid the the loss of the pending state on customer replies might pose a problem for us - while we do want to tickets to revert to “open” when the customer replies (so you can actually see it in your overview), there should be an easy way to put it back to “pending reminder” without having to specify the pending till date again.
IMO the best solution would look something like this (excuse my rather crappy mockup):
- If the agent has no need to reply, he simply clicks on “Revert” and the ticket immediately returns to “pending reminder” with the correct pending date
- If the agent then changes his mind and sees a need to reply, the ticket will remain in “pending reminder”
- If the agent has already replied, he can still click the “Revert” button to put the ticket into the “pending reminder” state
- If the agent doesn’t need to return the ticket to the “pending reminder” state, he can dismiss the notice.
A possible workaround in the meantime
When I started to evaluate Zammad, I didn’t realize that there was a “pending reminder” state, and so I just built it myself:
- Add a field “followup” of type date to the Ticket object
- Set your preferred default time diff
- Add the following scheduler:
Name: Followup
Day/hour/minute: I just checked everything, but once per day would probably be enough for type date
conditions:
- Followup [before (relative)] [1] [Minute(s)]
actions:
Then just close the ticket, put your followup date in the followup field, and that’s it. It should be reopened when the date is reached, and it won’t break when customers reply.