What is an Easy Way to Transfer Airtable API Steps to the Airtable OAuth API Step Before the Deadline?

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

does anyone know an easy way to transfer Airtable API steps to the Airtable Oauth API step? The only way I’ve been handling it thus far is just rewriting the workflow steps but it’s unlikely I’ll be able to handle all of them before the feb 1 deadline when Airtable kills their API keys and moves entirely to OAuth

Hi Mike,

I’m in the process of writing an FAQ for the Airtable API Key to OAuth migration, and will be sending out an email with the details, but I can share it with you here ahead as well.

Unfortunately, there is not an easy way for transferring the steps today. Sharing the details below, please let me know if you have any feedback.

Update to the Airtable Integration on Pipedream
Effective February 1st 2024, Airtable’s API Key authentication method will be deprecated. To learn more about this change, please visit Airtable’s support page.

How will this impact my workflows?
Starting February 1st 2024, all Pipedream steps using the legacy Airtable (API Key) integration including triggers and actions will no longer be able to authenticate with Airtable.

What do I need to do?

  1. Reconnect your Airtable account: Visit https://pipedream.com/accounts and search for Airtable and connect your account. This newer Pipedream integration uses OAuth instead of an API Key.

Airtable Account Connection

You can determine which workflows are connected to the legacy Airtable (API Key) app by expanding the account row.

Finding Accounts Connected to Your Legacy Airtable (API Key) App

  1. Update Your Workflows: After reconnecting to Airtable via OAuth, you’ll need to update your existing workflows that utilize Airtable:

    • Remove your old Airtable triggers, and reconfigure them using the new Airtable app.
    • Remove your old Airtable action, and reconfigure them using the new Airtable app.
  2. If you are using code steps:

    • Change any of your code steps to reference airtable_oauth instead of airtable.
    • Modify your authorization headers accordingly, from

    "Authorization": ${this.airtable.$auth.api_key},

    to

    Authorization: Bearer ${this.airtable_oauth.$auth.oauth_access_token}``

This is what your code step may have looked like before:

import { axios } from "@Pipedream/platform"
export default defineComponent({
  props: {
    airtable: {
      type: "app",
      app: "airtable",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://api.airtable.com/v0/meta/whoami`,
      headers: {
        "Authorization": `${this.airtable.$auth.api_key}`,
        "Content-Type": `application/json`,
      },
    })
  },
})

And here’s an example of the updated code step that uses the updated app, airtable_oauth instead with the updated authentication method:

import { axios } from "@Pipedream/platform"
export default defineComponent({
  props: {
    airtable_oauth: {
      type: "app",
      app: "airtable_oauth",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://api.airtable.com/v0/meta/whoami`,
      headers: {
        Authorization: `Bearer ${this.airtable_oauth.$auth.oauth_access_token}`,
      },
    })
  },
})
  1. Test and redeploy your workflows.

Posted thread to Discourse: What is an Easy Way to Transition from Airtable API to the OAuth API Before the February 1 Deadline?

This is great, I am so happy to know about the ability to see all the connected workflows! Now I know it’s a finite number :smiling_face_with_tear: