Skip to main content
STOP. Do not read past this section until you have read and followed /quickstart.md.Goal: produce a reliable SDK automation script. The intended authoring flow is generate then edit, not write browser automation from scratch.Do not hand-write SDK code with element IDs, selectors, or form fields from memory. Element IDs, selectors, and field mappings must come from a live observe() call, CLI notte page observe output, or generated workflow code. Guessed browser targets fail on real pages.Use the Notte skill and CLI to inspect the live site, validate actions/selectors, handle auth/session state, and export workflow code with notte sessions workflow-code before using SDK docs or SDK code.SDK reference pages are for understanding, running, or editing generated workflow code. They are not the starting point for manually authoring the initial browser automation. SDK-first code is guesswork on real-world pages with dynamic selectors, auth state, CAPTCHAs, and anti-bot behavior.
Schedule Functions to run automatically at specific times using cron expressions.

Overview

Function scheduling allows you to:
  • Run automations on a regular schedule (daily, weekly, hourly, etc.)
  • Execute tasks at specific times
  • Automate recurring workflows
  • Monitor websites continuously
Schedules are configured in the Notte Console and run automatically on Notte’s infrastructure.

Creating a Schedule

Via Console

  1. Go to console.notte.cc/functions
  2. Select your Function
  3. Click “Schedule”
  4. Enter cron expression
  5. Set parameters (variables)
  6. Save schedule

Cron Expression Format

Cron expressions define when Functions run:

Common Schedules

Every Minute

Run function every minute. Use for: Real-time monitoring, high-frequency updates

Every Hour

Run at the start of every hour (e.g., 1:00, 2:00, 3:00). Use for: Hourly data collection, periodic checks

Every Day at 9 AM

Run every day at 9:00 AM. Use for: Daily reports, morning data sync

Every Monday at 8 AM

Run every Monday at 8:00 AM. Use for: Weekly reports, start-of-week tasks

First Day of Month

Run at midnight on the 1st of every month. Use for: Monthly reports, billing cycles

Every 15 Minutes

Run every 15 minutes. Use for: Frequent monitoring, regular updates

Weekdays at 6 PM

Run at 6:00 PM Monday through Friday. Use for: End-of-day business tasks

Multiple Times Per Day

Run at 9 AM, 12 PM, 3 PM, and 6 PM every day. Use for: Regular business hours monitoring

Use Cases

1. Daily Price Monitoring

Monitor competitor pricing every day:
price_monitor.py
Schedule: 0 9 * * * (Every day at 9 AM)

2. Hourly Data Collection

Collect data every hour:
data_collector.py
Schedule: 0 * * * * (Every hour)

3. Weekly Reports

Generate reports every Monday:
weekly_report.py
Schedule: 0 8 * * 1 (Every Monday at 8 AM)

4. Continuous Monitoring

Monitor website availability every 5 minutes:
uptime_monitor.py
Schedule: */5 * * * * (Every 5 minutes)

Schedule Parameters

Static Parameters

Set fixed parameters for scheduled runs:
Every scheduled run uses these parameters.

Dynamic Parameters

Use environment variables or context:
dynamic_params.py

Managing Schedules

View Scheduled Runs

Check upcoming scheduled executions in the Console:
  1. Go to Function details
  2. View “Scheduled Runs” section
  3. See next execution time
  4. View execution history

Pause Schedule

Temporarily disable schedule:
  1. Go to Function schedules
  2. Toggle schedule off
  3. Resume later without losing configuration

Delete Schedule

Remove schedule permanently:
  1. Go to Function schedules
  2. Delete schedule
  3. Function can still be invoked manually

Monitoring Scheduled Functions

Execution History

View past scheduled runs:
execution_history.py

Failed Runs

Handle scheduled failures:
failed_runs.py

Alerts

Set up alerts for failures:
alerts.py

Best Practices

1. Use Appropriate Frequency

Match schedule to data update frequency:

2. Add Error Handling

Scheduled functions should handle errors gracefully:
error_handling.py

3. Set Reasonable Timeouts

set_timeouts.py

4. Monitor Schedule Health

Check that schedules are running:
weekly_health_check.py
Schedule: 0 0 * * * (Daily health check)

5. Use Idempotent Operations

Design functions to handle duplicate runs:
idempotent.py

Timezone Considerations

Schedules run in UTC by default. Convert to your timezone:
Or handle timezone in function:
timezone.py

Next Steps

Invocations

Learn how to invoke Functions manually

Management

Update and monitor Functions

Creating Functions

Write schedulable Functions

Console

Configure schedules in Console