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”.
Create a job in the dashboard
Section titled “Create a job in the dashboard”You need permission to update and chat with the agent.
- Open the agent and select the Jobs tab.
- Select New job.
- Enter a Name and a Prompt. Write the prompt so it stands alone: say what to check and what to report.
- Choose how the job Repeats, and pick a Timezone.
- Optionally change the Stale window, then select Create job.
The new job appears under Alfe jobs with its next run time.
Schedules
Section titled “Schedules”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.
Timezones
Section titled “Timezones”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.
Who a job speaks as
Section titled “Who a job speaks as”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.
Delivery
Section titled “Delivery”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.
When the agent is offline
Section titled “When the agent is offline”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.
Run history
Section titled “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.
Limits
Section titled “Limits”| 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.
Jobs from agents
Section titled “Jobs from agents”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. PassincludeDisabledto 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.
Related resources
Section titled “Related resources”- Jobs in the Agent API — the client methods and error codes.
- Runtimes — the runtimes an agent can run on.
- Billing overview — how credits work.