I know there are other topics here floating around about using discourse as a ticket system, but I thought I’d start a fresh one to give a fairly complete picture of how we think discourse can be used with the current functionality, known issues, and what fixes/new functionality might help. This might also be faq material. Would be psyched to discuss with others trying to do the same thing and any workarounds you’ve found that I am missing so far.
Also quite pleased to discover a whole genre of juggling videos on youtube that I was not aware of before. I aspire to be this guy.
How it works
No balls are dropped when handling correspondence with a ticket system, because each ticket is assigned to someone, is given a priority level and progress status. Everyone knows when a ticket is closed because it is marked as resolved.
Discourse is not designed explicitly to be used as a ticket system but it works quite well for it! Use the following features:
- messages - title indicates what ticket is about. members and groups include the people involved.
- tags - to indicate tickets and their status/priority
- assign - to indicate who is the “owner” of tickets
- reminders - to remind ourselves to follow up on tickets
- whispers - to discuss amongst ourselves how to handle a ticket
- solved - to indicate that a ticket has been answered (optional)
We have a tag for #ticket which “unlocks” the priority and status tag groups. These we only use for messages we want to use as tickets so we don’t drop the ball. Only one priority and one status tag can be used at once. These tags are not visible to non-moderators and can’t be used by them.
Using the ticket system
The member support team will continually be checking messages to make sure any that need responses will be made into tickets that are then taken through to resolution on a timely basis. Everyone else should be using the ticket system according to their role, responding quickly when asked to help the process along, and handling any tickets assigned to them. The assigned message list is a great place to check on a regular basis for tickets assigned to you.
- Start by assigning a message to yourself or someone else, who becomes the “owner” of the ticket and should pursue it until it is given the tag
status-resolved. Once assigned, don’t unassign the ticket without assigning to someone else. Even once resolved, every ticket remains assigned to someone.
- Next, use tags to turn messages into tickets by adding the
statustags. These are only visible to moderators - see below for explanation of how we use them. Adding tags is done by editing the title of an existing message. Start with the
tickettag, which unlocks the ability to also add
prioritytags. Start typing status and priority into the tags field and it will autocomplete. Just choose the tag you want and you’re done. As you handle the ticket and move through the process from
status-resolved, update the tags accordingly.
- use whispers to bring in other moderators to help with resolving whatever the message or topic is about, and to explain any details in private as needed for future reference.
- optionally use solved to select a reply that encapsulates the solution/resolution. This is very helpful for future reference. [color=red]Note: do not use the solved button on whispered replies as non-moderators cannot see those[/color]
- use reminders when status is set to #status-waiting for reply, to follow up within a reasonable period. The goal is to resolve topics as quickly as possible and to never drop any balls.
#status-new New. Nothing has happened yet. This ticket is available for you to assign to yourself if you want to take it on or to assign to someone else if you think they are a better fit.
#status-underway Has been assigned and is currently being worked on.
#status-waiting Has been assigned and the owner has taken action, and is now waiting for a response from the member or someone else. It’s a good idea to set a reminder to follow-up in a week or so, depending on the priority.
#status-resolved All done!
#status-backburner On the backburner. You’re not getting anywhere with this ticket or it’s fine to take care of this in a few weeks or months from now. Do keep an eye on these tasks and take care of them, even if it means giving up and adding a note to the bottom that you are giving up and move it to #status-resolved. The backburner is not intended to be a graveyard.
#priority-immediate Drop everything and do this first.
#priority-urgent Do this today, once you’ve finished the immediate priority tasks and before you take on high and normal priority tasks.
#priority-high More important than normal priority tickets, but can probably still wait a few days.
#priority-normal Most tickets have this priority.
#priority-low Not quite on the backburner but not as important as normal priority tickets.
- It is possible to use the advanced search to drill down in messages as well as topics. The bulk admin actions tool (wrench in top right that appears when you select a few messages/topics) is intended for topics so don’t use it for messages. Reported to developers.
- The bulk actions available in message lists is too limiting - all you can do is archive.
Ticket tags are showing up in the /tags page.update: fixed!
- minor: when mentioning ticket tags in messages, the count of mentioned messages is zero in the pulldown autocomplete list. Meanwhile, mentioned tickets link to the /tags list. This is because it refers to topics not messages.
- It’s only possible to filter by one tag in message lists, but we want to filter by two tags (priority and status). To do that you have to use advanced search. Not sure what the UX answer is for this to propose - maybe add a second tag pulldown, or the ability to add multiple tags to the pulldown search.
- It’s possible to use ticket tags on topics as well, but it is not possible to hide them from view from anyone but moderators so I’m not sure we want to do that.
- It’s possible to use other tags in messages too, but I’m not yet sure of the implications.
- look into using ticket tags to not drop balls on topics as well as messages (if possible eventually to not show)
- look into using other tags (eg. themes, countries) on messages
- email-in to member support team and other role-based email addresses (to start tickets via email)
- figure out how to bulk add ticket tags to backlog of messages that might need handling/that have been resolved
- staged users (to start messages with email correspondents who are not yet signed up. Can still be supported via this procedure. When they do sign up, they have access to the entire history of messages - as long as they use the same email address).