Scheduled API workflows in Bubble let you run backend processes at specific times or on recurring intervals. This tutorial covers scheduling one-off tasks, building recurring workflows with self-rescheduling patterns, managing the schedule queue, and common use cases like daily reports and subscription renewals.
Overview: Scheduled API Workflows in Bubble
Scheduled workflows are essential for automation — sending reminders, generating reports, processing payments, cleaning up data, and any task that needs to run without user interaction. Bubble lets you schedule backend workflows for a specific future time or create recurring patterns.
Prerequisites
- A Bubble app on Starter plan or above
- Backend workflows enabled in Settings → API
- At least one backend API workflow created
- Understanding of backend workflow parameters
Step-by-step guide
Schedule a one-off workflow for a specific time
Schedule a one-off workflow for a specific time
In any workflow (frontend or backend), add the action Schedule API Workflow. Select the backend workflow you want to schedule. Set the Scheduled date to the desired run time — this can be a static date, a dynamic expression like Current date/time +(hours): 24 for tomorrow, or a date from a database field. Set the parameter values. The workflow will run once at the scheduled time.
Pro tip: Use dynamic date expressions for relative scheduling: Current date/time +(minutes): 30 for 30 minutes from now, or a Booking's date +(hours): -24 for 24 hours before an appointment.
Expected result: The backend workflow is scheduled to run once at the specified future time.
Build a recurring workflow with self-rescheduling
Build a recurring workflow with self-rescheduling
To create a repeating task, make the backend workflow schedule itself as its last action. For example, a daily report workflow: after generating the report, add Schedule API Workflow targeting itself with a Scheduled date of Current date/time +(hours): 24. Add a termination condition — an Only When check that prevents rescheduling if a flag is set to stop the recurrence.
Expected result: The workflow runs and then schedules itself to run again, creating a recurring pattern.
Schedule workflows on a list of items
Schedule workflows on a list of items
Use Schedule API Workflow on a List to process multiple items. Set the list to a search result and the workflow to your backend process. Each item in the list gets its own scheduled execution. Bubble processes them sequentially with a small delay between each. This is the standard pattern for bulk operations like sending batch emails or updating many records.
Expected result: Each item in the list is processed by its own scheduled workflow execution.
Monitor and manage the schedule queue
Monitor and manage the schedule queue
Go to the Logs tab in your editor and check the Scheduler section to see pending and completed scheduled workflows. You can see the scheduled time, status, and any errors. To cancel a scheduled workflow, use the Cancel a Scheduled Workflow action in a workflow, referencing the scheduled workflow's ID (returned by the Schedule API Workflow action as its result).
Expected result: You can view, monitor, and cancel scheduled workflows from the Logs tab.
Build common automated task patterns
Build common automated task patterns
Common patterns include: (1) Daily cleanup: delete soft-deleted records older than 30 days. (2) Email reminders: schedule 24 hours before an event date. (3) Subscription renewals: check and process on the billing date. (4) Report generation: aggregate data and email a summary. (5) Data sync: pull data from external APIs on a schedule. Each follows the same pattern: create a backend workflow, schedule it for the right time.
Expected result: Automated tasks run reliably on schedule without user intervention.
Complete working example
1SCHEDULED WORKFLOWS SUMMARY2=============================34ONE-OFF SCHEDULE:5 Action: Schedule API Workflow6 Workflow: send-reminder7 Scheduled date: Booking's date +(hours): -248 Parameters: booking = This Booking910RECURRING SCHEDULE (daily report):11 Backend Workflow: daily-report12 1. Generate report data (searches, aggregations)13 2. Send email with report14 3. Schedule API Workflow: daily-report15 Scheduled date: Current date/time +(hours): 2416 Only when: stop_reports is not yes1718BULK PROCESSING:19 Action: Schedule API Workflow on a List20 List: Search for Users (subscription_end < Today)21 Workflow: process-renewal22 Parameters: user = This item2324CANCELLING:25 Result of Schedule API Workflow → returns workflow ID26 Store the ID in a database field27 Cancel: Cancel a Scheduled Workflow → the stored ID2829COMMON PATTERNS:30 1. Reminders: schedule at event_date - 24h31 2. Cleanup: daily, delete deleted=yes AND modified < 30d ago32 3. Billing: on user's billing_date, process payment33 4. Reports: daily/weekly, aggregate and email34 5. Data sync: hourly, pull from external API35 6. Trial expiry: on trial_end_date, downgrade plan3637MONITORING:38 Logs tab → Scheduler section39 Shows: pending, completed, failed workflows40 Can view errors and retry failed executionsCommon mistakes when setting up scheduled API workflows in Bubble.io: Step-by-Step Guide
Why it's a problem: Creating a recurring workflow without a termination condition
How to avoid: Always include a conditional check before rescheduling — check a flag, a date limit, or a record status
Why it's a problem: Scheduling on a list with thousands of items at once
How to avoid: Process in batches — schedule 100 items at a time, then schedule the next batch after the first completes
Why it's a problem: Not storing the scheduled workflow ID for cancellation
How to avoid: Store the Result of Schedule API Workflow (the workflow ID) in a database field so you can cancel it later
Best practices
- Always include a termination condition for recurring workflows
- Store scheduled workflow IDs in the database for cancellation capability
- Process large lists in batches to avoid overwhelming the scheduler
- Use the Logs tab to monitor scheduled workflow execution and errors
- Schedule during off-peak hours to minimize impact on live app performance
- Add error handling inside scheduled workflows to prevent silent failures
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I need to set up scheduled workflows in Bubble.io for three use cases: daily email reports, 24-hour appointment reminders, and monthly subscription billing. Can you walk me through the scheduling patterns and termination conditions?
Set up scheduled workflows for my app. I need daily cleanup of old records, appointment reminders 24 hours before, and recurring subscription billing. Create the backend workflows and scheduling logic.
Frequently asked questions
What is the minimum scheduling interval?
You can schedule workflows as close as 1 second apart, but very frequent scheduling (every few seconds) consumes significant WUs and may not be reliable. For polling patterns, 1-5 minute intervals are more practical.
Do scheduled workflows consume WUs?
Yes. Each scheduled workflow execution consumes WUs based on the actions it performs. Recurring workflows that run frequently can accumulate significant WU costs.
What happens if a scheduled workflow fails?
The workflow fails and the error is logged in the Logs tab. It does not automatically retry. For critical tasks, add error handling that re-schedules the workflow on failure.
Can I schedule workflows from the development environment?
Yes, but they run against the development database. For production scheduling, deploy your app to live and trigger the initial schedule from the live environment.
How many workflows can be scheduled simultaneously?
There is no documented hard limit, but very large queues (thousands) may experience delays. Process in batches for large operations.
Can RapidDev help with complex automation systems?
Yes. RapidDev has built automated systems in Bubble including multi-step approval workflows, billing pipelines, data synchronization jobs, and complex scheduling with dependency management.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation