It's been a while since I last posted about Airtable and there have been a huge number of improvements to the platform in the past 6-12 months - especially in the area of Automation and Workflow management. Brilliant features like Automations can provide solutions to a wide range of issues that were hard to solve in the past - and for coders the Code options are really powerful!
The Sample Base
I am going to be using a very simple Base for this and am assuming that my readers are familiar enough with Airtable to make their own version of this.
The base is a rudimentary project management system where new projects can be associated with a checklist of standard tasks. The issue is how to create tasks for a specific project from a list of standard ones associated with a selected checklist:
In this example, we have a checklist (think of this as a template for a project) consisting of two items - Confirm Specification and Build Configuration.
Your first thought, if you have used Automations, would probably be to use this feature to automatically create tasks for your project from this checklist - but this is not possible as far as I can see - at least not with Automations alone. What we are needing to be able to do is to create tasks for a project like this:
You can see that the project has the Existing Client Project checklist selected and that this has resulted in the two tasks being created. How can this be done? My solution(s) use Integromat to do this...
Integromat is a tool that is mainly advertised as a means of integrating multiple web services together - and this is indeed what it is mostly used for. It is also an amazing No Code tool which can be used for automating processes in databases like Airtable. In this case, we are going to trigger Integromat from Airtable (in this first article using an Automation) and then check which Checklist has been selected, find all the checklist items associated with it and then create tasks and assign them to users.
The first question though, is how are we going to trigger Integromat? If you look at the options available then you will see that there are none which run immediately (apart from Watch Responses which fires when a Form is filled in). So we need a way to send a message from Airtable when certain criteria are met and have it create our tasks.
It turns out that Automations are a great way to do this - the basic idea is to set one up to be run when a user ticks Create Tasks and there are no Tasks present:
and the Automation would be set like this:
The next step in this process is to start to set up Integromat - and here we are going to use it's ability to be triggered by what they call a 'Mailhook' - in other words an email sent to a special address:
What you do is create a New Scenario in Integromat and start with the Webhooks module selecting the Mailhook option and then give your Mailhook a name and copy it's address to the clipboard.
Then, in Airtable, you just set up an Action in the Automation we started above which sends an email to the email address:
You will see that I have included the Airtable record ID in the subject of the email (for the project) - and for later checking I put the project name in the Message. That's all you need to do in Airtable apart from testing the steps and turning on the Automation.
Building Out The Integromat Scenario
The next step in Integromat is to set up a module which retrieves the Project record from Airtable using a 'Get a record' module - using the ID from the email subject:
This record will contain details of the selected checklist from which we can find the items from which to create and assign our tasks. But first I would like to just re-set the Create Tasks field using an Update record (this is not strictly required but I feel it is tidy to do it):
Now we can get Integromat to search for all of the checklist Items associated with the selected checklist:
This uses a Search Records module - and notice how the Formula field is set using curly brackets for the field to search and ' ' around the search value (which in this case comes from the Checklist field within the project).
So now, Integromat will have a list of the potential tasks for your project. The next part highlights one of the most powerful elements of Integromat which is that the next modules we create will run for each of these returned records. This sounds minor but it makes building business logic with Integromat a relative breeze!
So, finally, all we need to do is to set up a module to create our task records:
Using the Create record module, I am creating a new task - assigning it to the collaborator identified in the checklist item, working out a due date and fillng in all the required fields.
So now, once the Integromat Scenario is set up and turned on, when a user selects a Checklist and then ticks the Create Tasks field, Integromat will create the tasks and you would see them arrive in the Tasks field a few seconds later!
So that's it! I know I have gone through this pretty quickly but I find that knowing that something is possible, and having a start on how, is often what I need to figure it out.
Airtable is an amazing tool - but automation can be difficult, especially for people who don't want to 'code'. Integromat makes a huge range of things possible without code which would otherwise require it.
Next time, I am going to look at two different ways in which we can trigger the same process in Integromat...
If you would like to know more about Integromat click here.
If you would like to know more about Airtable click here.