February 25, 2021
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.
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.
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.
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.
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.
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).
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).
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.
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:
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.
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:
Hope these tips help you with your next project! Feel free to share other tips & comments here. Find me on Twitter @tobyallen007