
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 08:33 AM
I’m looking to create an approval email that contains an html button that when clicked, updates an approval status field for the record that triggered the email. Basically a way for approvers to approve from an email. Is this possible with webhooks or otherwise? Thanks
Edit: Not sure if I’m on the right track yet but I created a webhook automation step and sent a test POST request from Postman to the webhook URL which only worked after manually adding the content-type application/x-www-form-urlencoded header to the request. I’m guessing there’s no way to add this header to a URL or no?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 08:56 AM
It’s very complicated - take a read.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 09:03 AM
Thanks for responding! Ah it sounds like JS is needed to send a webhook and running JS from an email would be a security nightmare. Also that it is possible using a custom proxy app that will then send the webhook based on something like URL query parameters received in an HTTP request. Is that right? Thanks!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 09:14 AM
@Stephen_Orr You could also easily update an Airtable record with an Integromat custom webhook — with no JavaScript coding required:
You can even create a custom response webpage as well.
You would just need to make sure each email has a unique URL to represent which Airtable record you want to update.
If you have a budget for your project and you need help setting this up from an expert Airtable/Integromat consultant, please feel free to contact me through my website:

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 09:25 AM
Thanks, Scott! Am I understanding the process correctly here?
- A new record comes in and is awaiting approval.
- Airtable automation triggers an email to the approver containing an HTML button w/ an Integromat URL + some query params like the record ID
- When the button is clicked, Integromat is triggered to send a custom webhook to Airtable containing record ID, etc.
- Airtable automation step processes the webhook and updates the approval status for said record
So in this example, Integromat acts as the “custom proxy app” that I mentioned earlier?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 09:28 AM
Correct - there is a way to do it but it is complex and largely brittle because of SMTP itself.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 09:29 AM
Right, Integromat is your “custom proxy app”, but it will actually handle everything for you.
So you’ve got your step #1 and step #2 correct, but step #3 and step #4 are handled by Integromat. Integromat will receive the webhook information and then it will make the updates in Airtable on your behalf.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 09:41 AM
Ah I see. Interesting to learn about. Thank you very much!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 09:41 AM
Thank you for clarifying. That makes sense. Providing Integromat read/write access to our data would most likely require another IT security review but perhaps the webhook approach does not… I’ll have to explore this a bit more. Appreciate all the help!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nov 01, 2021 09:45 AM
To clarify, you COULD send the data back to Airtable in the form of a URL webhook call that Airtable then processes with its own automation.
So you COULD keep your original steps 3 and 4.
I was just trying to keep things simpler for you, without so much back & forth between the apps.
(And also because Integromat’s automations are more powerful than Airtable’s automations, so if you end up doing more advanced stuff, you won’t need to resort to JavaScript if you keep it within Integromat.)
