---
title: Scheduled tasks
description: Set up natural-language cron jobs that Niyra runs on schedule — daily briefs, weekly reports, conditional alerts.
url: /docs/scheduled-tasks
lastUpdated: 2026-06-10
---

# Scheduled tasks


## Setting up a scheduled task

Just describe it.

> "Send me a daily brief every weekday at 9am with calendar, top 5 unread emails, and any market news on TSLA or GOOGL."

Niyra parses the schedule, confirms what she'll do, and runs it from then on.

## Schedule formats Niyra understands

- **Time-of-day**: "every day at 9am", "every Friday at 5pm"
- **Day-of-week**: "every weekday", "every Monday and Wednesday"
- **Day-of-month**: "the 1st of every month", "the 15th"
- **Cron-style**: if you want, you can write a cron expression directly
- **Relative**: "in 2 hours", "tomorrow morning"
- **Conditional**: "when X happens" (e.g., "when my flight confirms")

## Where output goes

By default, the same channel you set up the schedule in. You can override:

- "Send the brief to my WhatsApp at 9am"
- "Email me the weekly summary every Friday"
- "Voice call me with the morning brief"

## Managing scheduled tasks

Settings → Automations shows every active schedule with last run, next run, output channel.

Pause / edit / delete from there, or in chat:

- "What's scheduled?"
- "Pause the daily brief"
- "Delete the weekly investor update task"

## Conditional automations

Beyond time, you can trigger on events:

- "If my portfolio drops more than 3% in a day, text me."
- "When my flight to Bangalore confirms, add to calendar and remind 24h before."
- "If anyone emails with 'urgent' in the subject after 9pm, push to phone."

These run continuously in the background — Niyra polls the relevant integrations.

## Limits

- **Resolution**: 1 minute (no sub-minute schedules)
- **Standard plan**: 5 simultaneous scheduled tasks
- **Pro / Alpha**: unlimited
- **Pro Plus / Alpha**: 24/7 always-on dedicated machine
- **Pro**: wake-on-use, ~1s cold start for first task in a quiet period

## Troubleshooting

- **Task didn't fire** — Check Settings → Automations → Activity log. Usually a Composio auth issue (token expired) or rate limit.
- **Output wrong format** — Edit the task description; Niyra re-parses the intent.
