Automate all the things
How To Bring External Data Into Airtable
Tell me if this situation sounds familiar: you've got data that lives in another tool that you want to be brought into Airtable. Say a blog post's view count or creating a new record in your table when you've got a new lead in your Salesforce CRM.
Should you use Airtable Sync? Airtable Automations? What if there isn't a direct integration? I've had to explain this a few times, so here's an attempt of putting my decision process on paper.
Airtable Sync vs Automations
Both Airtable Sync and Airtable Automations are options when you want to pull from external data sources into Airtable. It's important to understand when to use each.
Airtable sync creates a new table where every record's field values syncs to an item in your third party system. For instance, if you sync Airtable and Dropbox, every file in the folder you're syncing from becomes a new record in your table. If you change a file's name in Dropbox, the corresponding record for that file in Airtable will be updated. If you add a new file, you'll create a new synced record. Note that this is a one way sync! You can't change the information in Airtable!
In contrast, Airtable Automations (or zapier or any other automation tool) runs actions based on a trigger in an external application. You could create a new record (action) when a row is added to a google sheet (trigger).
The main advantage of Airtable Automations is the fact that you can update & create records in any table. Unlike Sync where your information has to live in a separate table, Automations allows you to update existing information and update fields anywhere. The main disadvantage is that your information isn't in sync, so if your information gets updated in the original system (say a subscriber changes emails), you won't get that update unless you've created a separate automation for that usecase.
If you want a run down of Airtable Automations and Airtable sync check out this stream where I covered both side by side!
Unavailable Triggers, Actions Or Sync Sources
Airtable Automations and Sync are easy, no code needed ways of bringing information into Airtable. However, they don't integrate with all of your tools natively. In fact, sync sources, action and trigger integrations can be quite limited. Luckily there are options when the tool you want to pull data from doesn't have a native integration with Airtable Sync or Automations.
No Automation trigger
Airtable offers very few Automation triggers today. In fact, they're limited to a few Google Apps and outlook emails:
The best option when you want to trigger an automation from a tool without a native integration is to use the When webhook received trigger. Think of webhooks like phone numbers. When you create a webhook, Airtable generates a URL (phone number) you can share with any third party application. Whenever something happens in that application (new lead, new sale etc.), it'll send that information to the URL (the phone number) with the data about the event (the conversation). From there, you can use that data in any action just you do for native integrations. I did a full stream on Airtable webhooks here. Other examples include the many streams I've done with Stripe
No Automation Action
Although the number of actions in Airtable Automations is growing, they obviously don't cover all apps. In fact, Airtable will never cover all apps, it would take up all of the company's resources!
So when there's no native integration, you can often pull data from a third party using their API in the Airtable scripting app. Using the remote fetch async function in Airtable scripting, you can call any API that authenticates using API keys (but not Oauth based APIs). From there you can use the output of that API call to update/create records in future steps or use any existing integration such as sending a slack message. You can see this in action and get the sample scripts in Syncing Airtable and Webflow using Airtable scripts course in code meets no-code. In fact, pretty much every integration in Code meets no-code is based on calling 3rd party APIs in the scripting app including Creating payment links in Airtable, Automating content asset creationg and the Intro to low-code course. The scripts always follow the same format and can be applied in a variety of use cases.
No direct sync integration
Sync options have increased in the last year but just like Automations, don't expect Airtable to cover all apps.
If you don't see your preferred app in the list, there are options! Option one is to see if there's a third party that can sync the information for you for that specific tool. Examples include Nobull extension or Whalesync for Webflow and Airtable. Airpower for Shopify and Airtable. Using these adds another tool in the mix but offers the option of two way syncing!
Another option is to use the Data Fetcher extension in Airtable. Data Fetcher lets you sync information from any app! It offers out of the box integration with many tools like Stripe, Google search console, Youtube analytics and others. Additionally with Data Fetcher you can connect to OAuth APIs as well. It's the ultimate escape hatch for integrating with apps that have no native integration in Airtable.
The Options Are There
No matter what you want to integrate, the ability to do so in Airtable is there but it's not always easy to know what route to take to get there. Here's me trying to sum it up :
Use Sync when you need a separate table of up to data from a third party.
Use Automations when you need send data to and from Airtable to other apps and vice versa.
If you can't find the trigger you need in Automations, turn to Webhooks.
If you can't find the action, you'll need to write to an API in the Airtable scripting app.
And if you can't find a native sync option, turn to Data fetcher.
Easy enough, no?