For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dashboard
User GuideDeveloper GuidesAPI Reference
User GuideDeveloper GuidesAPI Reference
  • Getting Started
    • What is Runtype?
    • Creating your account
    • Platform keys vs. BYOK
    • Understanding the Runtype UI
    • Quickstart: Social Media Post Generator
    • Quickstart: From Agent to Chat Widget
  • Dashboard
    • What is the Dashboard?
    • Daily executions
  • Playground
    • What is the Playground?
  • Products & Surfaces
    • What are Products?
    • What are Surfaces?
    • Creating a product
    • Setting up a chat surface
    • Setting up an API surface
    • Setting up an MCP surface
    • Setting up an A2A surface
    • Setting up a Slack surface
    • Setting up a webhook surface
    • MCP authentication
    • Authenticating with product API keys
    • Embedding the chat widget (script tag)
    • Embedding the chat widget (React)
    • Surface orchestration modes
    • Product views
    • Adding capabilities to a product
    • Connecting external agents
    • How A2A works
    • Connecting to MCP clients
    • Scoping API keys to capabilities
    • Auto-generated OpenAPI spec
    • Calling your API endpoints
    • Client tokens and domain restrictions
    • AI-powered theme generation
    • Widget theming and customization
    • Product versioning and status
  • Flows
    • What are Flows?
    • Creating and editing flows
    • Flow step types overview
    • Agent and flow templates
    • Using prompt steps
    • Using transform-data steps
    • Using conditional steps
    • Using fetch-url and api-call steps
    • Using record steps (upsert/retrieve)
    • Flow variables and templates
    • Flow versioning and publishing
    • Running flows in batch
    • Handling batch failures
    • Debugging flows
  • Agents
    • What are Agents?
    • Creating and configuring agents
    • Agent tools
  • Records
    • What are Records?
    • Creating and managing records
    • Using records in flows
    • Filtering and searching records
  • Tools
    • What are Tools?
    • Built-in tools
    • Creating custom tools
    • Creating external tools
    • Runtime tools
  • Evals
    • What are Evals?
    • Running an eval
    • Interpreting eval results
  • Schedules
    • What are Schedules?
    • Automating batch processing
  • Logs
    • What are Logs?
    • Working with logs
  • Integrations
    • Connecting AI model providers
    • Slack integration
    • Google Workspace integration
    • GitHub integration
    • Linear integration
    • Weaviate (vector search)
    • Firecrawl (web scraping)
    • Exa (web search)
    • Braintrust (tracing)
  • Settings
    • What's in Settings?
    • Available AI models
    • What are Organizations?
    • Managing AI models
    • Managing API keys
    • Managing secrets
    • Billing and plans
    • Usage data
    • Team members and permissions
    • Appearance and preferences
    • Integrations (PostHog, Weaviate, Daytona)
  • Troubleshooting & FAQ
    • FAQ
    • Rate limits and usage
    • Managing Runtype with Claude
    • Agent skills
    • Flow execution failures
    • Common errors and solutions
    • Authentication issues
Dashboard
LogoLogo
On this page
  • Schedules in practice
  • Creating a Schedule
  • Flow or Agent
  • Target
  • Timing
  • Time zone
  • Using the current time in a Schedule
  • _now — the current date and time
  • _schedule — details about this Schedule
  • The default Schedule message
  • Managing Schedules
  • Edit a Schedule
  • Pause or resume
  • Run now
  • Delete a Schedule
  • Viewing run history
  • Best practices
  • Next steps
Schedules

What are Schedules?

Was this page helpful?
Previous

Automating batch processing

Next
Built with

Schedules let you run your Flows and Agents automatically at a specific time or on a recurring cadence. Instead of starting a Flow or Agent manually each time, you create a Schedule and Runtype runs it for you.

Test your Flow or Agent manually before scheduling it so you know it handles your inputs correctly and completes successfully.

Schedules in practice

A growth lead at a B2B sales intelligence startup needed to identify companies hiring for VP of Sales roles. Manually checking job boards took hours and meant missing opportunities to faster-moving competitors.

She built a Flow that scrapes job boards for new VP of Sales postings, enriches each company with funding data, scores it against ideal customer criteria, and generates personalized outreach messages.

She set the Flow to run daily at 6 AM and targeted a Record Type called lead-sources that contains URLs for job board searches. Each morning, the Flow processes fresh postings overnight, populates her CRM with qualified leads, and queues outreach emails before her team’s standup.

After reviewing the run history, she noticed some boards updated at different times. She split the work into 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 was a larger pipeline on autopilot and faster outreach while new opportunities were still fresh.

Creating a Schedule

To create a Schedule, go to Schedules in the sidebar under Manage, then click Create schedule.

Configure these settings:

Flow or Agent

Select the Flow or Agent you want to run. The list includes the Flows and Agents in your workspace. Each Schedule targets exactly one Flow or one Agent.

Target

Choose which Records to process. Flow Schedules can also run without any Records if the Flow does not require record input.

  • Record Type processes all Records of a specific type. This works well for batch processing because new Records of that type are included automatically.
  • Record IDs processes specific Records you select.
  • Record Filter processes Records matching filter conditions on metadata fields. Filters support operators such as equals, contains, greater than, and time-based comparisons like within the last N days.

Timing

Choose whether the Schedule runs once or on a recurring cadence.

One-time runs the Flow or Agent at one specific date and time.

Recurring runs the Flow or Agent on a repeating schedule. Runtype supports recurring timing options such as every few minutes, hourly, daily, weekly, and monthly.

Time zone

Your Schedule starts with your browser’s current time zone, but you can change it while creating or editing the Schedule. For recurring Schedules, this keeps the execution time consistent in that selected time zone.

Click Create to save the Schedule.

Start with a less frequent cadence, then increase it after you confirm the Flow is behaving as expected.

Using the current time in a Schedule

When a Schedule runs, Runtype gives your Flow or Agent two built-in variables that describe when the run started: {{_now}} and {{_schedule}}. Reference them in messages, prompt steps, and inputs — for example, to ask an Agent to summarize everything since the last run without doing any date math yourself.

Both variables are calculated once when the run starts, in the Schedule’s time zone, and stay fixed for the whole run. Retries and later steps all see the same moment the run began.

_now — the current date and time

Available on every run, scheduled or manual.

VariableExampleDescription
{{_now.date}}2026-05-20Date in the Schedule’s time zone
{{_now.time}}10:42:1324-hour time in the Schedule’s time zone
{{_now.weekday}}WednesdayDay of the week
{{_now.year}}, {{_now.month}}, {{_now.day}}2026, 5, 20Numeric date parts
{{_now.timezone}}America/Los_AngelesThe time zone used to render the fields above
{{_now.iso}}2026-05-20T17:42:13.123ZFull UTC timestamp
{{_now.unix}}1747772533Unix time in seconds

_schedule — details about this Schedule

Available only on scheduled runs — a recurring tick or Run now. It is empty for manual dispatches and surface requests.

VariableExampleDescription
{{_schedule.name}}Morning lead scanThe Schedule’s name
{{_schedule.cron}}0 6 * * *The recurring expression, or empty for one-time Schedules
{{_schedule.timezone}}America/Los_AngelesThe Schedule’s time zone
{{_schedule.lastRunAt}}2026-05-19T13:00:00ZWhen the Schedule last ran, or empty on the first run
{{_schedule.nextRunAt}}2026-05-21T13:00:00ZWhen the Schedule runs next

The default Schedule message

When you create a Schedule, the first message is pre-filled with a short preamble that already uses these variables, so a new Schedule works the moment it fires:

You are running as a scheduled task — autonomous, no human waiting on a reply in real time.
- Now: {{_now.date}} {{_now.time}} {{_now.timezone}} ({{_now.weekday}})
- Schedule: {{_schedule.name}} (cron: {{_schedule.cron || "one-time"}})
- Previous run: {{_schedule.lastRunAt || "this is the first run"}}

Edit or replace this text before saving — it is a starting point, not a requirement. The {{ value || "fallback" }} syntax shows a default when a value is empty, such as on the first run.

Managing Schedules

The Schedules page shows your existing Schedules, their next run, current status, and a separate Run History section below.

Edit a Schedule

Click a Schedule row to open it, update the Flow, target, or timing settings, then click Update.

Pause or resume

Use the pause action to stop future executions without removing the configuration. Use the resume action to turn it back on. Paused Schedules show a Paused status badge.

Run now

Use Run now to queue an immediate execution outside the normal cadence. This is useful when you want to test an updated Flow without waiting for the next scheduled run.

Delete a Schedule

Use the delete action to stop all future executions. Your past run history stays available for review.

Viewing run history

Below the Schedules list, Run History shows past executions with the Flow, status, progress, and timestamps. Open a run to review the results and see how processing completed. If you need more detail about what happened during a run, check What are Logs?.

Watch your first few scheduled runs closely. If something fails, the Schedule still keeps its normal cadence, so check What are Logs? when you need more detail.

Best practices

  • 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. This keeps future Records in scope without editing the Schedule. If you need to create or organize those Records first, see Creating and managing records.
  • Monitor early runs. Review the first few executions to catch configuration issues quickly.
  • Split Schedules when needed. If sources update at different times, create separate Schedules instead of one catch-all run.

Next steps

  • Automating batch processing — Set up automated batch workflows with Schedules.
  • What are Flows? — Understand the workflows you are automating.
  • What are Records? and Creating and managing records — Set up the data your Schedule will process.
  • What are Logs? — Troubleshoot scheduled runs.