RT 4.4.3 Handling Global Scrips per Queue?

Howdy all! We’re running RT 4.4.3 and have found that we want to disable a global scrip (involving outbound emails sent to requestors) on some queue’s, but leave a similar scrip enabled for others.

Can you provide any guidance on accomplishing this in RT 4.4.3?

Would we disable the global scrip, then recreate the same scrip and enable it per queue?

I found several pasts topics, but they are 8-14 years old -


Another option is to create a template with the same name as the one the global scrip is using for the queue where you do NOT want email going out from. Make this template blank, then the scrip will run but because no message was generated there shouldn’t be any email sent

You can disable it globally and then apply it to individual queues (Admin->Scrips->Select, then select, then Applies-to). Then set up your alternate scrip and apply it to the other queues.
I’m running the menus in my head, so the trails above may not be exact.

I would suggest knations’s solution as it is not so elaborate. Another way somewhere in between is to edit the global scrip and add there a condition to disable it in certain queues. Something like

# We want this functionality only for correspondence transactions
return 0 unless ($self->TransactionObj->Type eq "Correspond");

# We don't want to treat tickets automatically in some queues.
my @excluded_queues = qw('queue1', 'queue2', 'queue3');
my $current_queue = $self->TicketObj->QueueObj->Name;
foreach my $q (@excluded_queues){
  if ($q eq $current_queue) {return 0;}
}
return 1;

Thanks all! We were able to successfully use Jeff’s recommendation after poking around and understanding how the “applies to” works.