Expanding Zapier Triggers for Airtable — A workaround for any record in a view
Airtable is a very popular tool because it can be integrated into almost everything. However, when looking at the events that are provided for Airtable as triggers in Zapier there are only New Record or New Record in View available.
What is missing here is especially the trigger for Updated Record or Updated Record in View. A trigger like this has been discussed by the Airtable community for almost 4 years now (see here). In this article, I will provide a solution for this, using a workaround that allows the creation of this trigger by using only Airtable, Zapier and Slack.
The Airtable API currently cannot trigger on updated records. Only on new records. To make this possible Airtable must develop webhooks and it would be much more simple to integrate it with Zapier or even create a solution in the default Zapier interface.
I came across this problem when I needed Airtable to always trigger when a record appears in a view. To be more precise, I needed this anytime a record appears in a view and not only when this record was never in this view before.
This is due to the fact, that I needed to create a reminder system and records could reappear in the reminder view and I would need the Zap to be triggered again. It actually even took me a while to understand why this Zap is not triggered, but then I understood that the records are not new.
I know there was already a solution provided but I think for this particular use case my solution is more simple and does not need Pipedream. However, the workaround I provide makes use of the same possibilities in Airtable.
Step 1: Create a Dedicated Slack Channel
First, we create a new slack channel that you specifically use only for this one automation that we are about to create. It is important that no one is part of this slack channel and no one should write anything in there. Ideally, you write this into the description. However, you cannot make this channel private because Zapier cannot work that good with private channels.
Step 2: Create an Automation in Airtable
On the top right of your Airtable Base, you can see the tab Automations. Those are the internal automations provided by Airtable itself. They work the same way as for example Zapier: You create a trigger and then attach one or multiple actions. As you can see in the provided screenshot here it actually is possible to choose When record enters view as a trigger. Meaning, that we cannot only do this for a new record but for any record. This is exactly what was our initial goal. Thus we set this trigger up as the first step.
After we set up the trigger, we can choose an action. Here, we have to choose slack as the action to happen once the event is triggered. The Slack Channel we choose to send the message to should be the one that we created in Step 1.
Now, we achieved exactly the thing that we initially wanted to achieve: Zapier was not able to always trigger when any record is added to a view in Airtable, but the internal automation in Airtable can do exactly that. However, the action that we choose is not really any action but a Slack message to one dedicated channel.
As data that is sent inside of this automation via message, you can choose all the cells that are contained in the view that you are using. I would suggest using a semicolon or a comma when inserting multiple data points, that makes it a format easier to handle later.
Step 3: Create a Trigger in Zapier
As you might know, Zapier cannot only use Slack as action but also as a trigger and this is exactly what we need to implement in our case. Slack should be triggered anytime that the (internal) Airtable automation is triggered and is posting to this slack channel.
There is just one additional thing you should consider, which is that the trigger should also be triggered when a bot message is sent, thus we should set this to yes.
Step 4: Format the Data in Zapier (optional)
If you need to extract the data points that are sent via slack message, you can use the Zapier Formatter and apply the split text to only get single data points that you can use for the following actions that you want to create in Zapier.
Step 5: Send the Data to any Integration in Zapier
Now, we basically have exactly the same Zapier setup that we wished we had before. Think of Step 1 to 4 as a way to create the trigger When any record enters view in Zapier.
You can now integrate all the tools that you would like as before. Let Zapier trigger a customer.io event, create a Zendesk Ticket and so on.
The solution I describe here solves a very specific challenge that I encountered during my work. This and many more challenges could be solved with Airtable developing a webhook feature. Until then, I think it is important to find solutions and share them with the community.
Many more sophisticated solutions for this challenge out there exist. The nice thing about this solution is that is certainly the most time and cost efficient.