Smart Email Handling

ReadiNow has the ability to receive incoming emails with Inboxes and then process those emails with Workflows. There are many ways this can be used, for example:

  • automated responses to emails
  • automated support ticket creation from support emails
  • logging sales activities automatically
  • logging requests automatically
  • or even giving approvals via email

By way of example, the first four of these use cases can be covered in this article.

The assumed requirements are that incoming support emails need to get and automated response and  create a support ticket. For simplicity the update will not be covered, but typically the ticket number is put into the email subject of the response, and any further replies will allow the workflow to update the existing ticket provided the logic is captured.

Step 1: Create an Inbox

Start by creating an Inbox with the reply email set to the same email that will receive the initial message.

Create an Inbox

On saving, the incoming email address is shown in the Email Address field. In this example it will look similar to SupportInbox89257298@readinow.com .

Step 2: Email Redirection

This part is a corporate mail system configuration that must be done outside of ReadiNow. Make sure to configure mail redirection to redirect emails from the incoming address to this email address - it is the same as the reply address. In this example the email address is support@readinow.com and this mail must redirect to SupportInbox89257298@readinow.com .

Step 3: Workflow

A workflow must be created to handle the emails. 


Automated response and ticket creation

Here's a brief description of each activity.

Start

Set the input parameter to the Received Email definition.

Set the input parameter

Get Domain

This calculation retrieves part of the sender's email address to determine what company they are from.

let pos=charindex('@',[Input].[From]) 
select substring([Input].[From],pos+1,len([Input].[From])-pos-1)

Match Company

The company form has the company domain captured on it, and the company report has this domain in a column, so this activity uses the company report with a filter set to the variable from the previous activity. This way the loop will only need to iterate through one company at most.

Gateway

The gateway simply guards against the event where the domain does not match any existing companies.

For Each

This loops through the result set, which should contain only a single result. It is possible it may contain more than one, and that scenario is not covered in this article. It is recommended that additional safeguards be put in place to ensure only one ticket is created from one email.

Assign to Variable

This is a variable containing the matching company.

Create

Create the ticket! The ticket has a lookup to company, which uses the company variable set during the For Each loop. The object could be anything from a support incident or a sales activity.

Confirmation Email

Send a confirmation email, and put the ticket number in the subject to later support updating existing tickets. The field can be referenced from the Create activity as follows:

[Create.Record].[Ticket Number]

End

Nothing special here!

Step 4: The Trigger

Go back to the Inbox settings and click on the tab Workflows to Run. Click on the icon to link to an existing workflow and select the appropriate workflow.

Link to the email processing workflow

Test

Now check the records that have been created - and the email replies that are sent out.

Example sales activities captured from emails