Put your assistant on a schedule
A connected assistant is useful; a connected assistant that checks in every hour is a teammate. Claude and ChatGPT can both run the Sortd connector on recurring tasks — and you set the schedule the same way you use the connector: by asking.
Recipes — say it like this
Each of these is one message to your assistant. It creates the schedule itself; you approve it once.
- "Every hour, check Sortd for new mail and file anything urgent onto the Support board's To do list." — uses
get_new_email (a per-connection cursor: each run sees only what arrived since the last one) and create_task_from_email.
- "Each weekday at 8am, summarise new items on the Unassigned list and draft replies for anything that needs one — leave the drafts for my review." —
list_tasks, get_email_thread, create_email_draft; nothing sends without a send scope.
- "Every morning, look at the AI Testing board and tag new tasks by topic." —
list_tasks, classify_email, update_task.
- "Weekly on Friday, list everything still open past its due date and post me a summary." —
list_tasks with due-date filters.
Claude — Cowork scheduled tasks
- Connect the Sortd connector first (Connect your AI) — scheduled runs use the same connectors as a live session.
- In Cowork, click New task and choose Create with Claude — or type
/schedule in any Cowork task — then describe the job and cadence in plain words.
- Pick the cadence: hourly, daily, weekdays, weekly, or on demand.
Scheduled tasks run in the cloud — your laptop can be closed and the run still happens, with the same connectors, tools and skills as a manual session.
ChatGPT — scheduled tasks
- Connect the Sortd connector first (setup steps) and remember connectors are enabled per conversation.
- Ask for the schedule in chat — describe the work, when it should run, and where results should land; ChatGPT drafts the task and you confirm it. It can update the task later the same way ("make that every two hours").
- Make sure the Sortd connector is enabled for the scheduled task so the runs can use its tools.
What to grant a scheduled agent
Scopes come from the OAuth consent (or the key, for headless setups) — grant the job, not the kitchen sink:
- Triage & filing:
email.metadata.read, tasks.read, tasks.write, boards.read, lists.read, ai.classify.
- + reply preparation: add
email.body.read and drafts.write — drafts wait in Gmail for you; nothing sends.
- Sending: only if the job truly needs it, prefer
email.reply (structurally cannot reach anyone outside an existing thread) over email.send. See Drafts & sending.
Reliability notes
- New-mail polling is stateless for the agent.
get_new_email keeps its cursor server-side per connection — a run that crashes simply sees the same mail again next run (at-least-once). Contract details: Poll for new mail.
- Retries are safe. Write tools accept an
idempotency_key; a failed attempt releases the key so the retry is real, and a duplicate send replays the original response instead of sending twice.
- Prefer webhooks when seconds matter. A schedule polls; webhooks push to a server you host the moment something happens. Rule of thumb: assistants pull; servers push — an hourly triage is a perfect pull, a "page me on VIP mail" is a push — see agent runners & workflow platforms for push setups (n8n, Make, Pipedream, Zapier, self-hosted).
- Audit the runs. Every scheduled run appears in the connector's session list like any other client, and every action it takes emits the same audit trail and webhooks as the UI.
Next: connect a client if you haven't, or browse the MCP tool catalog to see everything a scheduled run can do.
App scheduling flows verified September 2026 — vendors rename menus periodically; the recipes and connector behaviour are unchanged when they do.