What does "Assign follow ups" do?

Infos:

  • Used Zammad version: 2.8.x
  • Used Zammad installation source: docker-compose
  • Operating system: Debian 9
  • Browser + version: Chromium

Description

When editing groups in Admin -> Groups, there’s an option “Assign follow ups” yes/no with the following explanation:

Assign follow up to latest agent again.

I didn’t really understand the purpose of this option, because when I (as an agent) e.g. reply and close a ticket, I am still the owner even when it’s closed - so why would there be any need to re-assign the ticket to me when the customer replies to the closed ticket?

My first assumption was that if I turned this option off, then Zammad might actually unassign the ticket from me and that only having this option enabled ensures that the tickets stays assigned to me. I went ahead and turned it off for Users and tested it:

  • Sent a mail from my external email address to Zammad.
  • Replied and closed with my agent.
  • Replied from my external mail address.

But the ticket remained assigned to me, so that assumption is apparently wrong.

Then I assumed that it might do the following:

  • Customer sends a mail from his external address to Zammad.
  • Agent replies and closes the ticket, without actually setting himself as the owner. The ticket is now closed and has owner “-”.
  • Customer replies.
  • Zammad sets the ticket owner to the agent because he was the last one to reply?

I re-enabled “Assign follow ups” for the group and went ahead and tested it, but it doesn’t do that either - the ticket remained owned by “-”.

Then I assumed that the “Assign follow ups” option might be related to “Follow up possible” - maybe it only has an effect when “Follow up possible” is disabled? Maybe something like this:

  • Customer sends a mail from his external address to Zammad.
  • Agent replies and closes the ticket.
  • Customer replies, but as “Follow up possible” is set to “do not reopen ticket but create new ticket”, the reply creates a new ticket.
  • The new ticket is automatically assigned to the agent who replied to the old ticket.

I tested it, and it doesn’t do that either. At this point I’m thoroughly confused about the purpose of this option, so I grepped through the source:

martin /opt/zammad (develop) # grep -rl follow_up_assignment .
./log/development.log
./tmp/cache_file_store_test/552/5D0/Group%3A%3AUsers
./tmp/cache_file_store_development/5EE/8D0/Group%3A%3Aaws%3A%3A1
./db/migrate/20120101000001_create_base.rb
./db/seeds/object_manager_attributes.rb
./db/schema.rb
./test/unit/ticket_owner_reset_on_follow_up_test.rb
./app/assets/javascripts/app/models/group.coffee
./app/controllers/groups_controller.rb
./public/assets/application-9616c77ef23d30770ce982314cad60ea2f8a89b7c69c961eada0cd3d3e52b965.js
./public/assets/tests/ticket_selector.js
./public/assets/application-cb38283b375afe58df0132e329bdfd5b1b8a6a808b72679d46033ab6bf955377.js
./public/assets/application-d255dde521654440efbc676549a2ba68a46c572fd774fd09db95365cda574324.js

There’s not much there - it’s defined in the schema, there’s the user interface for groups, a single test creates a group with follow_up_assignment: true, and that seems to be very much it. I haven’t found code that actually uses this option. Is it possible that is simply doesn’t have any effect?

Excellent question!

You just found a bug (I already created an issue for you): https://github.com/zammad/zammad/issues/2455

Assign follow up => no should (normally) unassign the agent, as soon as the ticket gets reopened by your customer. :smile:

1 Like

I thought so, but I wanted to ask first ^^

OK, so my first assumption was right. The documentation could probably be a bit clarified that it will actually unassign the issue when the setting is set to no. Well, looking through that documentation page, several more things there might need improvement :confused:

EDIT: I went ahead and overhauled that documentation page: https://github.com/zammad/zammad-admin-documentation/pull/13

I’m wondering about the feature though… wouldn’t this be something where a trigger might be better suited? I tried the following:

conditions:

  • State is: closed
  • Action is: updated
  • Sender is: Customer

actions:

  • Owner: specific user:

But that didn’t work. The trigger probably only triggers after the follow-up has already reopened the ticket, and therefore State is: closed doesn’t match. There’s also a “has changed” condition, but it doesn’t allow specifying it like “State has changed from: closed to: open”. If the trigger could do this, maybe the settings wouldn’t even be necessary?

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.