Skip Navigation
Show nav
Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
Hide categories

Categories

  • Heroku Architecture
    • Compute (Dynos)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Developer Tools
    • Command Line
    • Heroku VS Code Extension
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery & Integration (Heroku Flow)
    • Continuous Integration
  • Language Support
    • Node.js
      • Troubleshooting Node.js Apps
      • Working with Node.js
      • Node.js Behavior in Heroku
    • Ruby
      • Rails Support
      • Working with Bundler
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Background Jobs in Python
      • Python Behavior in Heroku
      • Working with Django
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Working with Maven
      • Working with Spring Boot
      • Troubleshooting Java Apps
    • PHP
      • Working with PHP
      • PHP Behavior in Heroku
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
      • Migrating to Heroku Postgres
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • Other Data Stores
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • Inference Essentials
      • AI Models
    • Vector Database
    • Model Context Protocol
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
      • Single Sign-on (SSO)
    • Private Spaces
      • Infrastructure Networking
    • Compliance
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Add-ons
  • All Add-ons
  • FlightFormation Autoscale
FlightFormation Autoscale

This add-on is operated by Sparkadvanced LLC

Stability made easy. Autoscaling any dyno type to keep apps fast and online.

FlightFormation Autoscale

Last updated April 24, 2025

Table of Contents

  • Is FlightFormation right for you?
  • Provisioning the add-on
  • Interface
  • Advanced Provisioning Options
  • Removing the add-on
  • More resources and documentation
  • Support

FlightFormation is an add-on for scaling Heroku dynos automatically on your schedule. FlightFormation is powerful yet uses a simple interface and requires no code changes to your application since we interface directly with the Heroku API.

Is FlightFormation right for you?

FlightFormation requires no code changes. You can use it right away.

FlightFormation fits best with applications that are:

  • Running on Heroku (I guess that’s obvious?)
  • Have “lumpy” traffic patterns (e.g. busy during the day, less busy at night)
  • Would prefer higher performance during busy times and lower cost overall


Provisioning the add-on

Web Interface

FlightFormation can be provisioned via the Heroku addons marketplace here: FlightFormation

Command Line Interface (CLI)

FlightFormation can be attached to a Heroku application via the CLI:

$ heroku addons:create flightformation
-----> Adding flightformation to sharp-mountain-4005... done, v18 (free)

After you install FlightFormation, your application is ready to go! No changes to your application are needed.

Advanced Provisioning Options

More advanced provisioning options are available. Please refer to the Advanced Provisioning section of this article for more information.


Interface

The FlightFormation interface allows you to configure all your dyno scaling formations and scheduling.

You can access the interface via the CLI:

$ heroku addons:open flightformation
Opening flightformation for sharp-mountain-4005

or by visiting the Heroku Dashboard and selecting FlightFormation from the Add-ons menu.

Formations

FlightFormation uses dyno formations to automatically scale your application. This is the Heroku term for a set of dyno types and quantities that make up your application. We make it easy to create and manage these formations. A quick example of how easy it is to create a new formation: FlightFormation - New Dyno Scaling Formation Read even more about scaling and formations here

Schedule

Creating a schedule is as simple as selecting a formation and setting the time and days you want it to run. Another examples, this time how to create a schedule for your Heroku application:

FlightFormation - New Schedule More documentation about using schedules to autoscale your application here


Advanced Provisioning Options

If you would like to provision FlightFormation with more control over the initial setup, you can pass additional parameters during provisioning. This can be useful if you are using a tool such as terraform to manage your infrastructure.

Timezone (timezone flag)

Set the timezone to use for your schedules, in the Olson tz format. FlightFormation will fuzzy search for the timezone if you provide a partial match.

Example: Setting timezone when provisioning
heroku addons:create flightformation -- --timezone="America/New_York"


Formations (formations flag)

Pass a JSON array of initial formations to create when the add-on is provisioned. Each formation should have a name and at least one process. Schedules can also be included in the formation object. See examples. These examples use JSON5 for easier reading, you can pass as JSON5 or regular old JSON if you want.

Example: Setting a simple formation when provisioning
heroku addons:create flightformation -- --timezone="America/New_York" \
 --formations="[{name: 'my formation', processes: [{type: 'web', quantity: 1, size: 'Basic'}]}]"

A more complex example of what you could include in the formations flag with scheduling is next (JSON5 only shown for easier reading, pass this like a string as shown above)

Example: Complex formations payload with schedules (not shown stringified for easier reading)
[
  {
    name: "Night Formation",
    processes: [
      {
        type: "web",
        quantity: 1,
        size: "Standard-1X"
      }
    ],
    schedule: [
      {
        // days can be a list such as ["monday", "thursday"], or "all", "weekdays", or, "weekends"
        days: "all",
        type: "recurring", // "recurring" or "onetime"
        time: "20:00", // use 24 hour time or "08:00 PM"
        description: "Scale down at night" // optional
      }
    ]
  },
  {
    name: "Weekday Formation",
    processes: [
      {
        type: "web",
        quantity: 3,
        size: "Standard-2X"
      }
    ],
    schedule: [
      {
        // days can be a list such as ["monday", "thursday"], or "all", "weekdays", or, "weekends"
        days: "weekdays",
        type: "recurring",
        time: "08:00"
      }
    ]
  },
  {
    name: "Sale Formation",
    processes: [
      {
        type: "web",
        quantity: 5,
        size: "Performance-M"
      }
    ],
    schedule: [
      {
        type: "onetime",
        description: "Sale schedule", // optional description
        start: "2025-01-01T09:00", // ISO 8601 date
        end: "2025-01-01T17:00"
      }
    ]
  },
  {
    name: "Off/Maintenance Formation",
    processes: [
      {
        type: "web",
        quantity: 0,
        size: "Basic"
      }
    ]
  }
]


Removing the add-on

You can remove FlightFormation via the CLI:

This will destroy all associated data and cannot be undone!

$ heroku addons:destroy flightformation
-----> Removing flightformation from sharp-mountain-4005... done, v20 (free)


More resources and documentation

  • Documentation to quickly get going with FlightFormation
  • QuickStart guide to get automatically scaling your application
  • Overview of how FlightFormation autoscales your application

Support

All FlightFormation support and runtime issues should be submitted via one of the Heroku Support channels. Any non-support related issues or product feedback is welcome at contact@flightformation.com.

Keep reading

  • All Add-ons

Feedback

Log in to submit feedback.

Zara 4 Flying Sphinx

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices