Best answer

Trigger an Event if Something Happens Between Two Dates


Userlevel 4
Badge

Hey, everyone! A new question for the community—

In an email that’s part of my drip sequence (via Mailchimp) after leads opt-in (via Leadpages), I send an email where I say “Do this in the next 48 hours and I’ll send you X for free.” Where “Do this” is clicking on a link in the email and submitting a Typeform with some information.

So, I’m looking to set up a zap that would allow me to take:

  1. Info A: The date they submitted the Leadpages form (opted in) OR the date they opened that email in my automation sequence (this trigger doesn’t appear possible because Zapier isn’t pulling in any emails from automation campaigns—this is a BUMMER!).
  2. And Info B: The date they submit the Typform.
  3. And then, Filter before performing the next step (sending a campaign in Mailchimp to deliver on their free resource)—by determining if the time between Info A and Info B is within 48 hours.

I was assuming this would look something like:

  1. Trigger: Mailchimp > Email Opened > 2nd Email in my opt-in automation Sent (again, would love to request that Zapier/Mailchimp allow this; this just plain doesn’t work right now).
  2. And, Typeform: Form Submitted
  3. Then, Get Date from Mailchimp (Info A)
  4. And, Get Date from Typeform (Info B)
  5. Filter: If [Info B] is within [48 hours] of [Info B]
  6. Then, Mailchimp > Send Campaign

Is there some easier way to do this that I’m not seeing? Or, is this just not a thing that’s possible with Zapier as it stands?

Thanks, everyone!

icon

Best answer by andywingrave 8 August 2020, 11:45

View original

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

10 replies

Userlevel 7
Badge +9

Heyo! You need to store and combine the data somewhere in order to achieve what you want to do here.

May I recommend Airtable as the source of this. 

  • Trigger: Mailchimp > Email Opened > 2nd Email in my opt-in automation Sent (again, would love to request that Zapier/Mailchimp allow this; this just plain doesn’t work right now)

> Zap to store user in Airtable (and Mailchimp)

  • And, Typeform: Form Submitted

> Zap to look user up in Airtable

and Then, Get Date from Mailchimp (Info A)

> Same zap compare dates

> Same zap - Add to Mailchimp campaign

Userlevel 4
Badge

@andywingrave Thanks so much!

Let me see if I’m following you correctly, as I’m having a bit of a hard time understanding everything you mentioned. 

(Note that I’ve adjusted for what Zapier actually allows because it doesn’t allow for triggering from a specific email in a Mailchimp automation sequence, as far as I can tell. Going to put in this feature request shortly.) —


Zap #1: Opt-In from Leadpages

  1. Trigger: Leadpages > New Form Submission
    (Note: Leadpages automatically adds the user to my Mailchimp Audience)
     
  2. Then Do This: Format > Date/Time (pulls strange date formatting from Leadpages and changes to January 22 2006 12:04:05 format).
    (Note: This might not be necessary?)
     
  3. Then Do This: AirTable > Create Record in AirTable
    (Record contains: First Name, Email Address, Opt-In Date (date formatted from Step #2).)

Zap #2: Typeform Submitted > Happens w/in 48 Hours of Zap #1 > Sent Email

  1. Trigger: Typeform > New Entry
    (Record contains: Email Address + attachment I need from them).
     
  2. Then Do This: Format > Date/Time (pulls different date formatting from Typeform and changes to January 22 2006 12:04:05 format, so that it matches the formatting in, which I think should allow it to appropriately compare. Again, this might not be necessary, and I’d love to be able to remove the step here and in the first zap, to save on # of tasks I’m paying for).
     
  3. I start getting a bit lost here. How do I set up a zap to compare the Date from Zap #1 and Zap #2? I’m assuming at least one step would be:
    Filter: Only proceed from here if <Date from Zap #1 is within 48 hours of Zap #2 Date).
    But, I don’t know if I have to build in additional tasks in between that again do a “Find/Search” for both dates and THEN compares the two in a Filter task?
     
  4. Then Do This: Mailchimp > Add Tag
    And, my automation email campaign is set up to trigger when someone is added to that Tag, so this would, therefore, send them the email I want to send.


So, I think it’s around Step #3 of Zap #2 that I get lost if I’m tracking you correctly. Any additional guidance would be appreciated!

 

Userlevel 7
Badge +9

Yep - You’re mostly there. On step 3 of zap 2, you actually want to find the record in airtable via the email, and update a date field of the typeform submission.

You can then use a formula field in Airtable to calculate the number of hours between the dates 

(FYI - When entering dates into Airtable, you don’t really need to format them - Airtable’s smart enough to work it out)

The formula you need will be something like:

DATETIME_DIFF({First Date Column Name},{Typeform date Column Name},‘hours’)

Then...using the returned value here, you can filter based on the hours between the two dates… and move onto step 4

Userlevel 4
Badge

@andywingrave —

Okay, I’m getting somewhere! :)

I have that field configured in AirTable (with the formula), and it correctly calculates the difference in time between the Opt-In Date (from Leadpages form submission) field and my Typeform field (from Typeform form submission).

Here’s where it’s not working now, it seems:
 

Zap #2: Typeform Submitted > Happens w/in 48 Hours of Zap #1 > Sent Email

  • Trigger: Typeform > New Form Submitted (great!)
  • Then: Find Record in AirTable, search value = Email Address (great!)
  • Then: Update Record in AirTable (to put Typeform submission date/time into appropriate field) — Not working correctly!
    It asks me to define which record it would like me to update, but the record options look like this:

    No clue which is the one related to the Find Record feature I just searched for. I tried just selecting the most recent and it updated the field with some very strange info (which resulted in my formula of time difference being “0”).

  • Then: Find Record in AirTable: Search Value = “Hours Between” column (the number of the total hours between when they opted in and when they submitted the Typeform.

  • Then: Filter - Only continue if: 
    I seem to be having an issue here, too. Might be because the prior step isn’t working correctly. But, the only options it gives me from the prior step look like this, and not the “24” (or, total number of hours calculated between events).
     

     

  • • Then: Add subscriber to Tag in Mailchimp (great! will work fine once the rest is solved!)

 

AHHHHH! :)

Userlevel 7
Badge +9

Then: Update Record in AirTable (to put Typeform submission date/time into appropriate field) — Not working correctly!
It asks me to define which record it would like me to update, but the record options look like this:

 

> Here you need a step before-hand to find the record you’re looking for. You should search by email. 

 

Once this is fixed, it should work. 

 

Happy to hop on a quick call to help you figure this out too, as you are very close. Feel free to PM to schedule

Userlevel 7
Badge +9

Ah I see. A couple of things...

  1. You might need to create a field in Airtable called "Record ID" - Using the formula RECORD_ID()
  2. Then you want to use this value in the custom section of the screenshot you shared

     

Userlevel 4
Badge

Okay, DM’ing to schedule a call. Just not working :/

Userlevel 7
Badge +9

Solved outside of thread. Solution was to use the return value of the found record

Userlevel 4
Badge

@andywingrave Unfortunately, I think this still isn’t working after getting off the phone. I’m leaving it alone for now and will come back to it in the next few days when my head doesn’t hurt :)

Userlevel 7
Badge +9

Haha! The main thing you need to do next is remove the last task in your zap (where it gets sent to Mailchimp) - You need to create a new zap for this

===

New zap

Create a view to trigger the zap behaviours (hours between submissions >48, for example)

Create a trigger for when an item comes into that view

Send the user’s details to Mailchimp