Help

Update Airtable record from Webhook (Teamwork and Airtable integration)

Topic Labels: Automations
3152 10
cancel
Showing results for 
Search instead for 
Did you mean: 
Pratik_Shah
6 - Interface Innovator
6 - Interface Innovator

Hey Guys,

I am trying to set up Automation between Teamwork and Airtable wherein everything comes from Teamwork to Airtable e.g. any new entry in TW should come to AT, if deleted TW, should be deleted in AT, if updated in TW, should be updated in AT. So, its all one-way automation from Teamwork to Airtable.

For this, I am using a Webhook module of Airtable, wherein if Airtable receives any webhook, that will trigger the action in AT.

I am stuck at “update record”. so I am trying to update the existing record when there is any update in Teamwork. When I am trying this, I am not really sure how to do this. “Update Record” requires Record ID. Webhook from Teamwork does not have record ID. So I tried searching the record using field value but it says “this property can not be used right now”. I am not sure how to do this.

Can someone please help? Thank you

10 Replies 10

Hi Pratik, when you initially create a record in Airtable it should return the record ID of the newly created record, and you’re going to have to store that in Teamwork

When the Teamwork data gets updated, you’ll then reference the record ID mentioned above to find the record in Airtable to update.

That’s a good strategy, but I’m pretty sure Airtable webooks do not return anything. :winking_face: As such, you have to force them to do so using script ostensibly creating an outbound webhook in the process which then has to be listened for in the external system. You can see where the complexity is heading, right? :winking_face:

Also a fine strategy, but I tend to solve this by shifting the polarity 180 degrees.

  • Any inbound webhook from an external system should include a discrete ID native to the external system.
  • Store that ID in created Airtable records.
  • Use that same ID to look up future record updates.

This approach negates the need to back-haul Airtable record numbers into environments that were never intended to store such data and also negates the need to force Airtable webhooks to make additional calls to write information into the source data objects.

Lots of developers say -

… well, it would be easier to update Airtable records if you had the record ID.

This is true, but that’s not the only technical requirement on the table. One requirement is to remove all unnecessary parts and processes. Complexities tend to be brittle and simplistic systems tend to be resilient. And there are many ways to create very fast hash index approaches that provide indirect lookups using external IDs.

Can you share screen shots of the record data in Airtable (and including the column headings), and of this error message?

Are you open to using a scripting action?

Hahahah, yes, I see it. You’re right, Airtable webhooks don’t return anything, don’t know what I was thinking there, sorry

Neat! This is a whole new way of thinking and I’m going to have to reset my brain to try to start applying this

@Pratik_Shah

FYI: Make.com has full Teamwork support and full Airtable support. Make is a low-code/no-code automation & integration tool. If I were you, I would just make it easy on myself and just handle all of your updating, searching, and deleting logic from there.

No webhooks required, although they certainly support webhooks if you choose to use them. No embedding record ID’s required, although you can certainly do so if you want to.

Make.com is just my own personal preference, and it is how I would personally do it. But everyone will have their own personal favorite methodology of solving your integration problem, so there is no right way or wrong way:

Pratik_Shah
6 - Interface Innovator
6 - Interface Innovator

Hello Guys, Sorry but I saw these replies now. Thank you all of you @Adam_TheTimeSavingCo @Bill.French @kuovonne @ScottWorld for taking out some time to reply to this.

Actually I figured this yesterday.

I was working at this first, so I added an Action “Find Record” in automation using Task ID (generated by Teamwork). Earlier, it was giving an error that “this property can not be used right now.”

However, then I changed the column type from single line to Number, then it worked.

So my workflow became, Webhook received, Find Record and Update Record.

Thanks all of you

Hi, yes, I know about Make. I personally like Pabbly Connect. It’s super reasonable (also has life-time purchase deal) and does all those things which I want. Thank you for your reply.

I felt comfortable doing this with inbuilt automation.

It’s all one-way traffic. from Teamwork to Airtable. So record id never gets stored in Teamwork nor Airtable is going to send anything to Teamwork.

For Airtable, its only receiving Webhook.

This is exactly how I did yesterday. I stored all Task ID, Company ID, Project ID etc. in Airtable. I found that, error was coming mainly because all these IDs are stored in Single Line column instead of Number.