Airplane runbooks

Runbooks are multi-step, human-in-the-loop workflows.
Runbooks are multi-step, human-in-the-loop workflows. A runbook takes in a set of top-level parameters, runs one or more functions (known as "blocks"), and generates outputs at each step of the way. Runbooks can range from simple, single-task operations to multi-step, cross-system, processes.
Here are the key concepts to keep in mind:
  • Parameters: Each runbook has a set of top-level parameters that a user inputs before starting the execution of a runbook. These can be text, dates, files, and more. For details, see parameters.
  • Blocks: Runbooks are composed out of blocks. Each block represents a single function that takes in a set of inputs, does some operation, and then produces outputs. Any task can be used as a block within a runbook. In addition, there are several pre-built block types that represent common operations so you don't have to build tasks for these. For a breakdown of possible blocks, see Blocks.
  • Tasks and Runbooks: The most common type of block is a task. Custom task blocks allow you to add highly customized and flexible functionality to runbooks. Tasks let you turn SQL queries, REST endpoints, Python, JS, shell scripts, and more into reusable functions that non-engineers can execute themselves. Tasks are the main thing that differentiate Airplane runbooks from other workflow platforms. If you haven't already, for more details see intro to tasks or our quickstart guide.
Here are a couple of examples of runbooks you can build:
Delete Customer
  • Description: a comprehensive user deletion flow
  • Parameters: Email address (short text) of the user to be deleted
  • Blocks:
    • Remove user from Salesforce (Python script that hits Salesforce API)
    • Unsubscribe user from communications in Intercom (REST call to Intercom)
    • Pause billing in Stripe (REST call to Stripe)
    • Delete user from the production database (SQL query)
    • Send an email to the user informing them of their account deletion (Email block)
Provision Customer Account
  • Description: a runbook that lets a customer success manager create a new enterprise account
  • Parameters: Account name (short text), Account type (short text dropdown)
  • Blocks:
    • Create account (SQL query)
    • Input step: Pause and ask the person running the runbook to upload a CSV of all the users who should be added to the account
    • Add all of those users to the account (Python script)
/>