Nesting email rules and actions

Latest builds of v3.2 provides new capabilities such as nesting rules or actions. Make sure you upgrade the build to the latest before you proceed to read through this blog post.

This blog post explores how you can nest rules or nest actions like a PRO.

Nesting rules

Preface – Processing emails with Global filters offers the ability to save emails or attachments into different folders based on some criteria and take actions on them.

You do not need to learn about nesting (described here) for most common cases. Nesting is only useful for advanced cases.

If you are not familiar yet with the Global filters, we have a great blog post here that should help you get started.

Proceed to read on only if you are familiar with how Global filters work.

STOP here and read through this blog post to familiarize yourself with Global filters

This post is about how nesting rules can come in handy when you want to cover some advanced scenarios. Some examples where this can be useful include:

  • When no rules match for a specific email, perform certain actions such as move emails to an error folder that you can take a look at.
  • When you may have multiple attachments in an email each of which have different possible actions.
  • When you want to share a set of actions or email filters amongst many rules so you don’t have to re-type them all over again.

The global filters tab in the PRO versions offer you the ability to define three types of rule filters: an Email Filter, a Global Rule or a Negative Rule, Shared Action. The Rule Type dropdown (shown below) enables you to select the type of the rule.

Read on to explore the different rule types below by using an example.

Tutorial with an Example….

Example: Consider an example where we want to target all emails that have the term “Invoice ID” in the Subject. We also want to move the .pdf’s in such emails to a PDF prefixed folder and .doc’s in such emails to another folder prefixed by doc. Also, if no pdf or doc’s are present, we’ll move the email to an “Issues” folder. And lastly we want to use a Shared Action to save the doc/pdf related email header data (from/to/subject etc.) to a database.

Rule types in an email rule
Different Rule Type’s in a Global filter rule

Let’s start by creating a new Email Filter.

Go to the Global filters tab and Add new, in the popup select the Rule Type as shown above and change it to Email Filter if it’s not already selected.

Email Filter: This enables you to instruct the program to filter processing to either a specific email or to target a group of emails matching the filters you specify here. This rule does not, in and of itself, enable you to save emails or attachments to folders or even define actions that you can take after saving files. Those sections will show up disabled as a result.

Read on to see how Email Filters can have Global Rules as child rules…
An Email Filter that matches emails with the Subject containing “Invoice ID”

You can then save this rule and it’ll show up in the Global filters tab as shown below.

Global filters tab showing one Email Filter

Global Rule: This type of rule enables you to specify which attachments you want to filter down to and where to save them. It also enables you to define actions that you can take after saving the file. You can define a Global Rule as a standalone rule (at the root level) or as a child of an Email Filter.

Read on to see how you can setup multiple Global Rule‘s to save files to different folders

To create a Global Rule as a child of an Email Filter, right click on the email filter and add a new Global rule as shown below.

Add a new Global Rule as a child of the Email Filter defined earlier

Let’s have this rule save the email attachments that are PDFs to a “PDF” folder. This has a filter of Attachment count greater than and a filename option of pdf.

Global Rule that saves PDFs to a prefixed folder pdf\ as highlighted

Since this is a “child rule” of the Email Filter we defined above, the Global Rule will only run for emails with a subject that contains “Invoice ID” that we defined earlier. We have also setup a Mark as read action as shown above. You can add any other action like Move email to folder to move the email to a different folder if you want.

Global filters showing Global Rule that’s a child of the Email Filter

Now, let’s define another Global Rule that saves .doc or .docx’s into a different folder. Right click again on the Email Filter in the Global filters tab and select Add new -> Global Rule. Setup the Global Rule as shown below.

Global Rule: Save docx or doc extension attachments to a doc\ prefixed folder

At this point you should see Global filters tab as shown below (Email Filter being the parent with two child Global Rules).

Negative Rule: This type of rule lets you specify “catch-all” actions when none of the Global Rules match. To do this, we will right click on the Email Filter again and select Add new -> Negative Rule. This type of rule doesn’t offer you the ability to save anything (this will show up disabled).

Read on how to setup a Negative Rule under an Email Filter as a “catch-all” rule
Adding a Negative Rule

Let’s now configure the Negative Rule to copy the email to the “Issues” mailbox folder.

If no Global Rule‘s match for this Email Filter, move email to the ‘Issues’ mailbox folder

Lastly, lets create a Shared Action. Go to the Global filters tab and right click anywhere (not on the Email Filter like we did earlier as Shared Action will show up disabled if you do that). Then select Add new -> Shared Action.

Shared Action: This type of rule has no save options enabled but will have additional filters or actions that you can define. These actions are those that you want to share amongst many Global Rules.

Read on to see how to use a Shared Action to save email data to a DB

We’ll create a new Shared Action as shown below.

A Shared Action to save email data to a database

To configure the program to save to a database, refer to this blog post. We won’t show that here.

Now let’s add this Shared Action to the Global Rules we defined earlier. Multi-select the two rules in the filter tab and then right click and select Add ‘Shared Action’ to selected option as shown below.

Add a Shared Action to selected Global Rule‘s

In the popup that follows, select the shared action we called “Save emails to a database” and click OK.

That’s it.

Summary of the final setup for the example

Now we have setup rules to process the emails with the Invoice ID in the Subject with the Email Filter. Then configured child Global Rules to save PDF and DOC attachments to different folders. We also defined a Negative Rule that moves the email to an ‘Issues’ folder when no attachment arrives. Lastly, we configured a Shared Action for the Global Rules to save the email data to a database.

Nesting rules are a great way to take advanced actions

Nesting actions

Similarly you can nest actions inside a rule as shown below after saving the attachment.

The below shows how you can unzip a file, do a document conversion and then save to a database and run a command line operation.

automate email actions: unzip_files
Nest actions inside a Global Rule or a Shared Action

For more on this, read this blog post here.

Automate emails and integrate applications

This post explores how to extract data from emails, automate backend processes and hence reduce repetitive tasks. It also provides an overview of how to integrate LOB applications using some of the solutions provided on this site.

Automate email with attachments

What options do you have when it comes to automating emails?

Mail Attachment Downloader PRO versions offer a cost-effective solution to automating emails within your enterprise running as a service on a server or in the cloud through Windows Azure (PRO Server version required).

The way this is achieved is using rules for emails. You can setup many rules for the software based on your needs via the UI. These rules can be run for a single email account or across many accounts simultaneously.

Scheduled processing

Mail Attachment Downloader PRO Server lets you process incoming email on a scheduled frequency in the background 24×7 unattended as a Windows service.

It can recover from system restarts automatically, runs in the background even when no user is logged on and can also data center failure if a hot-standby is used to do so.

It can also be run in the cloud using Windows Azure if needed.

Ordering of rules

The rules defined in the program are run top-down for each email and attachment. The first matching rule is used to download any emails or attachments within the email. If no rules are defined, then all emails will be downloaded.

Phases of rule processing

The software breaks down processing emails into the following phases for each rule as shown.

email processing


  • Search and Filter phase: For each rule, you can specify which emails or attachments need to be processed by including search filters using the Add button -> Filters
  • Save files: Specify the format and location of where you want any files to be processed to be saved. This could be a temporary location if you do not want this data permanently stored. This could also include a file share (use UNC path).
  • Process email and files: This last phase is used to run the automatic processing and includes many different actions as shown below. These can include nested actions for example, unzip a file, decrypt a PDF, extract data and save the information to a database.

email actions

Multiple email accounts and filters

Once these are setup for a rule, you can enter many such rules. If you have multiple email accounts to process, you can restrict a rule to apply to only one email account if needed by using an account filter (Add -> Filters -> Account email in the rule).

SDK or API for email integration and processing

We now offer an SDK or plugin API to integrate with your backend systems in a more seamless manner. Contact us for more.

Common uses

  • Archive emails for further processing
  • Receive invoice data via email and need to save data for invoice processing
  • Save emails and integrate with ERP, EDI, eDMS, eCMS, document management systems or content management systems, eInvoicing invoicing software, Salesforce or medical systems
  • Use our PRO SDK (Software Development Kit) to integrate directly with your LOB applications.
  • Save emails or Excel or CSV attachments sent via email to an in-house or cloud database for further processing
  • Convert emails to PDFs or multi-page TIFF or over 50+ formats or merge/split PDFs including attachments to hand-off to other document management systems or medical software
  • Run custom in-house scripts after extracting attachments
  • Auto-respond or send email notifications when certain types of emails or attachments arrive and then take other actions

Conclusion: Automate emails, process and integrate applications

We have provided a brief overview of how to automate data from emails within your enterprise using an on-prem service or a cloud-based self-hosted service using Windows Azure using Mail Attachment Downloader PRO.

If you have a specific use-case that is not covered let us know or if you need help integrating your backend systems we may be able to offer consultation services to do so.

Further reading

Some interesting how-to links and posts for further exploration:

Contact us

Contact us if you have any questions, suggestions about the functionality described in this article.

Nested email actions: unzip, convert or decrypt PDF and run a script

Setup email actions such as unzipping an email attachment, converting the email attachment to pdf and running a script easily with Mail Attachment Downloader PRO Server.

This post will show you how to setup a rule to Unzip a file, then convert the unzipped .docx or decrypt a .pdf and then run a script.

In the Actions section, do the following:

  1. Select ‘After saving attachment‘ from the tree view on the left. Note that even though this says ‘After saving attachment‘, you can run actions on the body of the email as well which will be downloaded as an attachment when you click on the ‘Save email text’ checkbox.
  2. Click on Add button -> After saving attachment -> Unzip files and select any options as shown below. You can enter which specific files you want to unzip in the box which can also include wildcards or regular expressions. If you have multiple, separate each file or wildcard by a new line.automate email actions: unzip_files
  3. Select Unzip files from the tree view on the left. This is necessary to create a sub action under unzip files so every unzipped file runs the remaining action. You can also specify which files to unzip in the previous step. Now click on Add -> After saving attachment ->  Document conversion. Fill in the conversion details by clicking on the Add Conversion button. Note: You can also choose to decrypt the unzipped file if the source file was a PDF by providing the password to decrypt the file.automate email actions: madpro3_convert
  4. Select Document conversion from the tree view on the left. Then Add -> After saving attachment -> Run command line. Enter details to run a command line. In this case we are running a .bat file with the filename of the converted file – {FILENAMEEXT} in the screenshot below now represents the converted filename now from the previous step and not the original saved filename. automate email actions: madpro3_pda_runbat

That’s it.

If you have questions or need additional actions, please contact us and we can help assess feasibility.