Email is complicated. Hundreds of billions of messages are sent every day. Zendesk alone receives and processes millions. Over time, email's mission has changed. It's not just for person-to-person communication, but it's also for mass mailing and machine communication. Complication introduces a number of threats, including mail loops, which Zendesk Support takes into account for email management.
This article contains the following sections:
What's a mail loop?
Automatic acknowledgment of messages is a common practice for software that receives email. The default trigger, Notify requester of received request, is one example. When a ticket is created in Zendesk Support, the user is notified by email. This kind of behavior, while common, can result in a problem when two machines email each other.
It's not a problem for machines to receive email from one another. For example, if one system receives an email from another, then sends an automatic reply, that's fine. But if that system also replies automatically, this can kick off a mail loop. In this scenario, each system will continue to reply automatically to the other every time a notification is received, creating a never-ending loop, until someone or something intervenes.
Loops can occur other ways, as well. Updates to tickets may come from the API, ticket sharing, an app, or web interface. These updates can cause emails sent by trigger notifications such as Notify requester of comment update (or a CC notification). Sometimes those emails can cause another update, not by email, but by some other means.
How Zendesk prevents mail loops
There are several different things Zendesk does to prevent mail loops. It should be stated clearly that we can't prevent all mail loops all the time. They're a part of the ecosystem now, and we're doing what we can, but just like spam messages, they will occasionally happen.
Here are some of the measures in place to prevent mail loops:
Suppression of automated notifications for Zendesk-to-Zendesk email
Most Zendesk accounts employ triggers to automatically let users know that their email was received and a ticket was created. However, if the user is another Zendesk account, those triggers can create an infinite email loop, with one Zendesk account automatically creating a ticket and sending a message to the other account, which then automatically creates a ticket and sends a message to the first account, and so on.
To avoid this problem, Zendesk Support differentiates between automatic email notifications and all other email notifications:
- Automatic email notifications are emails generated by Zendesk Support without any action on the part of an agent. When a ticket is automatically created from an incoming email, an automatic message is sent.
- All other email notifications include emails generated by Zendesk Support based on an action performed by an agent. When an agent adds a comment to a ticket, for example, an email notification is sent.
When your instance of Zendesk Support receives an email from an end-user that it identifies as another Zendesk account, it performs the following steps:
- Creates a ticket from that email, or threads the reply back into their original ticket, using the sending email address of the requester.
- Suppresses the triggers for automatic messages.
Email notification triggers are left intact, so when an agent adds a comment to a ticket, an email notification is still sent to the Zendesk account that submitted the original email, and the following flag is added to the comment:
Partner addresses list for Zendesks you have sharing agreements with
When you send email to another Zendesk, automatic emails notifications are suppressed, but email notifications generated by an agent action are sent. This can cause problems if you have a ticket sharing agreement with the other Zendesk. In that case, it's possible to create an endless loop of notifications if the email address for the user in the CC or Requester field is the support address of a Zendesk you have a sharing agreement with.
To prevent endless loops, Zendesk Support automatically maintains a list of Zendesk partner addresses—that is, a list of all the support addresses for each Zendesk Support you have a sharing agreement with.
When a user is created in Zendesk Support, the email address is checked against the list of partner addresses, and if the address is on the list, then all email notifications, including those generated by agent action, will be suppressed to that user. On a ticket, you'll see a flag when a user on your list of Zendesk partner addresses is in the CC or Requester field. The warning flag lets you know that email will not be sent to that user.
Likewise, email sent to Zendesk Support from any email address on your partner addresses list will be rejected by Zendesk Support, because there is already a sharing agreement in place. If you need to, you can create a ticket with this user as requester and share the ticket back to the Zendesk you already have sharing agreement with.
Unique support addresses, not used for users
Your users contact you at your support addresses. If you use external support addresses (i.e. support@mycompany.com), Zendesk Support prevents mail loops by disallowing users with one of your support addresses as their email. In other words, if you have an end-user whose email address is support@example.com, you cannot enable support@example.com as a support address. If you have support@example.com as a support address, you cannot create a user with that address.
We do this to prevent notifications being sent to your support addresses. If we did send email to one of them, they would automatically forward that email back to Zendesk Support, creating another ticket. This process would then continue to loop, resulting in many tickets or comments.
Bulk mail and no-reply addresses do not create tickets
We prevent certain email from creating tickets by default. These might be things that are clearly bulk mail or messages that identify as machines. We also do not create tickets by default when the sender is a no-reply address. These are mostly governed by suspended tickets. You can whitelist these if you know that the sender is safe.
When a ticket is created on behalf of a bulk sender, we suppress automatic notifications. Agent comments will still trigger notifications, but to avoid mail loops we'll suppress any message that is sent when no comment is added. This is true when your recover these messages from suspension, or when you whitelist such users.
Fall-back limitations for ticket updates by a user in an hour
As a last resort form of prevention, Zendesk limits the number of updates a single user can make within an hour. We have a limit of 20 emails from the same user within an hour. Beyond that, the next 20 updates will be suspended. If more than 40 are received, all additional updates within that hour will be rejected (meaning they won't even create suspended tickets). This serves as a way to prevent mail loops we don't catch from becoming serious problems.
This limitation won't work if the loop other system doesn't use the same email address every time. We have seen systems that use a new email address for each automated message, for example.
27 Comments
Does this feature work? We have multiple customers who use ZD and I have never seen any of the above messages? I have had to set up a sharing agreement to resolve this issue.
Hey, Casey -
Which feature are you asking about? I just tested a few things, and I am able to send email from one Zendesk account to another. The warning flags do appear on comments, as illustrated in the "Zendesk-to-Zendesk email" section. The warning string appears when a user's email identity is also a support address in a sharing partner's account as illustrated in the "Partner addresses" section.
If you're having trouble with email being sent from one Zendesk to another, I would recommend reaching out to our support team.
If an email loop begins to occur, how do i prevent it from producing more tickets?
@Theo -
We prevent them by looking out for an extended sequence of messages from one user in a short time. If you suspect you're seeing one, though, you can delete or close tickets to prevent mail loops too.
@Max McCal - Is there anything in the email headers that dictate whether a mail stems from an automatic email notification or all other email notification (originates from an action performed by an agent)
HI Pratik, I'm sorry, there is no indication in the headers that this is occurring. There are, however, a small handful of headers that we do employ in outbound notifications to alert another system that we are an automated sender of mail, as part of our responsible sending practices. You can inspect these by looking at the outbound headers from any notification. If you have any more questions feel free to open a ticket at support@zendesk.com
Is there a way to make the fall-back of emails limited to 5 emails an hour?
Because of summer in Europe, there are already about 60 users that we receive out-of-office replies from on some of our newsletters.
60 x 30 tickets, is an awful lot of tickets that are closed automatically, but still count for our stats.
Hope to hear if somebody knows a solution or work-around!
Hi Marrit!
To the best of my knowledge it's not possible to change the limit as you've described, but if your primary concern is with skewed reporting there might be another solution. Do you have a trigger set up that automatically solves these tickets?
Hi Jessie,
Yes indeed, we auto-solve these tickets.
I don't know if the best way would be to suspend these accounts, because some of them are linked to personal addresses. So in the case somebody writes us with a real question, it won't appear directly in our inbox.
If you would have another option, that would be great!
Hi Jessie,
Did you have a tip for the fact that our stats are skewed because of these auto-solved tickets?
Hey Marrit! Sorry for the delayed response!
My recommendation for this situation would be to set up the trigger that auto-closes these tickets to add a tag of some kind before closing it (ie: auto_close or ooo-close). Then you can just exclude tickets with that tag from your reports and voilà! Only the important stuff is getting counted.
I noticed that this message was shown, wich is in general also good,
but I was surprised that if identified as an automated mail the status changed
from pending (which I selected) to open again, where I would like to see it stay at pending,
but sure others might see it different and it might also be dependent on the automatic message content.
It's disappointing to pay for an enterprise licence and then have the same email limit applied to the account as everyone else. There are differences in API call levels and emails should be treated in a similar manner
Bells and whistles are good, but performing at the level paid for is a base-level expectation.
Hi Marty,
The limit is based on the tested presumption that an individual human sender would likely not send more than twenty emails in an hour, not so much that the customer of an Enterprise account would necessarily require any more than that. We have found that it is very rare that a human sends more than twenty support requests to any individual account in any given hour - anything more than that is almost always the result of an automated sender. If you have a use-case outside of what I've described here then would you mind opening a support ticket and mentioning my name in it, so that I can find out more about your scenario? We thank you in advance for your time.
Note: This email loop can also occur between Intercom and Zendesk accounts. Zendesk handles Intercom-to-Zendesk email the same way it handles Zendesk-to-Zendesk email, as described in this section.
Welcome to the Community, Pond!
You're absolutely right! This type of loop can occur when Zendesk communicates with any other system that sends out automated replies. Good eye. :)
Hello!
One of our customers have started using Zendesk and sent their first couple of emails a couple of days ago from their account. Haven't noticed this before - most likely because none of our other customers is using zendesk themselves.
What happens is this:
Our customer is supporting their own customers which mean that someone is sending them an email saying i.e.
The problem for them (and in turn us) is that in order to know what the original problem (from their end-user) was they need to have the full information in our reply back. And this information is supressed and Zendesk is only sending them our direct reply.
How do we solve this in a smooth way? One solution would be that in each case of contact with this specific customer we use a macro with the {{ticket.comments_formatted}} string. But I would like to avoid this since it's a manual step which can (and will) be missed by our agents.
I can also add to my previous post that they most likely don't want their end-customer to see the correspondence between us and their support which means they can't just add our support to the original ticket as CC.
Hi Daniel!
I'm thinking that having your customer set up a workflow using the Linked Ticket app or the Project Management App would be helpful. This will allow you to to work on a completely separate ticket, that's still linked to the original.
Another thing you might consider is setting up a Ticket Sharing Agreement with them.
Thank you Jessie!
We decided to go with a one-way ticket sharing solution.
A question (which maybe better in a ticket sharing thread but I'll try here) however:
Can I in some way link a "sharing agreement account" to an organization?
I want all the shared tickets from this account to be part of an already existing organization since it's still the same organization - even if they started using zendesk :-).
Hey Daniel!
An Organization is determined at the end-user level, so as long as the ticket requesters are in the desired Organization, that information will display properly.
If we have been communicating via email for a ticket. Then the user sends in an email that updates the ticket, however, the agent responds directly with the email. The ticket is updated however it is orange and looks like it was internal only. Is the user getting these emails with an update on the ticket?
Hi Christine, It sounds like you might be describing this recent and necessary change in ticket update behavior: https://support.zendesk.com/hc/en-us/articles/360000829848-Update-to-Comments-by-Third-Parties. If that doesn't answer your questions for you, or if you have any more then feel free to open a ticket at support@zendesk.com so that an advocate here can verify and perhaps recommend alternate workflows.
Hi,
I am not sure if i am in the right spot but I am getting duplicate emails sent to me when a new ticket is submitted.
Also, emails are going to the email we signed up with (Hello@ourcompany.com) and we would really like to use (Support@ourcompany.com) for all support emails (send and receive). We do use Gsuite inside our office to send and receive email.
Can you point me in the right direction on how to set this all up?
Thanks,
- D
Hi Donny!
The email notifications are being sent via your Triggers, so most likely you have two notification triggers set to fire when a new ticket is created (ie: notify agents in group and notify all agents). You'll just need to adjust or remove one of those to eliminate the double notifications.
As far as your support email address goes, you can follow the instructions in this article to get that set up the way you want!
We're seeing e-mail loops with a different support system used in-house. Our It service desk forwards to our zendesk (my group) and 5 additional tickets being created as email replies go back and forth.
How can I stop replying to specific e-mail addresses without blacklisting them?
Hey David,
Is the issue that duplicate tickets are being created in your Support account? Blacklisting is the only way to reject emails or suspending the user profile that is generating these tickets. However, you can also use triggers to automatically close tickets that don't require a response.
Let me know!
Please sign in to leave a comment.