One of the most popular ways to automate sendings in InputKit is with Outlook calendar. Our clients usually want to follow up after a certain type of meeting, whether it's a final project delivery or any other type of important customer touch point.

The way to do that is with Zapier. In this guide, you'll learn how to automatically send a follow-up sequence by email to the customer 1 hour after any specific event ends.

Note: To do this, you'll need a Zapier account, which is around $20 USD/month.


In order for this automation to work, you must follow these 3 restrictions

1. The calendar event that will trigger the email must contain this code in its title:

(iii)


This is important because you want to tell Zapier which calendar event should trigger the action. You probably don't want all of your events to trigger it. So add this code only to the events you want to trigger the action.

If you're familiar with javascript, you'll be able to edit that code.

2. The calendar event that will trigger the email must contains the customer's email address inside its description.

[email protected]

It the description contains multiple email addresses, Zapier will use only the first one.

3. The calendar event that will trigger the email must contains the customer's full name, between parentheses inside its description.
For example:

(John Doe)


1. Open a Zapier account (if not already done)

a) Create a Zapier account here: https://zapier.com/sign-up/
b) Use this link to access to InputKit app inside Zapier
c) Click the "Accept Invite & Build a Zap" button (see image below)

2. Create the Zap and connect to Outlook

a) As the trigger step, search for 'Office 365'

b) Select 'Updated Event'. That means Zapier will listen for any updated event in your outlook calendar, which is what you want. In other words, anytime an event in your calendar is updated, Zapier will read it and send a sequence by email to the customer's email address in that event description.

You could also use the 'New Event', which will be triggered only once at the moment the event is triggered. What we don't like about this is that if the event was already created and that you then add the customer's information to it later, the action will not get triggered.

c) Connect your Office 365 account and choose the right calendar

3. Add the first action step

a) Click 'Add a step'

b) Search for 'Code by Zapier Action' and select that

c) Select 'Run Javascript' (don't worry, won't don't need to understand Javascript)

d) In the Input Data section, copy the image below:

date --> End
description --> Body Preview
title --> Subject

e) In the code section, copy+paste the javascript code below.

const title = inputData.title;

const description = inputData.description;


// This is used to filter events based on a unique code

const uniqueCode = '(iii)';

var isValid = false;

const hasCode = ((title && title.indexOf(uniqueCode) > -1));

const oneHour = 60*60*1000;

function extractEmails (text) {

  if(text){

    const emails = text.match(/([a-zA-Z0-9._-][email protected][a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);

    if(emails){

      var email = emails[0];

      if(!email || email === 'undefined' || email === ''){

        email = null;

      }

      return email;

    }else{

      return null;

    }

  }else{

    return null;

  }

}

function formatDate (date) {

  if(date){

    return date.toISOString().slice(0, 19).replace('T', ' ');

  }else{

    return null;

  }

}

function extractName (text) {

  if(text){

    return text.substring(

      text.lastIndexOf("(") + 1,

      text.lastIndexOf(")")

    );

  } else {

    return null;

  }

}

function capitalizeFirstLetter(string) {

  if(string){

    var name = string.toLowerCase();

    string.charAt(0).toUpperCase() + string.slice(1);

    return capitalizeFirstLetter(name);

  }else{

    return null;

  }

}

var customerName = extractName(description);

var customerEmail = extractEmails(description);

var dateToSend = new Date(inputData.date);


// Send the email 1 hour after the event ends

dateToSend.setTime(dateToSend.getTime() + oneHour);

dateToSend = formatDate(dateToSend);

if(customerEmail && hasCode && customerName){

  isValid = true;

}

output = [{isValid, customerEmail, customerName, dateToSend}];


f) Click 'Continue' and then 'Test this step'.  You should see something like this:

4. Add the filter step

This step will check if the event respects the criteria to continue. (contains the special code (iii), contains the customer's email address name. If it does, it will continue. Otherwise, it will stop there.


a) Choose the action step 'Filter'

b) Choose the 'Is Valid' option under 'Run Javascript'. Then, choose '(Boolean) is true'

c) Click 'Test and Continue'


5. Add the Delay step

a) Choose the action step 'Delay'

b) Select the 'Delay Until' option

This will let you delay the sending until the desired date.

c) Select 'Date To Send' under 'Run Javascript'

d) Choose 'Always Continue' for the second option.

e) Click 'Continue'

6. Add the InputKit step

a) Add the action step 'InputKit' (use the latest version)

b) Select the 'Send a Sequence by Email' action

c) Connect your InputKit account

d) Choose the sequence you want to send to those customers

e) For the customer email address, select 'Customer Email' under 'Run Javascript'

f) For the customer name, select 'Customer Name' under 'Run Javascript'

g) Click Continue

h) Click 'Send test to InputKit'
You should see a success message like below


Click 'Finish' and you're done!

Your zap should look something like this: 




If something is not working or if you need any help with this process, feel free to reach out to us, we'll be glad to help!

Did this answer your question?