I want to monitor a specific field in a table called countries that stores comma-separated country codes like “GB, US, ES, SG” etc. If the data in the field changes in some way (i.e. a new territory code appears) then I want to trigger an automation (e.g. send a slack message) but I ideally want that automation to flag exactly what changed (e.g. “TH was added to the country list of record x”).
Is that possible with Airtable’s existing functionality? i.e. that you can catch the specific change that triggered the change event? Thanks for any thoughts!
You can add a ‘date last modified’ time field to your table, and set it to watch only the field in question. Then you can set your automation to trigger on that timestamp change.
This will only tell you that a change has occurred and not what has changed. You can put a link in your slack message to take you directly to the record and the history tab on the right will show you what has been changed.
The only way to have the Slack message include the “before” value is to have a different field that stores the “before” value. This technique also only works for fields where you select values, not fields where people type in values.
Have an editable select field with the exact same options as the actual field you want to monitor. Do this by copying the original field, including copying the record values. Set this field to be editable by no-one except automations. This is the “previous value” field.
Create a new automation for “when record updated” that watches the original field. (You do not need a last modified time field.) Add an action that sends the slack message with the values for both the original field and the new “previous value” field. Add an additional update action that copies over the value from the original field to the “previous value” field.
The flow is as follows:
- Most of the time the original field and the “previous value” field have the same value. This is why you need to duplicate the record values when you create the “previous value” field.
- When a user changes the original field, the automation sends the message with both the new original value, and the previous value. Then the automation resets the previous value to the new current value.
If you need to know the specific change (versus just seeing the old & new values), that would take a rather complicated formula field that depends on the actual values.
This system of being notified of the previous value often may not be worth the effort to setup and maintain. A compromise is often to have the automation notify you that there was a change and include a link to the record. Then you can click the record link to open up the record and see the change in the record history.
thanks for the comprehensive answer
This topic was solved and automatically closed 3 days after the last reply. New replies are no longer allowed.