> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduled Agents Reference

> Reference for DualEntry scheduled agents: definition fields, cadence options, entity scoping, run behavior, permissions, and what an agent may not change.

A scheduled agent is a Copilot instruction that runs on a cadence without anyone in the composer. Use Agents for recurring work: a Monday list of newly overdue invoices, a daily close-status summary, an unreconciled-items report before a period lock.

Scheduled agents appear under **Scheduled** in the [Agents panel](./agents-panel), each with a cadence badge such as **Recurring**.

## Definition fields

A scheduled agent is defined by five fields, set from **Scheduled Agents** in the Agents panel. Two of them, entity scope and accounting basis, determine the figures every run returns.

Creating, editing, pausing, resuming, deleting, and rolling back an agent are all restricted to organization admins. Anyone with Copilot access can see the schedule list, so a non-admin can tell that an agent exists and when it runs without being able to change it.

| Field            | Type                        | Required | Default                | Description                                                                                                          |
| ---------------- | --------------------------- | -------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------- |
| Name             | Text, up to 128 characters  | Yes      | None                   | Identifies the agent in the panel and in run history. Must be unique within your organization.                       |
| Instructions     | Text, up to 4096 characters | Yes      | None                   | The prompt the agent runs. A leading `/skill-name` invokes a [skill](./skills) instead of running the text verbatim. |
| Cadence          | Interval or cron schedule   | Yes      | None                   | How often the agent runs. See the cadence options below.                                                             |
| Entity scope     | A single company            | No       | None, meaning unscoped | The company the agent queries. Left unset, the agent runs across all companies and returns consolidated figures.     |
| Accounting basis | GAAP or IFRS                | Yes      | GAAP                   | The basis for balances the agent returns.                                                                            |

An organization can hold 50 scheduled agents at a time.

There is no per-agent connector selection. An agent reaches the same connectors as the person who owns it, which are the ones that person has personally connected. See [how to connect an MCP connector](./connect-an-mcp-connector) for why connections are per-user rather than per-organization.

## Cadence options

Cadence is either a repeating interval or a calendar schedule, and the picker offers five modes. Every calendar mode carries its own timezone.

| Cadence      | Behavior                                                                                                                        |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| Interval     | Runs every N minutes, hours, days, weeks, or months. The interval cannot be shorter than five minutes, whichever unit you pick. |
| Weekly       | Runs on one or more chosen weekdays at a chosen time.                                                                           |
| Monthly      | Runs on a chosen day of the month at a chosen time.                                                                             |
| Quarterly    | Runs on a chosen day in January, April, July, and October. The months are fixed; only the day and time are yours to set.        |
| End of month | Runs on the real last day of each month at a chosen time, correct for February and 30-day months.                               |

There is no separate daily mode. For a once-a-day agent, set an interval of one day, or use Weekly with every weekday selected if you want it to skip weekends.

Times resolve against the timezone stored on the schedule. Any IANA timezone is accepted, such as `America/New_York`. A schedule saved without one resolves against UTC, which is rarely what you want for a close-related agent.

The minute you choose is adjusted by up to four minutes when the schedule is saved. DualEntry spreads scheduled runs across a five-minute window so that agents created on the same round hour do not all fire at once. An agent set for 09:00 may therefore run at 09:03.

## Where results appear

Each scheduled agent owns one conversation for its lifetime, and that conversation is the only place its output goes. Every run appends one prompt and one response to it, so an agent named "Monday AR review" accumulates one exchange per week that you read in your chat list.

There is no email digest, no Slack delivery, and no notification of any kind. Reviewing a scheduled agent means opening its conversation. An agent whose output nobody opens produces nothing that anyone reads, which is the practical limit on how many agents are worth creating.

Who can open that conversation is narrower than who can see the agent. The owner always can, and an organization admin can, so that scheduled output stays auditable without anyone impersonating the owner. Everyone else needs the session shared with the organization. Check that the people who are supposed to act on an agent's output can actually read it before you rely on the agent.

Deleting an agent deletes its conversation along with it. Pause the agent instead when you want the schedule stopped and the history kept.

Because the output accumulates in one place, an agent running for a year holds a year of runs in a single conversation. Scroll back to compare a current result against an earlier one, which is often faster than re-running the query for a past date.

## Run behavior

A scheduled agent runs unattended, which changes what its permissions, its scope, and its failures mean compared to the same instruction typed into the composer.

An agent runs under the permissions of the user who owns it. Results reflect that person's [role scope](../platform-configuration/user-roles-and-permissions), which matters when the owner changes teams or leaves. Review agent ownership when roles change.

Entity scope and accounting basis come from the agent definition rather than from a selector someone sets at run time. An agent left unscoped returns consolidated figures on every run, and no one is in the composer to catch it.

Each run is written to the [audit trail](../platform-configuration/audit-trail-and-compliance) with the same detail as an interactive conversation, so an unattended result is as traceable afterwards as one you asked for yourself.

A failed run increments a failure counter on the agent. Three consecutive failures move the agent to an errored state and stop the schedule, which keeps a broken instruction from running every day indefinitely. The owner is not notified when this happens, so an agent you depend on is worth opening periodically to confirm it is still running.

Pausing an agent stops the schedule and keeps both the definition and the history. Resuming restarts it on the same cadence. Run history is available from the agent detail view alongside the definition each run used, so a result you cannot reproduce interactively can be traced to the scope it ran under.

## Read and write boundaries

A scheduled agent reads and reports. It never writes to the ledger, and the only way it writes anything outside DualEntry is through a connector.

The read-only boundary described in [How the AI Accounting Copilot Works](./ai-accounting-copilot) holds for scheduled agents too. An agent can assemble, summarize, and report. It does not post to the ledger on its own.

Unattended runs are barred from a further set of actions that an interactive conversation can take. A scheduled agent cannot create a workflow, change a workflow's status, approve or reject a record, or apply a bulk reclassification, even when the person who owns it holds those permissions. Those actions require someone present to authorize them.

Connectors are the exception, and they are not restricted this way. A connector gives an agent the ability to write in an external system under the permissions of the credential that authenticated it, and an unattended run has no reviewer between the agent's output and the recipient. Where a connector's write tools reach a customer directly, as Gmail's send tool does, an agent can deliver a message that nobody has read.

DualEntry does not block that configuration, so this boundary is procedural rather than enforced. The controls that hold it are the connector's own per-tool permissions: leaving a send-capable tool **Disable**, or **Opt-in** at most, is what keeps an unattended run from reaching a customer. An agent that produces a list of accounts for a person to act on carries no delivery risk. An agent that can send carries the most. For a worked example of the split, see [how to send dunning emails with Copilot and Gmail](./send-dunning-emails-with-copilot-and-gmail), where the schedule produces the list and the person sends the mail.

## Related reading

* [Agents Panel Reference](./agents-panel)
* [Skills Reference](./skills)
* [How to Send Dunning Emails with Copilot and Gmail](./send-dunning-emails-with-copilot-and-gmail)
* [How the AI Accounting Copilot Works](./ai-accounting-copilot)
* [Audit Trail and Compliance](../platform-configuration/audit-trail-and-compliance)
