Skip to content

Schedule

The Schedule trigger runs the agent at fixed times — daily, weekly, or monthly — with no incoming message required. You can keep the output in the database only (visible on the Executions page) or deliver the response to a connected channel (Telegram, WhatsApp, or an API webhook).

A single agent can have several schedules active at once. Each run consumes credits like any other conversation.

Confirm that:

  • the agent is active and the prompt is ready to run without a user message;
  • if you plan to deliver in another channel, that channel is already connected on the same agent (Telegram, WhatsApp Official, etc.);
  • the organization has enough credits.

The agent’s prompt should expect an automatic trigger message, in the format [Automatic schedule run "<name>"] Start your scheduled task. — write the prompt to react to that.

  1. Open the agent in the admin panel.
  2. Go to Triggers.
  3. In the Schedules card, click Add Schedule.
  4. Pick the Frequency: daily, weekly, or monthly.
  5. Set the Time (in your browser’s timezone — the system converts it to UTC automatically).
  6. If weekly, pick the Day of week. If monthly, pick the Day of month (1 to 28).
  7. Under Delivery channel, choose how the agent will deliver the result:
    • Save to database only (view in Executions) — the result lands on the Executions page, with no outbound delivery.
    • Telegram — sends to a Chat ID. Requires the Telegram bot already connected on the agent.
    • WhatsApp (QR or Official) — sends to a phone number.
    • API (webhook) — fires the webhook configured in the API channel.
  8. Click Save.

Paste the destination Chat ID. If you don’t know where to find it, see How to get your Telegram Chat ID.

Heads up: never paste the bot’s own ID (the digits before the : in the token). The system blocks this mistake because bots cannot message themselves — send /start to the bot on Telegram and use your user or group ID.

Provide the full Phone number with the country code, no + or spaces. Example: 5511999999999.

Uses the webhook_url configured in the same agent’s API trigger. If you did not set one, the schedule fires synchronously and the result is stored in the conversation.

Each schedule has a Test button. It runs the agent right now, as if the time had arrived, and shows you the sent message and the reply in the same dialog. The test consumes credits.

Use Test whenever you change prompt, tools, or delivery channel — before waiting for the next scheduled run.

  • The pencil icon opens the form with the current configuration. Saving replaces the schedule (removes the old one and creates a new one).
  • The trash icon removes the schedule. Future runs stop immediately; past executions stay visible on Executions.
  • Timezone: the time shown in the form uses your browser’s timezone. The backend stores it as UTC and Supabase’s pg_cron runs in UTC. Because of that, timezones that observe daylight saving time may drift by 1h twice a year. Brazil does not observe DST, so the common case is unaffected.
  • Day of month maxes at 28. Guarantees the run exists in every month (no 29, 30, 31).
  • Agent model: if the agent has no LLM set, the schedule falls back to openai/gpt-4o-mini.
  • Failures: when the destination channel no longer exists or is inactive, the run logs an error visible on Executions with the cause.
  • “Destination channel not found or inactive”: the trigger of the chosen channel (Telegram, WhatsApp, API) was disconnected after the schedule was created. Reconnect the channel and try again.
  • Schedule did not run at the expected time: check your browser’s timezone when you created it and confirm the schedule is still active.
  • Telegram returns an error: confirm the Chat ID and that the bot has access to the chat (in groups, the bot must be added).