Airplane runbooks
Runbooks are multi-step, human-in-the-loop workflows.
Overview
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 output 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 output. 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 getting started with tasks.
Examples
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)
- Remove user from Salesforce (
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
)
- Create account (