Multiple pinned search tabs, or even folders users can create themselves

We’re coming from handling tickets with thunderbird, and agents might have 80 open tickets but today they only need to work on 10, so they would file tickets into different folders of their choosing.

I don’t get why, but for example say they have 10 tickets where they need to know dimensions before processing, they would email please send dimensions, and file the email in a folder called “awaiting dims”.

With zammad, I’ve shown them they can set the state to pending reminder, and I’m made a tag called LATER which they can tag tickets with, I’ve set “My Assigned Tickets” to not show tickets with the LATER tag, and I’ve created an overview called LATER that shows only their tickets with the LATER tag. But they’re begging me to add “Awaiting DIMS” and someone else will want other overview, basically 10 people will want to file tickets 10 different ways. I don’t get why, they never need to see all tickets awaiting DIMS at one time. But they’re completely lost without having the menu Awaiting DIMS and the 50 other menus they want.

What would be awesome is for a way to pin multiple searches in a tab so it’s always available. ATM 1 search can be pinned to a tab but as soon as you search something else, the search tab gets updated to the new search.

The only other way I can think of to make everyone happy is to create the 50 overviews, and individually set each user what overview they want to see.

Is there something else I’m missing? I don’t know why they want to do what they want to do, but they are adamant they need to work in zammad the same way they worked in thunderbird.

(I can’t seem to create a feature request, I get an internal server error, so posting this in technical assistance, sorry about that, edit: I was able to post in technical assistance then change the category to feature request)

I get what you mean - I think the wanted bevaviour might create difficulties and “unclean” interfaces for others (as you trash up your search tab when you search much). I would find that confusing.

What I’ve done for my agent is that I created a overview for every user that’s in need for a special overview. Only the user can see it (and well, the admin in the Srttings UI which can get quite a lot)

Not sure if this works for you, but I think that what you want is not a feature everyone else might want.

yeah the tabs would get cluttered, but it’s the same behaviour of clicking a ticket, it created a new tab that stays until you delete it.

Thanks for your thoughts MrGeneration. I will create individual overviews. The difference is I have to create the overviews as apposed to the agents being able to create their own pinned tabs.

I would agree to @MrGeneration.
What we did is creating additional ticket states.
i.e.
„Waiting for customer“, „waiting for Software Engineering“, „waiting for agent“.

Each of the states with a date.
So the agent could decide how long he will wait and when he needs to contact someone for follow up by date.
The states are used as a column in the overview for the agent so he could sort by.

Maybe this is a solution for you too.

oh, I didn’t realise we could add states.
interesting and useful. Thanks @gwingend (and @MrGeneration too)

pinned search tabs is still a feature request of mine, no worries if it’s not a good request and nobody wants to implement it. I’m going to start adding states and see what the agents think

is this still the way to do it?

Hey @chesty,

i wrote a small how to for another community member. So the below is just copy+paste from that but it should work:

it actually is pretty simple. @martini helped us with this tho.
This is what we did on our system to create a new pending state:

On your zammad server open the rails console

zammad run rails c

Add the new ticket state

Ticket::State.create_or_update(
name: ‘CHANGEME’,
state_type_id: Ticket::StateType.find_by(name: ‘pending reminder’).id,
ignore_escalation: true,
created_by_id: 1,
updated_by_id: 1,
)

Make the new state selectable

ObjectManager::Attribute.add(
force: true,
object: ‘Ticket’,
name: ‘state_id’,
display: ‘State’,
data_type: ‘select’,
data_option: {
relation: ‘TicketState’,
nulloption: true,
multiple: false,
null: false,
default: Ticket::State.find_by(default_follow_up: true).id,
translate: true,
filter: Ticket::State.by_category(:viewable).pluck(:id),
},
editable: false,
active: true,
screens: {
create_middle: {
‘ticket.agent’ => {
null: false,
item_class: ‘column’,
filter: Ticket::State.by_category(:viewable_agent_new).pluck(:id),
},
‘ticket.customer’ => {
item_class: ‘column’,
nulloption: false,
null: true,
filter: Ticket::State.by_category(:viewable_customer_new).pluck(:id),
default: Ticket::State.find_by(default_create: true).id,
},
},
edit: {
‘ticket.agent’ => {
nulloption: false,
null: false,
filter: Ticket::State.by_category(:viewable_agent_edit).pluck(:id),
},
‘ticket.customer’ => {
nulloption: false,
null: true,
filter: Ticket::State.by_category(:viewable_customer_edit).pluck(:id),
default: Ticket::State.find_by(default_follow_up: true).id,
},
},
},
to_create: false,
to_migrate: false,
to_delete: false,
position: 40,
)

Add a depending date field

ObjectManager::Attribute.add(
force: true,
object: ‘Ticket’,
name: ‘pending_time’,
display: ‘Pending till’,
data_type: ‘datetime’,
data_option: {
future: true,
past: false,
diff: 24,
null: true,
translate: true,
required_if: {
state_id: Ticket::State.by_category(:pending).pluck(:id),
},
shown_if: {
state_id: Ticket::State.by_category(:pending).pluck(:id),
},
},
editable: false,
active: true,
screens: {
create_middle: {
‘-all-’ => {
null: false,
item_class: ‘column’,
},
},
edit: {
‘-all-’ => {
null: false,
},
},
},
to_create: false,
to_migrate: false,
to_delete: false,
position: 41,
)

This is all we did. Run each command block one by one or all at once (keep the order!).

If you want to create a new state without a pending time you have to alter the commands, have a look at this f. e. :
https://docs.zammad.org/en/latest/api-ticket-state.html

cheers

1 Like

Cheers @dvnkln, that’s awesome. I worked out how to create a new state that is similar to the open state, but we’ll need this one too with the pending time which I didn’t know how to do.

thanks.

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