Mar 26, 2021 12:56 AM
Hi everyone
I’m new to Airtable but loving it so far.
I’ve set up an automation to send a tweet at a scheduled date and time using the following formula I picked up from another post here.
IF(NOW()>{Posting Date},1,0)
Essentially, if the result of NOW() is later than my scheduled posting date/time, the automation will happen.
Do I need to refresh my Airtable for NOW() to update like I would in Excel?
I had set up a scheduled Tweet, but I noticed it hadn’t posted, but it did immediately once I went back into the Airtable base.
Thanks all!
Mar 26, 2021 05:57 AM
NOW
does not update continuously. According to the formula field reference
This function updates when the formula is recalculated, when a base is loaded, or otherwise roughly every 15 minutes when a base is open. If the base is closed, it will update approximately every hour only when the base has time-dependent automation triggers or actions, or sync dependencies.
Mar 26, 2021 07:39 AM
Airtable has now added scheduling into Automations, and I would highly recommend completely rebuilding your Automation from scratch using this new scheduling feature.
Their new scheduling feature is “mostly” reliable & consistent (97% reliable), but unfortunately, their NOW() function is very unreliable & inconsistent.
Even though their support article mentions this NOW() inconsistency, my real-world experiences have been significantly worse than what they outline:
When I use the NOW() function, it often doesn’t refresh for 75 minutes or longer when the base is closed, and it often completely skips over days altogether, meaning that it often doesn’t refresh for 48 hours.
So for the most reliability that you can get out of Airtable natively, I would rebuild with the scheduling trigger.
However, for 100% reliability, I would suggest moving to a professional automation platform like Integromat. (Note that I am a professional Airtable consultant and a Registered Integromat Partner, and the Integromat link contains my personal referral code.)
Mar 26, 2021 03:34 PM
Thanks, @ScottWorld, very detailed explanation.
I assume the scheduling you refer to is the automation mentioned here?
I really love Airtable, but I can’t help thinking I’m only scratching the surface. Do you have any recommendations on where I could upskill myself?
Mar 26, 2021 05:39 PM
Yes, that’s correct.
I created a beginner’s level Airtable training course that you get 30 days for free to watch here:
Sep 13, 2021 12:08 AM
@ScottWorld
Thank you for the explanation.
My problem is that I want to post to a FB page on times I enter in the record itself. Therefore, the scheduling option seems not to work for me because the “One Time” option in scheduling allows me only to enter a specific time. But I want this time to be read from the record itself.
I tried the Now() function in different scenarios, but it failed me.
Is there a way to accomplish my goal?
Sep 13, 2021 09:59 PM
Assuming you already figured out the system for calculating those times inside your base? Should be easy, just do a when-record-matches-condition automation instead. You might just want to run it a few times per day to check for new times to parse, depending on what exactly you’re trying to do and your base design.
Sep 13, 2021 11:56 PM
Thank you for your reply.
My problem seems to be in the now() function and its irregular update pattern.
Therefore, I am not able to use it to compare the date and time field I have with the now() function to trigger the condition.
Sep 14, 2021 02:23 AM
I tried the following method: In my table I have the following 2 fields:
Post_Date: I set here the date and time when I want my record to be posted on FB page.
Post_Time_Diff: is a formula field implementing the following formula
DATETIME_DIFF(NOW(),{Post_Date},‘minutes’)
The condition I am trying to use in the automation is like this:
When Post_Time_Diff >= 0
So, if the Post_Date is after or equal to now(), the post should be created.
I have 2 records in my table, and the post_time_diff field for them shows 170 and 50 minutes respectively. Yet, nothing was posted so far in my FB Page.
Am I doing something wrong? Where is the hiccup?
Sep 14, 2021 06:02 AM
Why not just create a view filtering out the records that are in the natural numbers? Then have your automation run with a when-a-record-enters view criteria or have it on periodically.
Oh, and are you sure your automation is on?
Sep 14, 2021 06:10 AM
There really isn’t a way to get NOW() to update more predictably.
This might be because an automation is not triggered if the record meets the condition before the automation is turned on. The record has to switch from not meeting the condition to meeting to condition while the automation is active.
Apr 26, 2022 02:04 AM
Has anyone got a solution to this?
I also need to check a box when the start time is equal to the current time of day - 15mins.
I have everything working, the issue is the irregularity of a formula fields updating.
Does anyone know how to keep the field updated, at least every 5 mins?
I could have arbitrary automations that just updates every record every 5 minutes, which will update the formula field.
Apr 26, 2022 05:04 AM
@Brandon_Hattingh The way that I personally solve this problem is by using Make.com, which offers precise scheduling down to the minute.
Jul 27, 2022 06:49 AM
@ScottWorld I’ve read this thread about 6 times now and am having trouble figuring out how to get the Make.com scenario to run properly. NOTE: I’m not using the airtable automation for scheduling as I need to run batch updates but I don’t want to have to manually run a batch update app.
My ultimate need is when the {date} is NOW- I need Airtable to send a message to Slack (instead of manually scheduling individual slack messages to post)
I’ve tried it a few different ways. Any chance you could help?
I’ve got a Date field in Airtable with a Date and precise time. I had set up the NOW formula and a True/false IF formula in Airtable to run if {date}=NOW, but having the not refreshing without a human working in the base problem.
In Make.com- I tried Search airtable records if Date is not empty NOT({Date}=‘’) then update the date record. I tried just setting a scenario in Make to run NOW so I can do a formula around it in Airtable, but it only ran in a few records or 1 record instead of all records in Airtable.
I think maybe the issue I’m having is understanding Make.com and how to set the record ID to the previously searched record.
Any help is appreciated as a solo team of 1 trying to optimize time with automations but spending more time trying to figure that out than it would be just to manually do things.
Jul 27, 2022 08:37 AM
What is the frequency that you want it to check for sending messages to Slack? Daily?
Jul 27, 2022 10:27 AM
Great question. We run weekend events, so we schedule it out months in advance, but the messages need to be sent out over the course of 4 days, typically every 30mins-an hour
Jul 27, 2022 12:00 PM
Hmmm… there’s not a super-straightforward way of approaching this. I would probably recommend doing it hourly, because that will be the easiest to work with in Airtable.
The first thing you would need to do is create a dummy automation that triggers once an hour at the top of the hour and does ANYTHING. It could just search for records, and that’s it. You just want something to trigger at the top of the hour to “wake up your base” once an hour.
Then, you would need to create a formula in Airtable that compares the current date & current hour to your date field’s date & hour.
Something like this:
IS_SAME(TODAY(), {Your Date Field}, 'Hour')
That will yield the number 1 if the current hour is now.
Then, you would need to create a 2nd automation that is set to trigger whenever that formula field contains the number 1.
Jul 27, 2022 04:08 PM
Thank you SO much @ScottWorld! Your saying it wasn’t straightforward also made me feel better :slightly_smiling_face:
So I actually had a solution, but what I needed was the dummy automation to wake up the base. I thought I had to update the records themselves for it to “wake up” so I was looking for automations to find the date records and update the date records with +1 second etc.
I’d already configured the formula to run TONOW() so it told me the difference in time between my scheduled date and time and the current date and time and an automation of “when that formula = 1 min” send to slack. But the Day/ hour formula you provided worked as well.
It was just missing the “wake up” automation and everything is working now. THANK YOU for saving me more headache spinning my wheels!
Jul 27, 2022 04:28 PM
That’s great to hear! You’re welcome! :partying_face: