Top 10 tips for Integromat, Airtable & Webflow

Tips on how best to use these three tools together after a few months of errors and mistakes.

Toby Allen
StartupMill
Published in
7 min readMay 9, 2020

--

I’ve been using Integromat, Airtable & Webflow extensively for the last few months and make a LOT of mistakes.

If I reflect back on my initial use of these tools, I wasn’t bad, just not great and came up with some best tips which could help you avoid these mistakes.

Here are my top 10 tips on how to work with these three tools together:

Use a clear naming convention across all tools

Stick to a naming convention, simple as that. This makes the searching and matching of fields a lot easier when you are across different systems. You don’t want to be trying to remember if you should map blogTitle to Title or Name which both could be in your fields for your blog.

I personally like to stick to camelCase, pick your own style and stick with it.

This will save you a lot of time in the long run, especially with Integromat and searching for fields in a long list.

You’ll know that productHeroImage is the same in Airtable, Webflow and any other product, easily linking them together.

If you have to use reference fields in Airtable, stick to a naming convention which makes sense xxxRef, xxxID, xxxLink — you get the point.

Connect IDs

Make sure you cross reference IDs between Airtable and Webflow, this will save you a LOT of time and compute with your processes.

For all your airtable items, have a column labeled WebflowID — This will be the CMS id that is used when the item has been created. This makes it a lot easier to reference and you don’t have to list all your Webflow items, then match by name.

In Webflow, make sure you include a AirtableID — This will make hunting for items later equally easier.

Manage Scenarios & Errors

Always include Integromat’s ignore module. This will help your scenarios run without stopping.

If your process hits an error, always ping to Slack with a message. I typically put in the node number so that I can directly debug that node or trace back the issue at hand

A good setup is Module > Slack Msg > Ignore — You’ll be alerted of the issue, but you’ll continue processing the scenario so you should be good.

Use Airtable View & Filters

Prefilter data — Integromat allows you to filter incoming items so that it can match a criteria. While this is good, it’s costly and highly inefficient. Imagine you have 1000 tshirts to update with a new field. You could input that list of 1000 tshirts, filter for any that have been posted and then update. This process will take a while and chew up your operations count.

The way I handle this is to input a specific list, which means that I filter everything in Airtable first, and know that this is all I need to process. So I go from 1000 items down to 200 without having to do any filtering processing.

Do more in Airtable

While you can build a fair amount of error handling in Integromat, it can get tedious very fast. I suggest that you use Airtable to filter out your data and make better lists for yourself. As stated in my previous point on filters, you’ll become more efficient doing so. As such, I have a bunch of specific error handling lists that help me quickly pre-check data to make sure that it’s correct before being processed.

Typically this is in the form of missing fields, correct field formatting — Especially for URLs.

They are a pain! You should be weary of not having a http:// prefix or trailing / slash which might break your scenario.

This is especially true if you’re using Airtable’s forms to capture the data (since you can’t use form validation).

Test with a small sample first

When building you scenarios, always play around with a small subset of your data first. Integromat is great at being able to control the amount of items to process. You can do this directly in the starting module or use Airtable to make a small subsets of data to update — I typically create a Validated field in Airtable using checkbox fields which allow me to quickly filter or create an update on that item (important when using LastUpdated on a watch module).

Set to Draft until ready & control your publishing

While working with many items, it can be a good practice to set all your posts to draft and manually go in and publish your site. Typically, try to stick between 1–5 items for your trial, validate your data, tweak and then launch the full data set.

Note: If you’re publishing content to Webflow (say Blog posts) — You might encounter an error when regularly publishing if you set your publishing to Webflow’s staging (aka projectname.webflow.io only) and not your domain. This will cause any publishing to error out. To prevent this, you need to keep your publishing to all of the domains.

Use References in Tables

Single and Multi-references are a pain with WebFlow. There’s a few ways you can handle these. Smartlinks are possible, but not always available (not entirely sure why) so it can be easier to either handle these in Integromat directly using Switch cases or in Airtable with another table and a lookup field to give you the correct data.

Make sure to use the correct IDs, there’s a difference between CMS ID and reference IDs. What I mean by this is:

  • CMS IDs: These are the ones you find directly from the item in the CMS.
  • Ref IDs: These are annoying to list, but if you have an item with mutli refs, such as tags, you can list all of them out and inspect that item using DevTools. The order the list appears in is the order the tags are in. You can copy the whole list, remove the HTML and save it in a reference field in Airtable (in the same base as your core base.) Once you store these in Airtable, it becomes a lot easier to pass that info directly and not have a function within Integromat.
WebflowID are not the same as CurrencyTextValues which are Ref IDs

Use Sleep

Webflow has a hard limit of API calls within 60 seconds, which is an epic pain! However, the way around this is to simply put a sleep module set to between 30–60 seconds before the Webflow module. This will help slow down the process and throttle the amount of API calls.

Know when not to use the tools, stick to google sheets or airtable

If you’re manipulating a lot of data, you’ll most likely end up with errors and some mistakes. Whether this is in the form of categorisation or just fields which did not get set correctly, be ready to check your data and validate it.

This means that you might fall into the trap of using tools like Zap or Integromat to fix it. ‘Oh, I’ll just parse all this data and it will update those fields… easy!’ Well it might be, yet in some cases, it will just be a waste of time as this will result in you having to fix another flow.

Case in point, I had a lot of companies for Jobs in Flutter, which did not have their WebflowID set in Airtable (I know! I’m an idiot and only added this field later in my dev) so the result was painful searches. I tried to do a quick update to fetch the company from webflow, match it in airtable and set the correct field. This started to take some time, so what I eventually did was this:

  • Export the Webflow cms list (Ex Tags list)
  • Import to Airtable in another table but in the same base; so Blog Table & Tag Table
  • Create a lookup field in the Blog table you want to update
  • Copy and paste the Tags into the Lookup table and they will link directly (providing the names are the same)

Hope these tips help you with your next project! Feel free to share other tips & comments here. Find me on Twitter @tobyallen007

www.startupmill.co

If you’re interested in projects like this, please come say hi at StartupMill.
Part venture builder, part agency, totally product driven.

--

--

Toby Allen
StartupMill

Technologist with a passion for producing products and technology. Mostly Product Dev, Mobility, Immersive Tech, Games, Web, No Code, Management and Startups :)