How to Resolve Airtable Workflow Error and Fix Base Selection Issue in Component Definition?

This topic was automatically generated from Slack. You can find the original thread here.

Hello. I’ve run into trouble with a bunch of workflows I have that use Airtable. I’m now seeing the attached error in the interface for that block. It’s locked so I can’t even change it. I’ve had to recreate entire flows because of this. :frowning:
Here’s the component definition. Is there a way to address this? I’ve tried changing “app” to “airtable_oauth” and that lets me select my account, but the base selection doesn’t work now.

export default defineComponent({
  props: {
    airtable: {
      type: "app",
      app: "airtable",
    },
    baseId: {
      type: "$.airtable.baseId",
      appProp: "airtable",
    },
    tableId: {
      type: "$.airtable.tableId",
      baseIdProp: "baseId",
    }
  }

Hey David, that’s related to Airtable’s deprecation of API keys, and moving the integration over to OAuth. There are a few options to fix your issue, based on your use case.

The quick and dirty update would be like this:

export default defineComponent({
  props: {
    airtable: {
      type: "app",
      app: "airtable_oauth",
    },
    baseId: {
      type: "string",
      label: "Base ID",
    },
    tableId: {
      type: "string",
      label: "Table ID",
    }
  }

But this wouldn’t let you select the Base and Table from a dropdown, it’d expect you to input each ID manually.

You can select the Base and Table from a dropdown using async options in any of our prebuilt triggers and actions, but it’s a bit more complex to configure it the same way in a code step, but definitely doable.

Ok, thanks. I think for now, I can just hardcode those strings to get things up and running again. Is there documentation about how to definite components in this way in Airtable? It’s a bit of a black box to me. I looked for examples, but they seem to be out of date using the old method.

Another question, I’ve run up against rate limit errors when doing a “List Records” action in Airtable. I dnn’t believe this was happening before. Is there something on my side I can do to fix this, or is it being addressed on Pipedream’s side? I could write a custom step for it, but was hoping to avoid that.

We don’t have explicit documentation on it, but you can definitely look at the code directly — for example: https://github.com/PipedreamHQ/pipedream/blob/master/components/airtable_oauth/actions/create-field/create-field.mjs

Oh interesting, I don’t think I’ve seen a rate limit from them before, let me look into that.

Great, thanks. I’m hitting it when retrieving 900+ records.

Yea, seems like that might trigger it Airtable Web API

This was working for me previously. But I think I may have had closer to 700 records.