Zendesk doesn’t use the incoming email subject when it replies to an email, so it doesn’t include the RT ID in the reply. I don’t know if Zendesk has filters on inbound email that would allow you change the subject to extract and include the RT ID but you can do some work on the RT end.
You would need to have an On Create scrip that interrogates the email Subject for the Zendesk ID, and then searches for the Zendesk ID in existing RT tickets.
Where you find one, you can add this email to the existing ticket, or create a new ticket where you can’t find a match.
I hope that helps a little.
Simon.
Zendesk is deleting the ticket from the subject when replying back as auto reply.
And i dont know if the ticket id is still present on the mail headers, how can i turn off system wide config for a specific mail to not sent auto reply and would another fix be manipulating from the mail headers if contains x-rt-ticketid or something like that, echo null to rt’s mail gateway otherwise dont
Apologies, I wasn’t clear. The subject from ZenDesk will include the ZenDesk ID, you will need to match this to an existing RT Ticket by searching RT for a matching subject.
To make this a bit more reliable, you could add a custom field to the ticket to hold the ZenDesk ticket ID, and then match this against the ID you parse from the incoming ZenDesk email. This ID is appears in a number of email headers in addition to the subject. For instance, the Reply-To header includes the ID as a local part in the email address:
Reply-To: Tech Support <support+id4999860@example.zendesk.com>
It is not allowed to make modifications on the sending side, it should be taken care of at the receiving side. I want something like: disable auto reply for specific domain, I wrote a Scrip for that, but it’s not working (also disabled the default one for auto-reply):
package RT::Condition::SpecialReviewNeeded;
use strict;
use warnings;
use base 'RT::Condition';
sub IsApplicable {
my $self = shift;
# Perl executes the statement from right to left, if the condition is false,
# Perl executes the statement that precedes the unless. If the condition is true,
# Perl skips the statement.
return 0 unless $self->TicketObj->OwnerAsString() =~ /root/;
return 1;
}
1; # Don't forget the module needs this