Two-way sync Google Sheets and Airtable with Integromat
Vložit
- čas přidán 27. 08. 2024
- Tutorial on how to create simple two-way sync between Google Sheets and Airtable via Integromat.
Integromat: rebrand.ly/try...
Airtable: rebrand.ly/get...
The first part of this video can be found here:
• Sync Google Sheets to ...
Business Automated is an independent automation consultancy. If you would like to request custom automation for your business, visit us at www.business-a...
If you like our tutorials - buy us a coffee☕: www.buymeacoff...
Follow us on Twitter🐦: / bautomated
Read more on Medium 💆♂️: / business-automated
#airtable #GoogleSheets #sync
You are THE MAN. Thank you. EXACTLY what I needed.
Glad I could help!
Thanks bro, very straight forward and true to your channel. Subscribed!
🙏🙏🙏
Thanks a lot !!!
Glad it helped!
Thank you so much 🙌
Glad you liked it!
Would this work for Notion Sheets?
Yes same approach with Make would work for Notion and sheets
Can we do the same with Google Contacts??
Yes
have you a good idea to make bulk synch with integromat? means alway copy a whole table every night i.e.
Sync to where? Another base? To excel?
@@BusinessAutomatedTutorials to gsheet I.e. currently i always see just the step by step iterations
@@holgerwinkelmann6219 using Integromat you will get data row by row. 2 other options could be 1) use service called MiniExtensions, they have automated CSV download per table. 2) use scripting app to download all table records, convert to CSV and send to a webhook as a file
@@holgerwinkelmann6219 wait.. Option 3 airtable + integromat - search all records in a table and use aggregate text module to create a CSV file...
What if I want to skip syncing rows that contains specific values?
Also, I'm having issues with Integromat moving data to sheets in a different order than in Airtable. Any idea how to preserve the same row order?
You can add a filter in between the modules to exclude specific values.
The order of rows sent from Airtable can be changed based on a specific view. If you select to use a specific view ( which e.g. has a descending filter), data in integromat will flow in that order(starting with the top of Airtable view).
hey team! I have one question. every change that is created in Sheets is manual, and every single one is "listened" by the webhook, triggering the workflow. But, what happens if you automate the cell value change through an appScript? I'm asking the question because I tried to use this scenario with an automation starting from Google Sheets (it uploaded an entire column every minute), and the webhook didn't hear it, nor was the scenario triggered to action. Do you have any tips on how to "batch update" an entire column (max 20k rows at a time) and let that update copy to Airtable? Thanks
Hi the webhook is triggered via Integromat app added to your Google sheet. Might be that if you modify the Sheet via appscript - there will be no trigger to Airtable.
The solution I would see is having additional column next to your data column as a flag "New data" and run a search module in Integromat on schedule if "New data" upload to Airtable and clear the flag.
@@BusinessAutomatedTutorials Thanks! I'll try that
How do ;you prevent getting caught in an endless loop if you want to update a reconrd on Google Sheet when a record is updated in Airtable and vice versa? It will just keep looping endlessly?
Great question! The proper IT way would be to compare the "last modified" date between destination and incoming record. In our case we are lucky, because Integromat Google Sheet App module, watches only for changes made by human, changes made by API, do not trigger it so we do not end up in a circle.
I need help! What about this scenario:
if I delete a row in airtable then the row is deleted in google sheets.
I can't seem to make use of the delete row option in excel :(
This gets trickier becasue deleting data you do not get any trigger that it happened - the data just stops existing. This means there is no trigger passed to Integromat to do something. The best workaround would be -> create a field with checkbox or single select indicating that the row in Airtable has been deleted. This will give you information which row can be deleted in excel/google sheets
Hello,
Thank you for the tutorial. I'm running into an issue (not for all rows, this is strange) : "The operation failed with an error. Insufficient permissions to create new select option"
I don't know how to manage that... can you help ?
3 possible reasons in order of likely hood:
1) you are updating single select field in Airtable, mark the "Smart.." checkbox in Integromat Airtable update module. Alternatively add the value of your new single selection option to selection options available in the field in Airtable
2) you have checked the box "Smart.." (I can't remember full name lol - it is Smart Update? Smart Names? It is basically Integromat way of adding "typecast" :true to Airtable API calls) and you are trying to update linked filed where the filed liked to is using formula as a name. This will not work.
3) you are trying to update a linked field that is linking to a sync table. This won't work in case of values non existing yet in the target linked table.
Likely 1)
wouldn't that create an endless amount of triggers though?
You would thinks so, but the Integromat module in Google Sheets reacts only to user entered changes. If you update Google Sheets via API (Integromat) this will not create a trigger. Only manual user changes will.
Business Automated! Do you know if the same thing is true for Airtable?
@@BusinessAutomatedTutorials I just tried it with a calendar app, it appears to create a circular cycle of triggers that never stops...:( So it wont work for me.
@@Londya with Airtable the Integromat trigger is based on "Last modified" field and human or API change will update this field.
@@Londya haha yes Google Sheet Integromat was unique by not reacting to machine made change. In other cases it is likely to create infinite loops. You would need to play a bit more with filters - check e.g. if exactly the same entry exists, before update to avoid overwriting with the same data or create a support field in target application that would store a flag "API update from Airtable" and have those ignored on the way back to Airtable.