Using backend workflows can be ideal and/or necessary in the following situations:
When you have long and complex workflows with a lot of actions
When you need to reuse the same workflow from different parts (pages/reusables) of the application
When you need to run a workflow on a list of things, (i.e., loop through a list)
When you need to schedule a workflow in the future (with the ability to cancel the workflow)
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.
If you want to create a webhook - or endpoint - to allow other applications to send and receive data from your Bubble app.
Our template comes with 8 Backend workflows:
check_app_location: Determines if this application's identifiers are correct. This is necessary for the Canvas Page Builder to function properly.
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.
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.
send_email_template: This workflow is a template action that can be copied and edited for new email template backend actions.
update_page: The Canvas Page Builder uses this as part of the page publishing flow. It updates a page's HTML and other fields.
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.
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.