Why scheduled agents need memory
An agent that starts from zero every run sends the same news again and again. After two weeks nobody reads its messages. Crons gives every cron a private memory store that persists between runs, so the agent can answer the question people actually care about, which is what changed since last time.
- Memory diffs compare this run with the previous one field by field and report old value and new value
- Seen set dedup stores identifiers of items already handled, such as job post URLs or lead emails, so each item is processed once
- Running totals keep counters and sums across runs, such as total spend this month or number of new reviews this quarter
- Notes to self let an AI step store short context for the next run, such as which competitor was already escalated
Memory reads and writes are explicit steps in the editor and show up in the run log, so you can see exactly what the agent remembered and why it decided an item was new.
How the three memory patterns work in practice
| Pattern | What is stored | Example job | What you receive |
|---|---|---|---|
| Memory diff | Last snapshot of tracked fields | Competitor pricing pages | Only the plans whose price or features changed |
| Seen set dedup | IDs or URLs already processed | New candidates on job boards | Each candidate once, never repeated |
| Running total | Counters and sums for the period | Ad spend or invoice totals | Current total and change since last run |
You rarely have to configure this by hand. When your sentence contains words like "only new", "changes" or "so far this month", the planner adds the matching memory steps. You can inspect and reset a memory store from the cron page, for example after you change the list of sources.
Approval gates put a person in the loop
Some steps have consequences outside your workspace. Emailing a customer, writing to the CRM or posting in a public channel should not happen just because a model thought it was a good idea. An approval gate pauses the run right before such a step and sends a request to the reviewer you choose.
- 1The run reaches the gate and pauses with the full context saved.
- 2The reviewer gets the request in Slack or in the Crons dashboard, with the exact message, record or post that would go out.
- 3They approve, reject or edit the content and approve.
- 4On approval the run continues from the same step. On rejection the step is skipped and the reason is logged.
The planner adds gates by default before customer emails, CRM writes and posts to public channels. Payments are never executed by a cron, with or without approval. On Teams, approval rules can be set per team, so marketing approves marketing posts and sales approves CRM changes.
Timeout policy and dry run
Every gate has a timeout policy, so a paused run never hangs forever. You choose what happens when nobody responds in time.
| Option | What happens after the timeout | Good fit |
|---|---|---|
| Skip the step | The gated step is skipped, the rest of the run continues | Daily digests where one missed post is fine |
| Cancel the run | The run stops and is marked cancelled | Customer emails and CRM writes |
| Remind and wait again | The reviewer gets a reminder and the timer restarts once | Weekly reports owned by one person |
Dry run mode executes every read and reasoning step but stops before any write, email, post or webhook. The run log shows exactly what would have been sent. Use it whenever you build or change a cron, and read more about the reasoning behind gates in human approval in AI workflows.
A full record of who approved what
Each run log keeps every step, input, output, retry and timing, plus the approval history. You see who approved, when, and what they changed before approving. Starter keeps logs for 30 days, Pro for 90 days with CSV export, and Teams for 1 year with an audit log of workspace changes. Compare plans on the pricing page.
As a hypothetical example, a customer success manager who reviews 15 renewal reminder emails a week spends a few minutes clicking approve in Slack instead of an hour writing them, and every sent email is traceable back to the run and the reviewer.
Frequently asked questions
What is a human in the loop AI agent?
It is an agent that handles routine steps on its own but pauses for a person to approve steps with real consequences, such as emailing customers or changing CRM records.
Where do approval requests appear?
In Slack or in the Crons dashboard. The reviewer sees the exact content that would go out and can approve, reject or edit it first.
What happens if nobody approves in time?
The timeout policy decides. You can skip the step, cancel the run, or send one reminder and wait again.
How does the agent know an item is new?
A seen set stores identifiers of items already processed, and memory diffs compare tracked fields with the previous snapshot. Only new or changed items move on to delivery.
Can I reset what a cron remembers?
Yes. You can inspect and reset the memory store from the cron page, which is useful after changing its sources.
Do approvals cost extra?
No. Memory, approvals, retries and alerts are included on every plan. Per team approval rules are part of Teams.