Difference between revisions of "Inbound Routing Rules"

From Hornbill
Jump to navigation Jump to search
 
(26 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 +
This document can now be found at its new location in the [https://docs.hornbill.com/esp-config/email/using-email-routing-rules/ Hornbill Document Library].
 +
 +
[[file:hornbill-document-library.png|Hornbill Cloud|link=https://docs.hornbill.com/esp-config/email/using-email-routing-rules/]]
 +
<!--
 +
 +
<div style="border:1px solid #90C0FF; background:#D0E0FF; width:99%; padding:4px; margin-bottom:10px;">
 
__NOTOC__[[Main Page|Home]] > [[Administration]] > [[System Administration|System]] > [[Email_Administration|Email]] > Email Routing Rules
 
__NOTOC__[[Main Page|Home]] > [[Administration]] > [[System Administration|System]] > [[Email_Administration|Email]] > Email Routing Rules
[[File:RoutingRulesCard.png|right|Routing Rules]]
+
</div>
 +
{|style="width: 100%"
 +
|- valign="top"
 +
|style="width:73%"|
 
==Introduction==
 
==Introduction==
 
The Email Routing Rules provide a way of automating the delivery and actions that occur on emails that are received into Hornbill.  This may be simply redirecting the email message to a particular shared mailbox or applying advance operations that are provided by the different Hornbill Apps.  Each Email Routing rules allow you to define expressions to verify the content of the incoming emails in order for that rule to apply.
 
The Email Routing Rules provide a way of automating the delivery and actions that occur on emails that are received into Hornbill.  This may be simply redirecting the email message to a particular shared mailbox or applying advance operations that are provided by the different Hornbill Apps.  Each Email Routing rules allow you to define expressions to verify the content of the incoming emails in order for that rule to apply.
 +
|style="width:5%"|
 +
|
 +
|style="width:22%; border-style: solid; border-width: 1px; border-color:#e6e6e6; background-color:#f2f2f2;"|
  
 +
== Related Articles ==
 +
:* [[Routing Rule Templates|Service Manager Routing Rule Templates]]
 +
|}
  
 
== Routing Rules List==
 
== Routing Rules List==
 +
[[File:routingrule.png|thumb|300px|link=https://wiki.hornbill.com/images/0/0c/Routingrule.png|Email Routing Rule Form]]
 
From the list of Routing Rules there a few actions and some considerations to keep in mind.
 
From the list of Routing Rules there a few actions and some considerations to keep in mind.
 
:* '''Switching On or Off'''
 
:* '''Switching On or Off'''
Line 12: Line 28:
 
:: Clicking on the + in the tool bar will allow you to create a new rule.
 
:: Clicking on the + in the tool bar will allow you to create a new rule.
 
:* '''Ordering'''
 
:* '''Ordering'''
:: Once more than one rule has been created, the order of the rules can be changed by using the up and down arrows located on the right side of each rule. When an email is received, the routing rules will be processed in the order that they are listed, starting at rule 1. If a rule doesn't match it will then check the next rule. If no rules match the email will simply reside in the Inbox.   
+
:: Once more than one rule has been created, the order of the rules can be changed by using the up and down arrows located on the right side of each rule. When an email is received, the routing rules will be processed in the order that they are listed, starting at rule 1. If a rule doesn't match it will then check the next rule. If no rules match the email will simply reside in the Inbox.   
 +
:: '''Note:''' If a rule matches, but its action fails to complete, no further rules will be checked and the rule's ''Fail'' action will be followed.
 
:* '''Deleting a Rule'''
 
:* '''Deleting a Rule'''
 
:: The Delete option in the tool bar becomes available once one or more Rules are selected in the list
 
:: The Delete option in the tool bar becomes available once one or more Rules are selected in the list
 
<br>
 
<br>
 +
 
==Rule Expression==
 
==Rule Expression==
Each Routing Rule requires a Rule Expression which is used to validate information held within the email.  To help with setting up the Rule Expression a number of options have been provided in the Rule Parameters selector located at the top right of the Rule Expression field.  Selecting any of these items from the list will insert that Rule Parameter into the Rule Expression field.
+
Each Routing Rule requires a Rule Expression which is used to validate information held within the email.  To help with setting up the Rule Expression a number of parameters have been provided in the Rule Parameters selector located at the top right of the Rule Expression field.  Selecting any of these items from the list will insert that Rule Parameter into the Rule Expression field.
  
 
:* toAddress
 
:* toAddress
 
:* toDomain
 
:* toDomain
 +
:* ccAddress
 +
:* ccDomain
 
:* fromAddress
 
:* fromAddress
 
:* fromDomain
 
:* fromDomain
Line 27: Line 47:
 
:* mailbox  
 
:* mailbox  
  
::[[File:Information.png|14px|text-top|Information]] If you are manually adding Rule Parameters it is important that the correct letter case is used and it matches those provided in the Rule Parameters selector
+
[[File:Information.png|14px|text-top|Information]] If you are manually adding Rule Parameters it is important that the correct letter case is used and it matches those provided in the Rule Parameters selector
  
 
=== Rule Expression Syntax ===
 
=== Rule Expression Syntax ===
 
The syntax used in the Rule Expression is similar to standard SQL syntax. String and numeric comparisons, and parentheses are all supported.  
 
The syntax used in the Rule Expression is similar to standard SQL syntax. String and numeric comparisons, and parentheses are all supported.  
  
<div class="mw-collapsible mw-collapsed" data-collapsetext="Hide Examples" data-expandtext="Show list of functions" style="width:1050px">
+
<div class="mw-collapsible mw-collapsed" data-collapsetext="Hide Examples" data-expandtext="Show Examples" style="width:1050px">
 
A few basic expressions to get you started can be found by showing the list of functions.
 
A few basic expressions to get you started can be found by showing the list of functions.
  
Line 42: Line 62:
 
|-
 
|-
 
|LIKE
 
|LIKE
|subject LIKE '%abc' or LIKE 'xyz%' or LIKE '%mno%'
+
|subject LIKE '%abc' or subject LIKE 'xyz%' or subject LIKE '%mno%'
  
 
|-
 
|-
 
|NOT
 
|NOT
|subject NOT 'abc' or NOT ('abc' and NOT 'zyx')
+
|subject != 'abc'
  
 
|-
 
|-
Line 64: Line 84:
  
 
=== Special Functions ===
 
=== Special Functions ===
<div class="mw-collapsible mw-collapsed" data-collapsetext="Hide answer" data-expandtext="Show list of functions" style="width:1050px">
+
<div class="mw-collapsible mw-collapsed" data-collapsetext="Hide Functions" data-expandtext="Show Functions" style="width:1050px">
Hornbill supports a number of functions that are useful for more complex expressions and evaluations.  
+
Hornbill supports a number of functions that are useful for more complex expressions.  
  
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
Line 80: Line 100:
  
  
LEFT(“The Dog”, 3) = “The”
+
LEFT('The Dog', 3) = 'The'
  
 
|-
 
|-
Line 99: Line 119:
  
  
SUBSTRING(“The Dog”, 5) = “Dog”
+
SUBSTRING('The Dog', 5) = 'Dog'
  
  
SUBSTRING(“The Dog”, 5, 2) = “Do”
+
SUBSTRING('The Dog', 5, 2) = 'Do'
  
 
|-
 
|-
Line 114: Line 134:
  
  
RIGHT(“The Dog”, 2) = “og”
+
RIGHT('The Dog', 2) = 'og'
  
 
|-
 
|-
Line 131: Line 151:
  
  
CONCAT(‘The’, ‘ ‘, “Dog”) = “The Dog”
+
CONCAT(‘The’, ‘ ‘, 'Dog') = 'The Dog'
  
 
|-
 
|-
Line 138: Line 158:
  
  
REGEX_MATCH(“String to match”, “regex to test”)
+
REGEX_MATCH('String to match', 'regex to test')
  
  
This function is based on perl compatible regular expressions. Please see the following URL: -
+
This function is based on Perl compatible regular expressions. Please see the following URL: -
  
  
 
[http://www.pcre.org/ http://www.pcre.org/]
 
[http://www.pcre.org/ http://www.pcre.org/]
 +
 +
Example of a routing rule matching a request reference in the email subject: REGEX_MATCH(subject, '.*\b[a-zA-Z]{2}[0-9]{8}\b.*')
  
 
|-
 
|-
Line 154: Line 176:
  
  
This function is based on perl compatible regular expressions. Please see the following URL: -
+
This function is based on Perl compatible regular expressions. Please see the following URL: -
  
  
Line 165: Line 187:
  
 
STRING_REPLACE(''needle'', ''haystack'', ''string'')
 
STRING_REPLACE(''needle'', ''haystack'', ''string'')
 +
 +
|-
 +
| MESSAGE_HEADER
 +
| Return the value of one message header present in the email message being evaluated. If header is not present this will return NULL. Available in platform build 3801 onwards
 +
 +
 +
MESSAGE_HEADER('X-Header-Name')
 +
 +
 +
For example:
 +
 +
MESSAGE_HEADER('Message-ID') LIKE '%some.domain.com%'
  
 
|}
 
|}
 
</div>
 
</div>
 
<br>
 
<br>
 +
 
== Use Mailbox ==
 
== Use Mailbox ==
:*'''Mailbox''' - The mailbox you wish emails to be routed to
+
This option provides the simple routing of incoming emails to a particular Shared Mailbox.
:*'''Folder''' - The  folder within a mailbox for email to be routed to
+
:*'''Mailbox'''
 
+
::From the list of available Shared Mailboxes, select the mailbox that you wish emails that match the Rule Expression to be routed to.
 +
:*'''Folder'''  
 +
::Select the folder within the selected Shared Mailbox for email to be stored in. This list of folders include the Inbox, Deleted Items, and any custom folder that has been added to the selected Shared Mailbox.
  
 
== Use Operation ==
 
== Use Operation ==
:*'''Application''' - The Application in which tasks (operations) will be automated - (''currently only operations are available in the context of the Service Manager Application'')
+
Each Hornbill App can provide Operations that provide advanced processing of emails.
:*'''Operation''' - The Task you wish to automate if your rule matches
+
:*'''Application'''
:*'''Target Folder Success''' - On a successful rule match the folder you would like the email routed to  
+
::Select an App to view the available operations for that particular App
:*'''Target Folder Failure''' - In the case of a rule match but action failure the folder you would like the email routed to
+
:*'''Operation'''
:*'''Reference''' - You will need to specify the Regex Syntax that matches your call referenceE.g. for the standard out-of-the-box reference use: '''[a-zA-Z]{2}[0-9]{8}'''
+
::Select the operation that you wish to perform if your Rule Expression matches
 
+
:*'''Target Folder Success'''
 
+
::On a successful Rule Expression match the folder you would like the email routed to
 +
:*'''Target Folder Failure'''
 +
::In the case of a rule match but action failure the folder you would like the email routed to
 +
:::In order to aid troubleshooting it is recommended that this is not set to "Inbox" as this will make it easier to distinguish between emails that were not picked up by a Rule (which will remain in the Inbox) and emails that were picked up but failed to process correctly (which will move to the Failure Folder)
 +
:*'''Reference'''
 +
:: This field can be used by the selected operation in order to correctly process the selected OperationRefer to the application specific documentation to determine if this is required.
 +
<br>
 
==Service Manager Settings==
 
==Service Manager Settings==
 
<div class="mw-collapsible mw-collapsed" data-collapsetext="Hide Options" data-expandtext="Show Options" style="width:1050px">
 
<div class="mw-collapsible mw-collapsed" data-collapsetext="Hide Options" data-expandtext="Show Options" style="width:1050px">
Line 203: Line 246:
 
*'''app.email.routing.rules.default.team.IN''' - Set a default team for allocating Incidents on logging
 
*'''app.email.routing.rules.default.team.IN''' - Set a default team for allocating Incidents on logging
 
*'''app.email.routing.rules.default.team.SR''' - Set a default team for allocating Service Requests on logging
 
*'''app.email.routing.rules.default.team.SR''' - Set a default team for allocating Service Requests on logging
*'''app.email.routing.rules.unknownUsers.sendConfirmation''' - Send an email to users who are not recognised by their email address
+
*'''app.email.routing.rules.unknownUsers.sendConfirmation''' - Send an email to users who are not recognized by their email address
*'''app.email.routing.rules.unrecognised.email.template''' - The template used when sending emails to users who are not recognised by their email address
+
*'''app.email.routing.rules.unrecognised.email.template''' - The template used when sending emails to users who are not recognized by their email address
  
 
</div>
 
</div>
Line 218: Line 261:
 
:*Update an existing Service Request
 
:*Update an existing Service Request
  
Note: For ''logOrUpdateIncident'', ''logOrUpdateServiceRequest'' and ''updateRequest'' operations the '''Reference''' field is a mandatory parameter. Therefore for the rule to work with these operations you must have a valid regular expression specified in this field.
+
Note: For ''logOrUpdateIncident'', ''logOrUpdateServiceRequest'' and ''updateRequest'' operations the '''Reference''' field is a mandatory parameter. You will need to specify the Regex Syntax that matches your (call) reference in the email's '''Subject'''.  E.g. for the standard out-of-the-box reference use: '''[a-zA-Z]{2}[0-9]{8}'''.
 +
 
 +
To match the same Reference format in the Rule Expression use the following: '''REGEX_MATCH(subject, '.*\b[a-zA-Z]{2}[0-9]{8}\b.*')'''
 +
 
 
[[Category:Administration]]
 
[[Category:Administration]]
 +
-->
 +
[[Category:HDOC]]

Latest revision as of 19:56, 11 April 2024

This document can now be found at its new location in the Hornbill Document Library.

Hornbill Cloud