Help

Re: Specifics on Synced Tables and Syncing Intervals

Solved
Jump to Solution
4484 0
cancel
Showing results for 
Search instead for 
Did you mean: 
AlliAlosa
10 - Mercury
10 - Mercury

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 Solution

Accepted Solutions
ScottWorld
18 - Pluto
18 - Pluto

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

It seems like one of the most reliable ways to “wake up” the Airtable bases for syncing is to use Make’s advanced automations for Airtable, which come with a ton of customizable scheduling options. 

 

See Solution in Thread

13 Replies 13

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!

______________________________________
Hannah - On2Air.com - Automated Backups for Airtable

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.

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

Wow, good sleuthing, @AlliAlosa!

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!

ScottWorld
18 - Pluto
18 - Pluto

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

It seems like one of the most reliable ways to “wake up” the Airtable bases for syncing is to use Make’s advanced automations for Airtable, which come with a ton of customizable scheduling options. 

 

@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). :smiling_face_with_halo: also encouraged that we were able to reach the same conclusion :raised_hands:

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

Adam_Minich
Airtable Employee
Airtable Employee

@ScottWorld

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

Thanks for the callout!

Hi! Thank you very much for your precious intervention. I have a further question, thee is a precise synchronization time following the "Source Base" update?

My process is this:

- When the event occurs I send a webhook via Make
- The webhook triggers an automation inside the Source Base on Airtable (this automation looks up the last created record and updates a field by setting a checked field)

The problem is the time between this update on the "Source Base" and the synchronization on the "Sync Base"

I realized that up to 9 minutes pass and for this I had to insert 2 "Sleep" modules set to 300 seconds (screenshot attached) each on Make before looking for the new (synchronized) record on the "Sync Base".

Can you confirm that the process described is correct? I had read that the ""Sync Base" synchronization takes place within 5 minutes following the "Source Base" update.

Can you give me some information about it? Thank you very much and Happy New Year!


Rodolfo - RdMedia
RdMedia_srl
7 - App Architect
7 - App Architect

Hi! Thank you very much for your precious intervention. I have a further question, thee is a precise synchronization time following the "Source Base" update?

My process is this:

- When the event occurs I send a webhook via Make
- The webhook triggers an automation inside the Source Base on Airtable (this automation looks up the last created record and updates a field by setting a checked field)

The problem is the time between this update on the "Source Base" and the synchronization on the "Sync Base"

I realized that up to 9 minutes pass and for this I had to insert 2 "Sleep" modules set to 300 seconds (screenshot attached) each on Make before looking for the new (synchronized) record on the "Sync Base".

Can you confirm that the process described is correct? I had read that the ""Sync Base" synchronization takes place within 5 minutes following the "Source Base" update.


Rodolfo - RdMedia
David_Ayer
6 - Interface Innovator
6 - Interface Innovator

Ah. 

But (as I've commented elsewhere), this doesn't seem to answer the question: Can I script the syncing action?

A basic situation: I want to add a contact to my Contacts base, which syncs with a Donations base that's kept separate so not everyone can see it, and then add the donation in Donations.

But when I go to Donations, I have to manually sync or wait 5 minutes. I can do this myself, but my end user is not Airtable-fluent, so I wish the new contact would show up in the synced base right away.

I've follow this,


@ScottWorld wrote:

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.




but unfortunately, this does not work for me

My process is this:

- I've an automation on Make that every day at 9:50AM send a webhook to the synced Base to active the Base

this webhook will trigger an automation on the synced Base that update a checkbox of a record

Schermata 2023-04-16 alle 12.38.11.png
- Then at 10AM, after 10 minutes my scenario, every day, runs and so the Synced Base should be synced, but it doesn't...

Can you confirm that the process described is correct? 

Thanks!


Rodolfo - RdMedia
CamFields
5 - Automation Enthusiast
5 - Automation Enthusiast

Hey Everyone!

So I know this is an old thread, but I thought I would revive it and ask if anyone had luck with these solutions?

Our team has run into this same issue, and we have implemented the recommended fix above:

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.


This inactive delayed syncing is causing a lot of issues as we are routing client emails through the sync'd base and I would be really happy to hear anything anyone has learned! This is the only information I can dig up on this!

 

Thank You!