Hello everyone,
I’ve been trying to use Airtable as a social media content planner for weeks now, and realizing this is pretty much one of the first use cases everyone thinks about when learning of automations. I finally reached a solution that works, although an experienced user might object that it is far from perfect in terms of optimization/number of runs.
I wanted to detail it here, to help any new user create their own planner, and hopefully to centralize tips and tricks and to get improvement advice from experience users ! Speaking of this, thank you so much @ScottWorld and @Justin_Barrett for your many posts all over the place, that helped a lot.
Before we continue, please keep in mind that this is the first time I’m using Integromat :winking_face: Again, I’m eager to see your advice if I’m doing something wrong !
First of all, I’m using Integromat’s default template for social media as a base for this project. The whole thing is pretty comprehensive, and I would recommend toying around with the provided example base to see how it works.
My issue was that I needed to send my posts at the correct time and date. As of today, AirTable’s automation trigger does not allow for a time match condition, and sadly, I couldn’t find a way for Integromat to check these conditions:
- If Date and time = NOW()
- If Status = Ready
What I did was this:
1: A formula field, called “Update at scheduled time”, that does exactly what it says:
IF({Scheduled Date},{Scheduled Date}<= DATEADD(NOW(),2,'hours'),"")
(Nota: As the NOW() function is GMT and I live in a GMT+2 area, replace the value by the according number for your timezone)
2: A “Go” checkbox field, with the following Airtable automation:
“When record updated {Update at scheduled time} AND when {Status} is “Ready”, checkbox value for said record = true” (returning true for a checkbox means ticking it).
3:
I used this “Go” field as a trigger field for the Watch Record module in Integromat, launching my scenario every time the box is ticked. This allows for the modification of the post without triggering Integromat, as opposed to a “Last Updated” or “Created time” field
Next steps
I would now like to build on this and optimize it. I am aware of the many steps that could be skipped with a formula, but I can’t get Integromat to compare its NOW() with {Scheduled Date} properly.
I tried formatting the dates and comparing them with this formula in Airtable:
IF({Scheduled Date},DATETIME_FORMAT({Scheduled Date}, "DD-MM-YYYY-HH-mm", ""))
And this formula in Integromat:
{Formatted Date} = formatDate(addHours(now;2);DD-MM-YYYY-HH-mm)
But it doesn’t seem to work, so I built this workaround.
I’d be glad to provide any details I might have missed in the comments, and I hope this helps !