Unexpected Ticket State Changes When Using "Default for Follow-ups"

Infos:

  • Used Zammad version: 7.0.1-1778699030.7cd61fee.noble
  • Used Zammad installation type: package
  • Operating system: Ubuntu 24.04 LTS
  • Browser + version: Microsoft Edge 148.0.3967.54

Expected behavior:

  • I expected the “Default for follow-ups” setting in the ticket state to only be applied after a ticket has been closed, meaning that the state would change when a follow-up occurs on a closed ticket.

Actual behavior:

  • The ticket state changes every time a customer replies (via either web interface or email), regardless of whether the ticket is closed or not.
  • This causes unintended and frequent state changes, significantly disrupting the intended workflow.

Steps to reproduce the behavior:

  • Configure a ticket state with “Default for follow-ups” enabled.
  • Create or use an existing ticket and assign it to that state.
  • Have a customer reply to the ticket (via web or email).
  • Observe that the ticket state changes immediately upon the reply, even if the ticket was not previously closed.

System Demo

  • Ticket State 「執行中」configure with “Default for follow-ups” enabled.
  • User reply via mail. and the ticket state was not closed but the state been unintened changed

The default follow-up state is always being used, if your customer follows up. Usually this is also the behavior you want to have (even if the ticket is in a pending state), because the customer might have critical information to share which might require a ticket re-evaluation and thus priority change etc. This is something Zammad cannot decide for the agent and thus it changes the state back to open (at least in the default).

This is working as designed.

Thank you for your quick response. I’m glad to receive a reply from @MrGeneration.

Just to clarify our intended workflow design: the ticket lifecycle in our case is:
customer inquiry → centralized customer service window (first custom workflow state) → assignment to a technical consultant → technical handling window (second custom workflow state).

Based on this, we were considering splitting the “open” stage into two custom workflow states, for example:

  • Open - Assigned to Customer Service

  • Open - Assigned to Technical Consultant

However, just to confirm my understanding: conceptually, this design may be difficult to implement with the current follow-up behavior.

As far as I understand, if we configure “Default for follow-ups” on either of the custom states above, the ticket may be automatically moved to that specific state whenever the customer replies again, regardless of the current workflow step. This could potentially cause the ticket to jump to the wrong custom state and disrupt the intended process.

So in this case, it would be better to avoid using multiple custom “open-like” states for workflow assignment purposes, and instead use another field or attribute to represent the internal assignment stage.

Please let me know if this understanding is correct.