Task guide

The weekly report, without the weekly.
Five schedulers, and the four steps that matter more.

The received wisdom that ChatGPT can schedule work and Claude cannot went out of date in 2026. Both can. Which is a good moment to point out that the scheduler was never the hard part.

00

The short answer.

Both vendors now ship first-party schedulers, so the 2025 advice to reach straight for cron is out of date. ChatGPT has scheduled tasks on Plus, Pro, Business and Enterprise, including monitoring tasks that only notify you when something has actually changed. Anthropic has no scheduler in plain Claude chat, but it has four elsewhere: recurring tasks in Claude Cowork on any paid plan, routines in Claude Code that run on Anthropic's infrastructure, local scheduled tasks in Claude Code Desktop, and scheduled posts in Claude Tag for Slack. Almost all of them share an hourly floor, so anything more frequent means an automation platform or your own cron. None of that is the difficult part. Setting up a schedule takes ten minutes; the project is getting the AI to the data the report needs, keeping it from doing arithmetic in its head, putting the output where the team already reads, and noticing when a run quietly stops working. Anthropic documents that last one with unusual candour: for routines, a green status means the session started and exited without an infrastructure error, not that the task in your prompt succeeded.

The report that writes itself at a glance
At a glance 
Is there an official way?Yes, on both, and this is recent. ChatGPT has scheduled tasks, expanded in June 2026 with a dedicated Scheduled page, one-off runs and monitoring tasks. Anthropic has recurring tasks in Cowork, routines in Claude Code, local scheduled tasks in Claude Code Desktop and scheduled posts in Claude Tag.
Plans it needsChatGPT scheduled tasks run on Plus, Pro, Business and Enterprise, with a small cap on how many can be active at once - three on Go and five on Plus at the low end, up to fifteen on the top tiers. Cowork tasks need any paid Claude plan and are still rolling out, starting with Max. Claude Code routines are a research preview on Pro, Max, Team and Enterprise.
How often it can runHourly, at best, almost everywhere. ChatGPT will not run a task more than once an hour, Cowork offers presets rather than cron, and Claude Code routines reject anything under an hour. Minute-level control means an automation platform or your own scheduler.
Where the output landsInside the product, mostly. ChatGPT notifies in the app, by push and by email. Cowork results appear on its scheduled tasks page. Getting a report into a Slack or Teams channel usually needs a different tool from the one that ran it.
Time to set upTen minutes for the first version. Then a week or two of the real work, which is access to the data and enough trust in the output that somebody stops checking it by hand.
What it costsNothing extra on the vendor schedulers beyond the subscription. An automation platform bills per run in tasks, credits or activities. Your own cron bills tokens, which for a weekly report is cents per run.
Biggest limitationSilent failure. No vendor documents an automatic retry or a this-run-failed alert, and Anthropic says plainly that a green run status only means the session exited cleanly. Blocked network requests and missing tools show up in the transcript, not the dashboard.
01

Side by side.

Six ways to make a report happen without you. Rows four and seven are the ones people discover late: where the output lands, and whether anything tells you when a run stopped working.

The report that writes itself: what each option can and cannot do
CapabilityChatGPT scheduled tasksOpenAICowork recurring tasksAnthropicClaude Code routinesAnthropicZapier or MakeiPaaSYour own cronYour teamBeagleUs
No code to writeYesYesPartlyA prompt and a repoYesNoYes
Runs with your laptop closedYesYesAnthropic's cloudYesYesYesYes
Can run more often than hourlyNoHourly floorNoPresets onlyNoHourly floorYesMinute levelYesYes
Delivers into Slack or TeamsNoIn-app, push or emailNoIts own task pagePartlyVia your connector, as youYesPartlyYou build itYesIt lives there
Reaches the systems the numbers live inYesApps you connectedYesConnectors and filesYesRepos and connectorsYesTheir cataloguePartlyYou wire each oneYes~3,200 apps
Holds outbound sends for a humanYesImportant actions gatedPartlyNoNo prompts mid-runNoIt just firesNoYou build itYesEvery send
Tells you when a run quietly failedNoTasks can pause silentlyNoNoGreen is not successYesAuto-off, and it emailsNoYou build alertingPartlyRun history
Nothing to pay beyond your planYesPlus and upYesPaid plansYesNoPer run, in their unitNoTokens and hostingNoFree tier, then credits
02

What each one actually is.

Pick on two questions, not on brand: how often does it need to run, and where does the answer need to appear. Those two eliminate four of these six immediately.

03

Step by step.

Step one looks like a waste of a morning and is the highest-leverage thing in this guide. Do not skip it.

  1. Write the report by hand, once

    Before you automate anything, produce the exact report you want and keep it. It defines what success looks like, which the prompt will need to state explicitly because there is no human in the loop to clarify. It also gives you the thing to diff against when you are deciding whether to trust run three.

    Keep itThis becomes both the spec and the baseline

  2. Decide where it has to land before you pick a tool

    This eliminates most of the options in one move. If the report has to appear in a Slack or Teams channel, the two easiest schedulers are out: ChatGPT notifies in-app, by push or by email, and Cowork puts results on its own page. Delivery, not intelligence, is what usually forces a team onto an automation platform or their own code.

  3. Match the scheduler to your cadence floor

    Weekly or daily is comfortably within every option here. Anything under an hour rules out ChatGPT tasks, Cowork and Claude Code routines in one go, because all three enforce an hourly floor. Note also that punctuality is not promised anywhere: routines stagger by a few minutes, Zapier says only that a Zap runs within a few minutes of its scheduled time, and scheduled GitHub Actions are explicitly delayed at the top of the hour.

  4. Give it the data, and be clear whose access it is using

    This is the actual project. Connect the systems the numbers come from, and check what identity the run uses, because the answer differs sharply. Connector-based paths inherit the connecting person's permissions. A Claude Code routine acts as the individual who owns it, and every commit and message appears as them. An automation platform acts as its own connection, which is not anybody's permissions.

  5. Make it compute rather than estimate

    Do not let the model do the arithmetic. On a benchmark of financial spreadsheet questions published in 2026, the best model reached 82.4% accuracy overall and fell to 48.6% on the largest files, and the authors concluded that no standalone model is accurate enough for unsupervised use in professional finance. The fix is the one both vendors document: have it write and run code for anything numeric, so the number comes from arithmetic rather than from prediction.

    RuleModel writes the query and the prose. Code produces the numbers.

  6. Keep a human on anything outbound

    A report that gets read is different from a report that gets sent. ChatGPT gates important actions such as sending an email behind an approval card by default, and the setting that removes that gate is flagged by OpenAI as elevated risk. Claude Code routines have no permission prompts during a run at all. Decide deliberately which of your runs is allowed to touch anyone outside the team.

  7. Build the failure alarm yourself, because nobody ships one

    No vendor here documents an automatic retry or a run-failed alert. Anthropic is the most honest about it: a green status on a routine means the session started and exited without an infrastructure error, and blocked network requests, missing connector tools and task-level failures show up only inside the run transcript. The cheap fix is to make the report always post something, even when it has nothing, so silence becomes a signal rather than the normal state.

  8. Diff two runs before anyone is allowed to trust it

    Run it twice on the same data and compare. Identical inputs do not produce identical outputs - Anthropic states this outright, noting results are not fully deterministic even at temperature zero - and you want to know how much the wording moves before somebody forwards it to a client. If the numbers move, go back to step five. If only the prose moves, you are fine.

04

What trips people up.

Everything that goes wrong after the demo works, roughly in the order it will happen to you.

A schedule is a promise that something will happen. It is not a promise that anybody read it, or that it was right.
05

Or skip the build.

Most of the difficulty above comes from the report being assembled somewhere other than where it is read, by something that cannot see the systems it needs. Beagle is built the other way round.

01

It already lives where the report goes

The delivery problem disappears when the thing running the job is in the channel. No push notification to forward, no export step, no second tool bought purely to move a paragraph from one app to another.

02

It reads the systems the numbers come from

The CRM, the tracker, the inbox and the drive, under your own OAuth grants, so the report is assembled from records rather than from what somebody remembered to paste into a prompt.

03

It notices as well as reports

The renewal coming up, the account that has gone quiet, the thread that never got a reply. A schedule fires whether or not there is anything to say. The more useful behaviour is raising the thing nobody scheduled.

04

Nothing goes out without a nod

Beagle drafts the report and holds anything outbound for a human. On a weekly cadence that is one approval a week, which is roughly the amount of oversight an automated report deserves.

06

Plugged into your stack.

OAuth in, every read scoped to the teammate who asked.

See every integration

07

Common questions.

Can ChatGPT run a task on a schedule?

Yes. Scheduled tasks run on Plus, Pro, Business and Enterprise across web, mobile and desktop, and were expanded in June 2026 with a dedicated Scheduled page, one-off runs and monitoring tasks that only notify you when something has changed. A task can browse the web and use apps you have connected. The constraints worth knowing before you plan around it: it will not run more than once an hour, only a few tasks can be active at a time depending on your plan, there is no webhook support, and output arrives in the app, by push or by email rather than in a team channel.

Can Claude run a report on a schedule?

Yes, though not from plain Claude chat, which is where people look first and conclude it cannot. Anthropic ships scheduling in four other places: recurring tasks in Claude Cowork on any paid plan, which run on Anthropic's infrastructure with hourly, daily, weekdays or weekly presets; routines in Claude Code, a research preview on Pro, Max, Team and Enterprise, triggered by a schedule, an HTTP call or GitHub events; local scheduled tasks in Claude Code Desktop, which can reach local files but only fire while the machine is on; and scheduled posts in Claude Tag for Slack on Team and Enterprise.

How do I get the report into Slack or Teams?

This is the question that decides your tooling, so ask it first. Neither ChatGPT scheduled tasks nor Cowork recurring tasks push into a channel: the first notifies in-app, by push or by email, the second posts results to its own scheduled tasks page. The paths that do reach a channel are a Claude Code routine writing through your connected Slack connector, which posts under your identity rather than a bot's; an automation platform with a Slack step; your own code calling the Slack API; or a product that already lives in the channel.

Will the report be the same every week?

The numbers should be. The wording will not be. Anthropic states directly that results are not fully deterministic and that identical inputs may produce different outputs across API calls, even at temperature zero, and this holds on its own infrastructure and on third-party clouds. One published experiment ran the same prompt a thousand times at temperature zero and got eighty distinct completions. The practical response is to stop treating the model as the source of the figures: have it write and run code for anything numeric, and let it vary only in the prose around them.

How much does it cost to run a weekly report on the API?

Very little, which is why cost is almost never the reason a do-it-yourself report fails. At published rates, a run consuming roughly fifty thousand input tokens and a few thousand output tokens sits in the region of a few tens of cents on a mid-tier model, plus around ten dollars per thousand searches if it uses a hosted web search tool. Fifty-two of those a year is single-digit to low double-digit dollars. Prompt caching and batch pricing reduce it further. Budget your attention for the hosting, the alerting and the credential rotation instead, because that is where the real cost sits.

What breaks first when you automate a report?

Access, then trust, then attention. Access breaks when a credential expires on a schedule nobody tracked - Google revokes refresh tokens after seven days for apps left in testing status and after six months unused, and Microsoft Entra ID deactivates them after 90 days of inactivity. Trust breaks the first time a number is wrong, which is why arithmetic belongs in code rather than in the model. Attention breaks quietly around month three, when the report is still arriving and nobody is reading it closely enough to notice that one of its sources stopped returning data.

Automate the report.
Keep the judgement.