Skip to content

Scheduled jobs

A job is a prompt plus a schedule. When a job fires, Alfe sends the prompt to the agent as a new turn and posts the reply in the job owner’s direct chat with that agent. Alfe keeps the clock, so a job runs whether or not anyone has a session open.

Use a job for a morning briefing, a recurring report, or a one-off “check this order again in 45 minutes”.

You need permission to update and chat with the agent.

  1. Open the agent and select the Jobs tab.
  2. Select New job.
  3. Enter a Name and a Prompt. Write the prompt so it stands alone: say what to check and what to report.
  4. Choose how the job Repeats, and pick a Timezone.
  5. Optionally change the Stale window, then select Create job.

The new job appears under Alfe jobs with its next run time.

Every job has one of three schedule kinds. The dashboard’s daily, weekday, and weekly options build a cron for you.

Kind Runs Rules
Once At one date and time, then completes. At least 1 minute and at most 366 days ahead.
Interval Every N minutes. At least 5 minutes.
Cron On a standard 5-field cron: minute, hour, day of month, month, day of week. Runs must be at least 5 minutes apart.

A cron can’t restrict both the day of the month and the day of the week. It also can’t use the L, W, #, or ? extensions.

A cron and a one-time job are read in the job’s timezone, including daylight saving changes. Timezones are IANA names such as Australia/Sydney or America/New_York. Offsets and abbreviations such as +10:00 or AEST are refused.

The dashboard defaults to your browser’s timezone. If an agent creates a job without a timezone, Alfe uses the owner’s timezone when it knows one. Otherwise the request fails, and Alfe never assumes UTC.

Every job has an owner, and the job speaks as that person. This keeps a job from saying something its owner didn’t choose.

  • Jobs you create belong to you.
  • Jobs an agent creates belong to the person who created that agent, and they show a Created by agent badge.
  • Editing what a job says makes you its owner. If you change another person’s job’s prompt, schedule, or timezone, the job re-owns to you. Renaming it, pausing it, or changing its stale window doesn’t change the owner.
  • Agents can’t rewrite a person’s job. An agent can see jobs people created on it, but it can only change, delete, or run the jobs it created itself.
  • The owner must keep access. Alfe checks that the owner can still chat with the agent on every run. If they can’t, the run is skipped.

An organization agent with no recorded creator can’t schedule its own jobs. Someone who manages the agent must create them in the dashboard.

Each reply posts in the owner’s direct chat with the agent, labelled with the job’s name. Replies notify the owner the same way as any other agent message. To stop a run in progress, use Stop in that conversation. The run is then recorded as Stopped.

Alfe holds the run until the agent reconnects, and keeps only the newest run for each job. It delivers that run only if it’s still inside the job’s stale window, which defaults to 15 minutes and can be up to 1,440 minutes (24 hours). A later run skips with a reason you can see in the run history.

Select a job, or choose Run history from its menu, to see its next runs, its prompt, and its previous runs with the most recent first. Only people who can chat with the agent can see the prompt.

Result Meaning
Starting, In progress The run is underway. A job runs one turn at a time, so a run that comes due meanwhile is skipped.
Waiting for agent The agent is offline and Alfe is holding the run.
Completed The agent replied.
Failed The run couldn’t start or the agent’s turn failed.
Stopped Someone stopped it from the conversation.
Skipped The run didn’t happen. The reason column says why, for example the previous run was still going or there weren’t enough credits.

Job status is separate from run results. A job is Active, Paused, Completed (a one-time job after it ran), or Turned off.

Limit Value
Active jobs per agent 25
Active jobs per organization 200
Scheduled runs per agent per day (UTC) 500
Jobs an agent can create itself per day 20
Run now on one job Once a minute
Job name 100 characters
Prompt 8,000 characters

Each run is an ordinary agent turn, so it uses credits like any other turn unless the agent runs on its own model credential. A run is skipped if the organization doesn’t have the credits for it. See live pricing.

Scheduled jobs aren’t available under a non-standard data boundary.

Agents on Claude Code, Codex, Gemini CLI, and Grok Build get these tools for scheduling their own work:

  • job_create — schedules a turn with a relative one-shot ({kind:"in",minutes}), an absolute time, an interval, or a cron.
  • job_list — lists the agent’s jobs. Pass includeDisabled to include inactive ones.
  • job_update — changes a job, or pauses and resumes it.
  • job_delete — deletes a job.
  • job_run_now — runs a job once, outside its schedule.

Agents on OpenClaw keep OpenClaw’s own cron. Those jobs appear in the same Jobs tab, separately from Alfe jobs, and the runtime runs them rather than Alfe. You can still schedule Alfe jobs on an OpenClaw agent from the dashboard.