External participants are notified when added and can self opt-out
Problem
When an external participant is added to a Service Desk issue manually, either via the quick action or via the UI, they should have the ability to opt-out and remove themselves from the participants list.
Not having the ability to self opt out means they either have to receive unwanted emails or ask another person to help them.
I started work on adding a new email that we'll send out when an external participant has been added to a conversation.
JTBD
When being added to a conversation, an external participant gets notified that they've been added, so they can contribute to the conversation.
When they don't want to receive notifications anymore, an external participant can unsubscribe from the conversation, so they don't receiver any new Service Desk emails.
When working on a ticket, an agent can see without an additional click when an external participant unsubscribed, so they know who'll receive notifications to new messages.
Proposal
From #299261 (comment 1880002827)
- Use the feature flag
issue_email_participants
- Add a new email
service_desk_new_participant_email
with a default template. - Send it whenever we add an external participant to a work item, so include it in
IssueEmailParticipants::CreateService
. Only the external author of the Service Desk ticket will receive thethank_you
email. All other external participants (added fromCC
and via quick action/invite_email
will receive thenew_participant
email. - Make it customizable as the
new_participant
Service Desk email template.
Alternatives (and why not)
- Send the
thank_you
email also toCC
ed emails of the initial email that creates the ticket. I created this MR Draft: Send Service Desk thank you emails to al... (!150671 - closed) that provides that functionality but after trying it out for a bit I realized that this is not a consistent behavior or pattern. Because if I'm included in the initial email I receive thethank_you
email ("but I didn't raise the ticket so what's going on here") and if I got added later on I receive nothing or a newnew_participant
email. The behavior should be the same at every stage. There's a clear difference between the external author and other participants so we should treat them differently. - Do nothing. As an external participant I'm not aware that I was added to a ticket, so a
new_note
email from an agent might be a surprise. Also if I just answer the original email where I wasCC
ed this message is not part of the conversation and in the worst case even creates a new ticket. Participants can directly reply to thenew_participant
email and their message will be a new comment on the ticket.
I also copied this to the description.
Proposed default copy
You can opt-out from participating in this ticket. By doing so, you will no longer receive future updates unless you are added again as a participant. I want to opt-out.
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.