Create an automation
The fastest way to create an automation is to ask the chat assistant. Describe what you want triggered and when, and the assistant builds the automation, validates the cron, and confirms. The Automations tab handles the hand-built version when you want fine control.
Before you start
Section titled “Before you start”- Moonjar app installed and signed in.
- A clear idea of what should happen and when.
Through chat (recommended)
Section titled “Through chat (recommended)”-
Open Chat.
-
Describe the automation:
“Every weekday at 8am Brisbane time, summarise any new documents I captured yesterday and push me a notification.”
-
The assistant calls
create_automationwith a schedule trigger (cron0 8 * * 1-5, tzAustralia/Brisbane), the instructions you described, and the right tools selected. -
The assistant confirms — “Created. First run is tomorrow at 8am.”
For a condition trigger:
“Every 10 minutes for the next 8 hours, check if my QF11 flight today has been delayed by more than 30 minutes. If yes, push me a notification.”
The assistant builds a condition trigger with
poll_interval_seconds: 600 and ends_at 8 hours out.
From the Automations tab
Section titled “From the Automations tab”- Open the Automations tab.
- Tap + to create.
- Pick a trigger kind:
- Schedule — enter a cron expression (or pick from a small set of presets) and a timezone.
- Condition — pick a polling interval (minimum 1 minute). Optionally set an end time.
- Write the instructions — what the automation should do when it runs.
- Pick which tools the assistant can use (the picker shows every built-in tool, grouped by category).
- Pick where it runs:
- Anywhere — the server handles it.
- Mobile only — the automation needs the phone awake (for health-tracker reads, push notifications, device tools).
- Save.
The first run is computed from the trigger:
- Schedule — the next time the cron matches.
- Condition — now plus the polling interval.
What happens after
Section titled “What happens after”The runner picks up the automation on its next 60-second tick. The agentic loop runs your instructions — same model, same tools as the chat assistant — and records the outcome. You can see every run in the automation’s history.
A failing automation (the model errored, a tool failed) doesn’t silently disappear — the run is recorded with the error, and the next scheduled run still fires.
Troubleshooting
Section titled “Troubleshooting”“trigger.cron is required for schedule” — the cron field is empty or missing. Add a valid cron expression.
“invalid cron: …” — Moonjar uses standard cron parsing. Test the expression in any cron tool first.
“trigger.poll_interval_seconds must be >= 60” — condition triggers can’t poll faster than once a minute.
Automation doesn’t run on the expected day. Check the timezone
on the trigger. A schedule with tz: UTC runs in UTC, not your
local timezone, even if you live in Brisbane.
Mobile-only automation skipped. The phone wasn’t reachable at the trigger time. Mobile-only runs queue and try again on the next tick when the phone is reachable.