Specifics on Synced Tables and Syncing Intervals

Hi all!

So, here’s the use case that spurred some thinking… I have a HUGE, monster of a base that is a bit out of control. It contains many intricate rollups that drive some housekeeping/reporting processes. Now that Airtable Sync is available, I’m working on moving those high-overhead processes out to their own bases in the hopes of speeding up the “master” base.

One of those processes is a nightly report. The report is driven off of a view in the master base. I synced this view over to a new base, and set up a duplicate of the report. To test it, I’ve been letting it run the past few nights to compare the new version to the current version… and surprise surprise, they are not the same.

Current Report: Runs from source/master base, triggered by a zap that runs on a schedule - every night at 8PM a record is added to a table called [Automation Launcher]. This record triggers a script that aggregates the report data, spits out the HTML which is then picked up and emailed by Zapier.

New Report: Runs out of the synced base, triggered by an Airtable automation every night at 8PM - runs a script and spits out the report HTML onto a separate table - which is then picked up and emailed by Zapier.

Here’s where things get weird. Each night there are a couple more records on the Current Report than on the New Report. While investigating why this is, I realized that the records missing from the New Report are not appearing in the synced base until EXACTLY 8PM, every night - which happens to be the exact time that Zapier hits the source base as well as the exact time my new report automation runs.

Takeaways… My synced base is not actually syncing every 5 minutes (which I suppose isn’t totally unexpected, why update all night if no one is looking at it?). BUT something is forcing the base to sync at exactly 8PM. I’m going to change the time my new report runs to be different than the time Zapier hits the source base - I’m interested to see which one is triggering the sync.

Any insight would be greatly appreciated as well.

1 Like

I have no insight. But that’s so strange!

Yep, the documentation says every 5 minutes

Hopefully, someone else can chime in with some info!

1 Like

Similar to how the NOW() and TODAY() formula functions only update every 15 minutes, I’m wondering if the Airtable Sync happens every 5 minutes — but only if the base is currently open on someone’s computer?

If the base is closed, NOW() and TODAY() will only update every hour (and even then, they will only update if something in the base is dependent upon them updating for that particular hour).

So even though Airtable doesn’t specify this in their Sync FAQ’s, I wonder if there is a similar behavior happening here? I’m wondering if the sync doesn’t update in the background (i.e. when the base is closed) unless something is dependent upon it updating — such as the base being accessed via the API through Zapier or Integromat.

However, if it doesn’t start syncing until the base is accessed, then that’s already too late to get updated information to Zapier or Integromat.

So it seems like a quick workaround would be to schedule a “fake automation” to happen 5+ minutes prior to the REAL Zapier automation that you want to run. This “fake automation” could do something simple like search the database and the exit the automation, or simply create then delete a fake record. If my theory is correct, then this would trigger an Airtable Sync, and by the time the “real automation” kicks in, it should be fine.

I think that ultimately we would need to write Airtable Support to get them to chime in on this issue, and possibly have them update the Sync FAQs page — if this syncing behavior does actually operate similarly to the NOW() and TODAY() behavior.

2 Likes

@ScottWorld, you read my mind!

I believe by now I’m able to confidently say that the base is not syncing unless someone (or something) is accessing it. I also did wonder about NOW() and TODAY()… but I think I’m able to debunk that as the sync isn’t even happening every hour - in fact, it’s not happening at all if nothing is accessing the base.

I set up an automation to run at 7:55 PM in the synced base, and new records are now being added at exactly that time.

Additionally, when I popped into the synced base this morning, I saw a few more records be added and several others updated as the sync was triggered per my opening it.

I think I may write to Airtable support to see what the parameters around this actually are. I’m wondering if it has something to do with the size of the source base - maybe larger bases have slower sync intervals?

3 Likes

Wow, good sleuthing, @Neads_Admin!

I will write support as well — I think that their documentation on syncing should be updated to reflect when we can expect syncs to actually happen!

I just heard back from Airtable Support on this situation, and here is what they said:

When the base is inactive the base will not sync. The base will sync as soon as a user access the base. One workaround to keep the base active without a user active in the base is to create an automation set to trigger at a scheduled time (when users are not active on the base). The automation can perform a simple action like checking or unchecking a checkbox field on a record. Doing this should keep the base active, and thus syncing, without an active user. I’ve passed along the feedback to the team to have this information reflected on our support articles on Sync.

4 Likes

@ScottWorld thank you SO much for reaching out to support and clarifying this - I had it on my ever-growing list of things to do and hadn’t gotten to it yet (per usual). :innocent: also encouraged that we were able to reach the same conclusion :raised_hands:

2 Likes

Yay! You’re welcome! :cowboy_hat_face::raised_hands:

1 Like

This topic was solved and automatically closed 3 days after the last reply. New replies are no longer allowed.

@ScottWorld

I updated the support articles here, here, and here to call out the limitation and workaround.

Thanks for the callout!

5 Likes