#003 An approval workflow

🌎 Overview

  • Occasionally a third-party needs to approve something
  • You don't want to onboard them to your regular approval pipeline, so you just send them an email
  • Automate the process with this workflow

Difficulty: Intermediate

Cost: Free

Tools Used: Airtable

Templates: Airtable link

🛠 The Build - X Steps

Core Functionality

  • Automatically send approval emails when a new request is received
  • Notify requester of response from approver
  • Set up automated follow-on actions

1. Create an Airtable Base

  • In Airtable, create a new base from scratch with records for each of the items/files that will be a factor in the approval decision
  • image
  • If files are used, create an additional field for each file field to retrieve the URL of the file. The formula used to retrieve the URL from a file is as follows:
  • RIGHT(LEFT({File}, LEN({File}) - 1), LEN(LEFT({File}, LEN({File}) - 1)) - SEARCH("https://", {File}) + 1)

2. Create a Request Form

  • Create a form to capture all the necessary details
  • Provide narrative explanations to simplify the process for the user
  • image

3. Create an Approvals Table

  • Create a new Approvals table with the following fields:
    • Request ID
    • Response
    • Explanation
    • image

4. Create an Approval Form

  • Create a new approval form view
  • image

5. Email the Approver

  • Create an "Automation" to send an email when a new record is created
  • image
  • Design an email to include all the necessary bits in order to make the approval decision
  • At the end, include a link to the approval form
  • Using a prefill URL parameter, prefill the request ID via the URL
  • image
  • When the link is clicked to open the form, the ID of the original request will be prefilled into the approval form
  • image

6. Notify the Requester when Approved/Denied

  • Create a second "Automation", triggering when a new record is created in the Approvals table
  • image
  • Add an action to find the original request record
  • image
  • Add an action to send an email to the requester
  • image

💪 Additional Functionality

Associate requests & approvals with people, with Airtable
  • Create a new People table with the following fields:
    • Name
    • Email
    • Manager - This is a 'Link to another record' field that references the People table itself
    • Manager Email - This is a 'Lookup' field that references the Manager field, and pulls the Email associated with that person.
    • image
  • In the Requests table, add a new field that is a 'Link to another record' field pointing to People
  • image
  • Add this new field to your request form. This forces the user to indicate who they are when making a request.
  • Add another field to the Requests table called Manager Email. This pulls the email address of the manager of the requester.
  • image
  • In your 'Send Email to Approver' automation, replace the recipient of the email with the Manager Email from the request.
  • image
Send email reminders with Airtable
  • To determine whether a request has been responded to yet, add a new checkbox field to the Requests table
  • image
  • Update your 'Notify Requester' automation to add a new action, marking the request Response Received box checked when a request is approved or denied
  • image
  • Create a new automation 'Send Reminders'
    • Set the trigger to be a recurrence of your choosing
    • Set the first action to be 'Find Records' in the Requests table that don't have the Response Received box checked
    • Set the second action to send an email similar to the original request email, asking them to approve or deny
    • image
Add approval items from upstream systems with Zapier
  • In addition to collecting requests from an Airtable form, they can be created by adding a record with a third-party tool like Zapier
  • In Zapier, create a Zap:
    • Set the trigger to another app of your choosing
    • Set the action to add a new request to your Requests table
    • The rest of the Airtable workflow will kick off from there
    • image
Pull different types of approvals into a single pipeline with Airtable
  • In addition to collecting requests from your base Airtable form, this framwork can be used to collect different types of approval workflows
  • For each additional use-case, add new fields to your Requests table to capture different types of items
  • Create a new form for each of these request types, only showing the relevant fields for that request type
  • Add these new fields to the request email automation that is sent to the approver
Trigger downstream automations with Zapier
  • When an approval or denial is submitted, you can trigger downstream actions via any third-party app that integrates with Zapier
  • In Zapier, create a Zap with the trigger "New Record in Airtable"
  • Then set up additional subsequent action steps in your Zap
  • image
Notify someone of a submission via Email with Airtable
  • Create an Automation in Airtable with the following steps:
    • Triggered by a new record in the Approvals table
    • Use the "Send an Email" action in Airtable to send a custom email
    • image

📚 More Resources

  • A 15 minute video walkthrough of this build is available in the rlz.io community
  • If you haven't used Airtable before, signing up via this link gets me a $10 Airtable credit 🙏