How to sync 50 bases into one table?


New to Airable here! We are a non profit with almost 50 employees running many projects at the same time and we are considering moving our timesheets (used to compile time per task per project per person) to Airtable.

So far, as a test, this is the base design we thought of :

  • An individual base for each person, where they can enter their own data and conditions are calculated automatically (vacation left, sick days left, etc.) and not see all the other’s - each of these bases is synced with a « Projects » base, so the information can be updated easily.

  • Compilation of all the data in one base to get an overview of time spent on each project.

Since for now, there is a limit of 20 sync tables with the Pro plan, what would be an easy way to sync 50 sources to one table? Or would the solution would be to go with a completely different base design? We would really like each person to have their own base to avoid mistakes though.

Thanks in advance,

Welcome to the community, @MarieHC! :smiley: Here are some options that come to mind:

  • You could create a form on the master table that users fill out to record their time on specific projects. This avoids syncing altogether, and the form could be added using the Embed app to each user’s base for easy access. However, Airtable’s form view limitations will require you to use some workarounds so that each user can be identified when submitting the form (assuming that you don’t want to have them just pick their name from a list when recording their time). Third-party form tools could also be used, but the ease of getting the data from the form to Airtable will vary depending on which service you choose.
  • You could use a service like Pory, miniExtensions, etc. to create a user portal and have users enter the data that way (I’ve never done this myself, so can’t talk about the work/cost required to go this route)
  • A script could be written that runs in a Scripting app. This could ask the user for the relevant info, then send the data to the main base in one of the following ways:
    • Via a webhook (easiest to set up, but will use a lot of automation runs in the receiving base)
    • Via the REST API (avoids automations, but it exposes your account’s API key if anyone opens the script)
    • By setting up a “bridge” script on a service like Your script would call this bridge script with the data, and that bridge script would make the REST API call to the main base (keeps your API key hidden, but more work to set up)