Why Does Airtable Seem to Use Two Webhooks for One Trigger in OAuth Integration?

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

If I have one Airtable trigger per OAuth connection it’s all good but if I try to have 2, Airtable hits me with:

Application has reached its limit for oauth integration created change hooks, the limit is 2 and you have 2

I really need to have have 2 airtable triggers to get my sync working. And I would suspect each trigger to use 1 webhook, but it almost looks like it uses 2. Is that possible?

I might still need to do extras tests that I’m doing cleanup properly but it really looks like I can have just 1 trigger.

const [{ data: recordTrigger }, { data: schemaTrigger }] = await Promise.all([
    pd.deployTrigger({
      externalUserId: externalUserId,
      triggerId: "airtable_oauth-new-or-modified-records",
      configuredProps: {
        airtable: {
          authProvisionId: accountId,
        },
        tableId: syncRecord.selected_table,
        baseId: syncRecord.selected_base,
        watchDataInFieldIds,
      },
      webhookUrl: airtableWebhookRecordUrl,
    }),
    pd.deployTrigger({
      externalUserId: externalUserId,
      triggerId: "airtable_oauth-new-or-modified-field", 
      configuredProps: {
        airtable: {
          authProvisionId: accountId,
        },
        tableId: syncRecord.selected_table,
        baseId: syncRecord.selected_base,
        watchSchemasOfFieldIds: watchDataInFieldIds,
      },
      webhookUrl: airtableWebhookSchemaUrl,
    }),

Is this with your own Airtable OAuth client or Pipedream’s?

This is Pipedream’s. I think I had my own at first but I think I don’t have it properly activated.

Can you deploy multiple through our workflow builder? I think you can, right?

correct, with workflow builder I seem to be able to connect 2

only the 3rd one starts to error out

with Connect for some reason it seems to starts to happen already for 2nd one, but it’s possible there’s some hanging connection somewhere I have not deleted yet

but I tried to delete all connected accounts and try again and still happens

A single OAuth integration can create up to 2 webhooks per base.

yep! 2 is good enough for me, In my own app I can do just one deployTrigger but it still might be a problem on my side, some hanging trigger somewhere I did not clean up

Can confirm that still within my tests I can’t get rid of this error.

Even if I create a brand new external user and connect fresh Airtable connection. Either on 2nd Airtable deployTrigger or even already at first deployTrigger.

Any chance there’s something not being cleaned up on Pipedream side?

I’d assume any of these should teardown the previous webhooks:

  1. Deleting the external user - because that cascades deleting their connected accounts
  2. Deleting the connected account
  3. Deleting the trigger
    I deleted all external users and it still seems like some webhook is “hanging” somewhere.

If I select a new base, it’s all good.