Tutorial on how to integrate Airtable + Zapier + Facebook


#1

I have the integration set up already, my issues is how to tell Zapier to look at the publish date and don’t publish until then.

Example:

It is now 9:03 a.m. I have a post that needs to go live at 10:00 a.m. The way I have it set up right now, Zapier just publishes it the second I add it to Airtable; if its new, it grabs and publishes. I would like it to not push until 10:00 a.m.


#2

You should create a View that Filters the records by the Publish Date, and use “New record in View” as the trigger in Zapier.


#3

I went ahead and used default view and added a filter trigger in Zapier that reads “Go Live Date/Time” > Date/time Before > {{zap_meta_human_now}}

And that works IF the date is not today, but it appears to not be paying attention to the hour.

Example, when I test, it states all is fine with this date/time
Created - 2018-12-21 13:20
But my Go Live Date/Time is 2018-12-21T13:55

So, it should be seeing this one okay to post, as the time is not before the current time/hour.


#4

Why did you a different thing than the adviced? :thinking: Also, the Filter in Zapier is an Action, not a Trigger.

The Filter in Zapier is for letting pass the item if the conditions are met. With that condition, all records will pass, because when the Zap executes is always before the publish DateTime. Being precise, Zapier executes Zaps every 15 minutes with the free account, so the only records that will pass that condition are the ones that publish DateTime is between 2 executions of the Zap.

If you do the View approach, every Record will be published within the next 15 minutes when Zapier finds it.


#5

I agree with @Elias_Gomez_Sainz although there might be ways you could set this to be handled by creating wait timers in Zapier. Using filtered views in Airtable is more explicit and overall much nicer.

I suggest maybe adding a checkbox to your Airtable that says ‘Posted in Facebook’. That way you can set Zapier up to check it after it posts. And you’d be able to then filter these out of the Airtable view. (this isn’t necessary, but it’s helpful)


#6

I did it differently because the view that I created still showed all the posts, and Zapier was still publishing all of them. I am new to Airtable, so I am going off the instructions that were provided in this thread, and those were the results.


#7

If you’re new to Airtable, creating the proper filter in this case would be far from intuitive. Try this:

  1. I assume you have a Date field called something like {PubTime}. If not, create one; check the box to include timestamp and uncheck the box for ‘use UTC.’
  2. Create a Formula field called {Publish}. Define the formula as
    IS_AFTER(NOW(),pubTime)

Now, whenever anyone (‘anyone’ including Zapier) opens the table, NOW() will be recalculated and compared with {PubTime}. Whenever a {PubTime} is found that has already transpired — that is, where {PubTime} is earlier than NOW() — the value of {Publish} will be set to 1; otherwise, it will remain 0. Finally

  1. Create a new Grid view, and name it something like <ForZapier>. Define a filter for that view to show only records where {Publish} is equal to 1.
  2. Modify your Zap to trigger on ‘new record in Airtable view,’ using the <ForZapier> view.

Now, every 15 minutes, when Zapier polls Airtable, if it finds a record newly added to the <ForZapier> view, it will execute a trigger and [presumably] generate a new Facebook post. Any records already displayed will not trigger a second time.

If you wish, you can implement the failsafe suggested by @bdelanghe: Create a {PublishedInFacebook} Checkbox field and modify your Zap to set that field to 1 (that is, to check the box) once the post has successfully been added to Facebook. (Note that, depending on what else your Zap does, this may add another action to your Zap, counting against your monthly quota.)

Let me know if you have any problems getting this to run.


#8

Thank you so much for the help, I really do appreciate it. I was able to use W_Vann_Hall’s instructions to set everything up.

Final question about the checkbox.

I have a field titled “Post Status”. This is the one I would like Zapier to change from “Ready to Publish” to “Published”. How do I go about doing this in Zapier? Add a step at the end of the Zap, Airtable > Update Record

I’m stuck on
“Record (required)
Pick the Airtable record that you wish to update.” Add a Step or…


#9

For the record ID:

  1. Select ‘Use a Custom Value (advanced)’
  2. Under the ‘Custom Value for Record ID’ select ‘Step 1’
  3. Select ‘Record ID’

What are you are telling Zapier to do is take the record that triggered the zap and update it.