No internet connection
  1. Home
  2. Ideas

Feature request: Allow team members to "claim" a thread

By Michael Lynch @michael
    2022-10-11 19:27:07.849Zassigned to
    • @KajMagnus

    My support team is growing, and one of the issues we're running into is that multiple team members might be responding to the same post at the same time. Especially for questions that require 30-60 minutes of research, we don't want multiple team members duplicating effort.

    For private email support, we use a tool called HelpScout, which allows team members to assign ownership to a particular thread:

    That feature helps us prevent two people from working on the same ticket at the same time.

    It would be nice if TalkYard offered a way to mark a thread as "owned" by a particular staff member. There are a few different ways TalkYard could achieve this:

    • The way HelpScout does it where staff members pick from a dropdown to assign to a thread to a particular person.
    • Add a general-purpose "staff-only note" to the top of a thread, so before responding, you'd check for a note and write that you're working on it.
    • Add some kind of warning to other staff members if another staff member is already in the process of replying to a thread.

    My team has also talked about the idea of using the staff-only board to track ownership, but it's impractical to have to navigate away from the thread to check another page. For a solution to be effective, I think it has to be obvious in the place where the staff member would reply.

    • 13 replies

    There are 13 replies. Estimated reading time: 15 minutes

    1. KajMagnus @KajMagnus2022-10-12 12:45:16.598Z2023-01-08 11:08:00.474Z

      Definitely needed, marking as Planned. Seems what's needed, database wise, is:

      An assigned_to_id database field, and assigned_by_id field.
      And a may_assign_to_id permission and a may_assign_to_self permission.

      For example, for a group Support Team, you could set may_assign_to_id, to point to itself (i.e. Support Team). Meaning, Support Team members could assign threads to themselves or each other. But initially, for simplicity, maybe simply all Core Members and higher, would get to assign threads to others and themselves. (That is, starting with just assigned_to/by_id, and postponing a more flexible may-assign permission system.)

      (Maybe not initially, but some time later on, assigned_to_id can optionally point to a list of staff members, instead of a single person. For example, two people could be working together on a task. — If assign-to-many was enabled, could be an admin site config setting.)

      Edit, 2023-01: The implementation will be a bit different, namely a graph database style "relationships" table with Assigned-To links (and other types of links) from people to posts. /Edit

      1. In reply tomichael:

        A fourth idea pops up in my mind when I see your 3rd list item "if another staff member is already in the process of replying":

        • Make replies other staff members have started writing, visible to other staff or group members (e.g. a Support Team group), and allow real-time collaborative editing of such replies. Once submitted, then, as author, show the relevant group name, e.g. "by Support Team", and optionally, one can click to show the exact author names.

        Maybe such a feature should be disabled by default? Because I guess that for this real-time-cooperation feature to work ok, the team needs to be well-knit / well-coordinated / good judgement people :- )   Also, won't happen the nearest year ... Lots of work.

        1. Michael Lynch @michael
            2022-10-17 19:56:00.886Z


            For our use case, we'd only need to assign to a single person. The support staff is just me and two support engineers, so there aren't enough of us where it makes sense yet to have separate teams.

            Collaborative editing would be cool, but it sounds like a lot of implementation complexity. We could get 95% of the benefit of collaborative editing if there was just some indicator that some other team member was drafting a reply and maybe when they last edited.

            Support tickets are usually assigned to a single person, and we have private channels for discussion, so we wouldn't really need to collaboratively write responses like you would in a Google Doc. In other words, TalkYard could show the other moderators a note like, "Magnus is drafting a reply as of 3:04pm."

          • In reply tomichael:

            This now a tiny bit started. I'm guessing this'll be available in about 1 month. (Doing in parallel with some other related things — namely anonymous posts (optional!).)

            1. Status update: Now implemented, except for 1) notifications about someone having gotten assigned and 2) "sbd assigned sbd-else" meta comments, and 3) "deailed" permissions related to who-may-assign and who-can-see-who-has-gotten-assigned, but that can wait (I think).

              Code review and auto tests missing, though, that's 2 weeks maybe ... (but 1 week more because of end-of-the-year bookkeeping :- / )

              1. Now finally done with code review (and bookkeeping). (Took long, because of the anonymous posts feature.)

                Next, I'll create a few end-to-end tests (that's quick), and then upgrade the server. (And maybe more detailed e2e tests later.) (The "except for" above, still applies.)

            2. In reply tomichael:
              KajMagnus @KajMagnus2023-04-23 15:19:55.850Z2023-04-23 15:26:48.863Z

              Now Assign-To works & finally deployed to here at Ty .io — and this task (thread) is now assigned to me :- ) (if you look just below the page title). Will update Prod in one or a few days.

              Thereafter, I'll add notifications (so people will know if they get un/assigned). And there'll be permissions so one can configure who can assign others (currently admins & mods can, hmm I think core members can too), and can configure who can see who's been assigned. (Currently everyone who can see a page, can see who's been assigned, if any.)

              1. In reply tomichael:
                Keith Laster @KeithLaster
                  2023-04-26 07:31:11.559Z2023-04-27 12:45:27.113Z

                  I agree with previous comments that the "claim a thread" feature would be very useful for teamwork in the forum. When we have a large volume of posts, it's important that each team member knows which posts they should track and respond to. Moreover, such a feature can be useful for assigning responsibilities in a team, especially when we have multiple team members who can respond to posts. If we can mark a topic as "reserved" for a particular team member, it would help avoid duplicate responses and reduce the time it takes to process messages. It would also be helpful if we had the ability to remove the topic "takeover" by other team members if we noticed that we would not be able to respond to a message anytime soon. Then another team member can take over the response, and we can avoid the long wait for a response.

                  1. I agree. Seems this'll be available tomorrow in the hosted SaaS, and some days later in OSS release channel. (Initially without email notifications about having gotten assigned though — just started working on that.)

                    It would also be helpful if we had the ability to remove the topic "takeover" by other team members if we noticed that we would not be able to respond to a message anytime soon. Then another team member can take over the response, and we can avoid the long wait for a response.

                    That sounds as if a team member, should be able to freely change who-is-assigned to a topic? For example, co-worker X is on vacation, so I'll un-assign X, and assign myself instead? Or, I'll assign Y who knows all about that topic. — Sort of trusting one's team members to un/assign things in make sense ways? (Or am I misunderstanding something)

                    I'm thinking it'd be good if Core Members and Trusted Members, by default would be able to do that (in addition to mods & admins). Then, if you set your team members' trust level to Trusted or Core Member, the above would work.

                    (In the distant future, you'll be able to grant a user group (or "team"-of-co-workers) the permission to un/assign topics in specific categories, or the whole site. Then the Dev team can be responsible for assigning topics in a Development category, and a Marketing team, in a category about sales & marketing.)

                  2. In reply tomichael:

                    Now available in Prod — server just upgraded. (Without email notifications. I'm adding now, next version ...)

                    I wonder if you can figure out how to assign sbd :- )   (or if the UI is unclear)

                    1. Michael Lynch @michael
                        2023-04-28 13:34:06.094Z

                        Thanks for adding this, @KajMagnus!

                        I was able to discover the feature from the UI, but the current implementation requires a lot of work to assign a thread.

                        For context, using a tool like HelpScout, assigning a thread takes two clicks:

                        1. Click assign button
                        2. Click the assignee's name from a list of a few people

                        Currently, on TalkYard, assigning a thread takes 5 clicks and 3+ keystrokes:

                        1. Click "Change..."
                        2. Click "Assigned to:" -> "Change"
                        3. Click the "Select users" text field (which doesn't have focus by default)
                        4. Type the assignee's name because there are too many users in the dropdown
                        5. Click the matching name
                        6. Click "Add users"

                        I think there are a few quick wins that would drastically reduce the effort of assigning a thread:

                        • Could the list of assignable users be limited to moderators/admins?
                          • Currently, there are only 3 users on my forum I'd want to assign a thread to, but the list currently includes hundreds of users. And it's so many that I have to type the name, which makes the process harder.
                        • Could the assignment be limited to a single user?
                          • Being able to assign multiple users makes the UI a little more complicated than it needs to be.
                        • Could the assignment be an inline picklist similar to how we pick a category or topic type?
                          • That would reduce it to just 3 clicks

                        (Without email notifications. I'm adding now, next version ...)

                        Would the email notification let the user know they've been assigned a thread? We actually wouldn't need that, as generally people self-assign. The reason we use it is to prevent two team members from working on a thread at once, so email wouldn't be necessary.

                        1. Thanks for the feedback,

                          Could the list of assignable users be limited to moderators/admins? [...] single user [...] inline picklist

                          Yes, hmm, what if when clicking Assign, an inline picklist could appear, listing mods, admins and core members. And if clicking anyone in the list, then, that person (only) gets assigned. (This would be 3 clicks.)

                          The first item in the list, could be "Yourself". And the last item could be: "Other / Many ..." which opens the current Assign dialog (where one types text and can choose many people).


                          There could be a keyboard shortcut — try hitting Shift Shift quickly here in this forum (shortcuts are enabled here).

                          There could be a new a t m shortcut, for "assign to myself", and a t [1-9] for picking person 1 to 9 in the picklist (which shows mods, admin, core members). And a t o, for "... to other" (to open the type-a-username dialog).

                          1. In reply tomichael:
                            KajMagnus @KajMagnus2023-04-29 05:49:59.385Z2023-04-29 05:57:36.065Z

                            Would the email notification let the user know they've been assigned a thread?

                            Yes, not if one assigns oneself though.

                            I wonder, what if a person has subscribed to a topic (or category), to get notified about all comments in that topic (or category). What's on my mind, is that this person then also gets notified if the topic gets assigned to someone — I'm thinking that's generally as interesting, as a new comment in the topic (and the person is subscribed to new comments).

                            I wonder if maybe that should be a separate notification level (or separate notification "dimension"). — There is one day going to be a separate notification "level" (or rather, dimension), to get notified only when a topic gets Started or Done (but not notified about comments).

                        2. Progress
                          with doing this idea
                        3. @KajMagnus marked this topic as Planned 2022-10-12 12:51:35.972Z.
                        4. @KajMagnus marked this topic as Started 2023-01-08 10:35:31.907Z.