Backend Workflows

Your app must be on a paid Bubble plan to use Backend Workflows

Using backend workflows can be ideal and/or necessary in the following situations:

  1. When you have long and complex workflows with a lot of actions

  2. When you need to reuse the same workflow from different parts (pages/reusables) of the application

  3. When you need to run a workflow on a list of things, (i.e., loop through a list)

  4. When you need to schedule a workflow in the future (with the ability to cancel the workflow)

  5. If you want your workflow to run asynchronously. Backend workflows run on Bubble's server, and any workflow on a standard Bubble page which schedules a Backend workflow won't need to wait for the entire (Backend) workflow to finish before moving on to the next step in the front-end workflow.

  6. If you want to create a webhook - or endpoint - to allow other applications to send and receive data from your Bubble app.

For more information on Backend workflows, read AirDev's Bubble Development Guide and Bubble's Manual.

Pro tip: If you'd like to run backend workflows synchronously (in order in the WF) and receive a response to the workflow action, set up an API connector action that points at the backend Workflow's API. Note that any API token used in the API Connector action should not be passed in the URL, but in the headers, and it should be marked as "Hidden" so that it cannot be stolen by app users.

Our template comes with 11 Backend workflows in the following folders


  • verify_send: This will create a new verify record in the database and send a code to the user via email or sms

  • verify_check: This endpoint is called when the user submits a code to verify their email or phone number. When run, Canvas will verify whether the code is valid and return true or false

  • verify_delete: Deletes a verify record 15 minutes after it has been created.


  • send_email_template: This workflow is a template action that can be copied and edited for new email template backend actions.


  • check_app_location: Determines if this application's identifiers are correct. This is necessary for the Canvas Page Builder to function properly.

  • record_registration: Used one time when the Canvas app is registered with the Page Builder. It generates a private token which will be used for authentication between the two apps. Additionally, it re-generates the public token, since the public token used for this call was sent in the URL of the Canvas admin user's browser during the registration process.

  • update_usersnap - When you start a project with AirDev, we'll use this workflow to enable usersnap testing on your app so you can submit feedback in our client management portal.

Page builder

  • check_request: Page builder uses this to authenticate both the private and public tokens with a Canvas app. Returns information used by the page builder, like page files' names and URLs.

  • update_page: The Canvas Page Builder uses this as part of the page publishing flow. It updates a page's HTML and other fields.

  • upload_files: Canvas Page Builder uses this to upload a list of files and images to a page.

  • upload_image: Canvas Page Builder uses this to a single image to a page.

Last updated