Refresh Airtable for NOW() to Update?

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!

1 Like

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.

3 Likes

@bitgiggy

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.)

1 Like

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?

Yes, that’s correct.

I created a beginner’s level Airtable training course that you get 30 days for free to watch here:

1 Like

@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?

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.

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.

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?

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?

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.

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.

@Brandon_Hattingh The way that I personally solve this problem is by using Make.com, which offers precise scheduling down to the minute.

@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.

What is the frequency that you want it to check for sending messages to Slack? Daily?

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

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.

1 Like

Thank you SO much @ScottWorld! Your saying it wasn’t straightforward also made me feel better :slight_smile:

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!

2 Likes

That’s great to hear! You’re welcome! :partying_face: