Airplane is the developer platform for quickly building custom internal tools. With Airplane, you can transform scripts, queries, and APIs into custom UIs and workflows that fit the unique needs of your business.
Airplane Tasks are the core building blocks of Airplane. They transform duct-taped scripts, queries, and cron jobs into safe, reusable tools. Tasks can be used for anything from single-step operations (start/restart a microservice, hit an API endpoint) to elaborate multi-step functions (customer onboarding workflow, GDPR deletion process).
Today, we're announcing a series of features that will take Airplane Tasks to the next level. We supercharged Tasks to support more powerful, sophisticated, and code-native workflows.
Here's what's new to the platform and why we're excited about it:
More ways to get human input
We made it easier for you to build human-in-the-loop operations. Tasks are highly interactive with the release of prompts, approvals, and displays.
Prompts and approvals: Using prompts, tasks can easily gather input from operators or ask for approvals during execution. For example, you can use prompts to ask for missing data or request user confirmation before running sensitive operations. When you create a prompt, your run will wait for a response, making them perfect for creating dynamic approval flows. More on this below!
You can now model approval flows in Airplane before running your tasks and also while running your tasks. Before running, you can restrict who can execute a task and assign approvers via Airplane's nuanced permissions. While running, you can require approvals at runtime via the new prompt reviewers feature!
For example, you could require that an engineering manager from the eng-managers
group approves high-risk deployments to your production cluster:
Here's how the prompt will render within the run's UI:
Displays: We've also introduced displays which allow you to render formatted output from runs within the run UI using the JavaScript or Python SDKs. Displays can take the form of markdown-rendered text, tables, JSON, or files and images.
Powerful task orchestration
Airplane enables powerful, complex task orchestration. You can compose tasks together, call tasks from existing workflows, perform loops, reuse logic, and build extremely quickly with Airplane's out-of-the-box functionality.
Built-ins: We've made it faster than ever to build common operations in Airplane with SDK support for Airplane built-ins! It takes just seconds to send REST requests, MongoDB queries, GraphQL requests, Slack messages, and more with just a few lines of code.
Execute other tasks: We also now support executing tasks programmatically from within other tasks, unlocking the ability to build sophisticated multi-step workflows that may require multiple programming languages or shared logic. For example, you can now execute a Shell script from a JavaScript task, reuse logic between functions, and parallelize work!
Support for long-running operations
The features above provide a set of powerful orchestration primitives, however, Airplane Tasks can only execute for up to 24 hours. This is a bottleneck on certain long-running use cases, such as drip campaigns, deployment pipelines, or processes that require input from multiple stakeholders (e.g. onboarding).
Workflow runtime: To support these use cases, we added a new workflow runtime that can execute runs for up to 60 days because it can arbitrarily pause and resume runs whenever they're waiting for external operations to complete. More information on our different task runtimes here: Runtime overview.
Here's a 3-min demo video highlighting some of the above features:
If you're excited about these new features and want to try them out, you can check out our newest getting started guide for orchestrating tasks! 👉 Orchestrate a multi-step, semi-automatic task in under 10 minutes
What's next
We have exciting plans for this year. We're working on polishing our current products - Tasks and Views, adding more Views components, improving performance, and continuing to make our developer experience even better. If anything in this post piqued your interest, you can sign up for free or say hi at [email protected].