Airtable and Zapier not exchanging data in the correct order

I’m using Zapier to auto-number a project number field in an Airtable base. This happens each time I enter a new project in Airtable.

It all works correctly EXCEPT that when I enter several new records quickly in Airtable, the project numbers returned from Zapier are not numbered in the same order that I entered the new records.

For example:

  • I enter new records A, B, C, D in Airtable in that order.
  • Zapier should give them project numbers 1, 2, 3, 4
  • Oftentimes Zapier will number them out of order, such as 3, 1, 4, 2 or some other random sequence that’s not in the same order I entered the projects.

The key here is that they must be numbered in the order I entered the projects.

I don’t know if it’s an Airtable issue or Zapier, but any insight you have would be greatly appreciated!

@Jeff_Hayes Zapier (and all other automation platforms) depend on Airtable’s API to communicate with Airtable.

But Airtable’s API doesn’t return records in any specific order, unless you specifically specify the sort order in your API call.

However, unfortunately, as far as I know, Zapier doesn’t let you specify the sort order when retrieving or searching records in Airtable. So if Zapier is grabbing a bunch of records at once, there’s no way to predict what order those records are being grabbed in. That’s because Zapier’s Airtable integration is extremely limited and underpowered and contains many flaws & missing features.

This is actually why I’ve moved most of my clients over to Integromat instead of Zapier. Their integration with Airtable is top-notch and 100% fully-featured (including the ability to sort Airtable records), and their entire platform as a whole is about a zillion trillion times better than Zapier. That’s an actual statistic! :wink: Note that I am a Registered Integromat Partner, and that link contains my personal referral code.

Otherwise, if you need to stick with Zapier, I would recommend changing your zap in such a way where it is only processing one Airtable record at a time, perhaps by manually sending individual records one-at-a-time to Zapier with a webhook.

It’s neither (I suspect).

You are experiencing the results of a non-blocking script architecture where these webhooks are firing independent of each request.

Imagine the first record added in a series of three very quick additions. That first one goes through an Internet routing that is 1700 milliseconds slower than the second new record request. Now, the second one is ahead of the first.