What are Schedules?
Use Schedules to run Flows and Agents automatically at a specific time or on a recurring cadence. Create a Schedule instead of starting a Flow or Agent manually each time.
Test your Flow or Agent manually before you schedule it. Confirm that it handles your inputs and completes successfully.
If you build from a full product object (FPO) template, define executable automation in the top-level productObject.schedules[] array. For more information, see FPO templates.
A Product Surface with type: "schedule" is optional. It presents or manages schedule behavior but does not create an executable trigger.
How Schedules work
Dana leads growth at Example Organization, a business-to-business (B2B) sales intelligence company. Manually checking job boards takes hours and causes the team to miss opportunities to faster-moving competitors.
Dana builds a Flow that scrapes job boards for new vice president of sales postings and enriches each company with funding data. The Flow scores each company against ideal customer criteria and generates personalized outreach messages.
Dana sets the Flow to run daily at 6 AM and targets a Record Type called lead-sources. The Record Type contains URLs for job board searches. Each morning, the Flow processes fresh overnight postings, adds qualified leads to the customer relationship management (CRM) system, and queues outreach emails before the team’s standup.
After reviewing the run history, Dana notices that some boards update at different times. Dana creates two Schedules: one at 6 AM for boards that update overnight and another at 2 PM for boards that post during business hours.
The result is a larger pipeline and faster outreach while new opportunities remain fresh.
Create a Schedule
To create a Schedule, open Schedules from the sidebar and click New schedule. The Create Schedule panel opens.
Select a Flow or Agent
Select Flow or Agent, then select the Flow or Agent that you want to run. The list includes the Flows and Agents in your workspace. Each Schedule targets exactly one Flow or one Agent.
Choose a target
Choose which Records to process. Flow Schedules can run without Records when the Flow does not require record input. Choose from the following targets:
- Record Type: Process all Records of a specific type. New Records of that type are included in later runs.
- Record IDs: Process the specific Records that you select.
- Record Filter: Process Records that match metadata conditions. Use operators such as equals, contains, greater than, and within the last N days.
Set the timing
Choose one of the following timing options:
- One-time: Run the Flow or Agent at one specific date and time.
- Recurring: Run the Flow or Agent on a repeating schedule. Choose an interval of minutes, hours, days, weeks, or months.
Set the time zone
The dashboard uses your browser’s current time zone to display and edit Schedule times. Recurring Schedules use that time zone for execution. When a Schedule has no time zone, _now uses UTC.
Click Create to save the Schedule.
Start with a less frequent cadence. Increase the frequency after you confirm that the Flow behaves as expected.
Use the current time in a Schedule
Use the built-in _now and _schedule variables to include schedule timing and metadata in messages, prompt steps, and Flow inputs. A scheduled run calculates these values once and keeps them fixed throughout the run.
_now: the current date and time
The _now variable is available in scheduled and manual runs. Its date and time fields use the execution time zone.
The following table lists the fields that you can reference from _now:
_schedule: details about this Schedule
The _schedule variable is available in scheduled runs, including recurring ticks, one-time schedules, and Run now. It is empty for manual dispatches and surface requests.
The following table lists the fields that you can reference from _schedule:
Use the default Schedule message
The dashboard pre-fills the first message for an Agent Schedule that uses message sets. The preamble includes the date, time, time zone, weekday, Schedule name, cron expression, and previous-run time.
The preamble includes lines like the following:
The full preamble instructs the Agent to complete the task and stop. It also instructs the Agent to contact a human through a messaging, email, issue, or approval tool when needed. Edit or replace the preamble before saving. Keep at least one message in the set for an Agent Schedule that uses message sets.
A scheduled run has nobody to answer a mid-run approval prompt. If the Agent carries a tool approval policy (tools.approval.require), the run fails with an error naming that policy instead of pausing, and no gated tool runs. Remove the policy from the scheduled Agent, or move the approval-gated work to a Surface that can collect a decision.
Manage Schedules
The Schedules page lists existing Schedules, their next run, and their status. Select a Schedule to open its detail sheet. The sheet includes Runs, Config, and JSON tabs.
Edit a schedule
Select a Schedule, click Edit, update the Flow, Agent, target, messages, inputs, or timing, then click Update.
Pause or resume
To stop future executions without deleting the configuration, click Pause. To re-enable future executions, click Resume. Paused Schedules show a Paused status.
Run now
To trigger an immediate execution outside the normal cadence, click Run now. The run can queue, complete, or fail immediately. It appears in the Runs tab.
Delete a schedule
To remove a Schedule, click Delete, then confirm. The Schedule no longer appears in the list.
View run history
Open a Schedule and select the Runs tab to review past executions. Each run shows its status, duration, timestamps, and errors when available. Record progress appears for record-based runs. Open a run to review its results.
If a recurring run fails, the Schedule keeps its normal cadence. Review Logs to investigate the failure.
Best practices
Use these practices to keep scheduled runs predictable:
- Start with manual testing. Run your Flow with test Records before you automate it.
- Choose the right cadence. Match the Schedule to how often your data changes.
- Use Record Types for batches. Keep future Records in scope without editing the Schedule. To create or organize those Records first, see Creating and managing records.
- Monitor early runs. Review the first few executions to find configuration issues.
- Split Schedules when needed. If sources update at different times, create separate Schedules instead of one catch-all run.
Next steps
Continue with these guides:
- Automating batch processing: Set up automated batch workflows with Schedules.
- What are Flows?: Understand the workflows that you automate.
- What are Records?: Understand the data that your Schedule processes.
- What are Logs?: Troubleshoot scheduled runs.