Help

Save the date! Join us on October 16 for our Product Ops launch event. Register here.

Re: Kanban Change Notifications

750 0
cancel
Showing results for 
Search instead for 
Did you mean: 
Claire_Bissa
4 - Data Explorer
4 - Data Explorer

Is there a way to set up Kanban table to provide notifications of a specific status change. I.e. provide notice to a specific Slack channel of a change from status X to Y, instead of any general changes to the status overall.

Thanks

1 Reply 1

First off, any solution to this problem wouldn’t be unique to the Kanban view type. All that a Kanban view does is arrange records in columns based on a single-select field. The same solution would work in any view because it would be based on tracking changes to that single-select, regardless of how that single-select gets represented by the view.

I don’t use Airtable’s Slack notifications myself, but my understanding of the system is that it’s pretty broad. Any change to a base triggers a Slack notification to a specific channel. Because you want more granular control, you’ll need to effectively roll your own system, which could be done using the help of either Zapier or Integromat.

In either case, begin by adding a field named something like {Old Status} that records what the status was prior to the current status. This would be a single line text field, and would only be changed by the integration system you build. However, to kick things off, it will need a copy of the current status for all records. The easy way to make that is to duplicate your {Status} field, rename it {Old Status}, and change its type to single line text, which will retain text versions of the current status values.

To save some operations in Zapier or Integromat, I also suggest making a formula field named {Slack Channel} that would determine the target Slack channel to notify based on the change made. This would be most easily built using the SWITCH() function. Here’s a rough example of how it could be set up:

SWITCH(
    {Old Status} & "-" & Status,
    "Status A-Status B", "Slack Channel 1",
    "Status B-Status C", "Slack Channel 2"
)

Depending on the requirements of the Slack module/app in Integromat/Zapier, you may need to provide the channel’s internal ID instead of its screen name, so be prepared to unearth that info if necessary.

The rest of the work would be done in Zapier or Integromat. I won’t go into specific detail here, as it’s a different process for each system, but the basic flow is the same:

  • Trigger the scenario (Integromat) or zap (Zapier) with a change to the {Status} field.
  • Via that trigger, you should have access to the target Slack channel name/ID from the {Slack Channel} formula in the triggering record
  • Update the triggering record to replace {Old Status} with the value in {Status}
  • Send your desired message to the specified channel.