Automation & Integration

AgenToDo exposes its entire surface to the system. Siri, Shortcuts, Widgets, the CLI, URL schemes, meeting transcripts — pick your entry point and wire it into whatever you're already using.

Siri & Shortcuts

AgenToDo registers App Intents with the system the moment you launch it. No setup required — they're available in Siri, Shortcuts, Spotlight, and the Action button immediately.

App Intents

IntentWhat It Does
CreateTaskIntent Creates a task with optional title, project, tags, due date, and estimate. If you pass a natural-language string, the AI parser handles the rest.
FindTasksIntent Queries tasks by project, tag, due date, flagged status, or free-text search. Returns structured results Shortcuts can iterate over.
CompleteTaskIntent Marks a task as done by UUID or title match.
ScheduleTaskIntent AI-assisted scheduling — finds free slots in your calendar and assigns a start time. Respects focus blocks and existing events.
OpenCommandBarIntent Opens the command bar (⌘E) from anywhere. Useful as an Action button binding or Shortcuts trigger.

Siri Phrases

Speak naturally. Siri resolves these to the registered intents:

  • "Hey Siri, what's flagged today?" — runs FindTasksIntent with flagged + due:today
  • "Hey Siri, add a task: call the dentist tomorrow" — CreateTaskIntent with AI parsing
  • "Hey Siri, schedule my next task" — ScheduleTaskIntent picks the highest-priority unscheduled item
  • "Hey Siri, open my task inbox" — OpenCommandBarIntent focused on inbox

Apple Shortcuts

All five intents appear as actions in the Shortcuts app. Chain them with anything — Reminders migrations, calendar checks, HomeKit automations, or Focus mode triggers.

Example Shortcut: "Morning Briefing" — FindTasksIntent (due:today) → format as bullet list → speak result with Siri. Three blocks, zero code.

Spotlight Indexing

AgenToDo indexes all active tasks via CoreSpotlight. Every task, project, and tag is searchable from macOS Spotlight. Index updates happen on every save — no delay, no background sync lag.

Search for a task title in Spotlight, click the result, and AgenToDo opens directly to that task.

Interactive Widgets

Available on macOS Desktop. All widgets use WidgetKit with interactive intents — they're not just displays, they're controls.

TodayTasksWidget

An interactive task list showing today's due and flagged items. Click a checkbox to complete a task directly from the widget — no app launch required. The widget refreshes on every save via WidgetCenter.shared.reloadAllTimelines(), so it's always current.

  • Small: Top 3 tasks, click to open app
  • Medium: Up to 6 tasks with interactive checkboxes
  • Large: Full today list with project grouping and checkboxes

QuickEntryWidget

A single-purpose widget. Click it and the command bar opens. That's it. Put it on your Desktop for one-click capture from anywhere.

  • Small: Icon + "Quick Add" label

Auto-refresh: Both widgets update instantly when you complete, add, or edit tasks in the app. No pull-to-refresh, no waiting. If a widget ever does look stale, opening the app once forces a refresh.

Share Extension

"Add to AgenToDo" — share from Safari, Mail, Notes, or any app with a share button. The shared text, URL, or email becomes a task instantly.

No setup required — the Share Extension is built in from day one.

How It Works

  1. Click Share in any app — Safari, Mail, Notes, Messages, or anything with a share sheet.
  2. Pick "Add to AgenToDo" from the share menu.
  3. Done. The shared content becomes a task in your Inbox. The title is pre-filled from the page title, email subject, or selected text. URLs and source context are attached automatically.

AI enrichment happens later in the background — tags, projects, and due dates get suggested the next time you process your inbox.

Quick capture from anywhere: See an article to read later? Forward an email with action items? Select text in a PDF? Share it — it's a task in seconds, no app-switching required.

CLI (agentodo)

A full-featured command-line interface that ships inside AgenToDo.app. It talks to the same daemon the GUI uses — same data, same sync, zero config.

Location

/Applications/AgenToDo.app/Contents/Resources/bin/agentodo

Add it to your PATH for convenience:

export PATH="$PATH:/Applications/AgenToDo.app/Contents/Resources/bin"

Commands

CommandDescription
tasksList, add, complete, edit, delete tasks
projectsList, create, archive projects
tagsList, create, delete tags
foldersList, create, nest folders
perspectivesList, create, switch perspectives
agentInvoke the AI agent (plan, prioritize, reschedule)
doctorVerify daemon, IPC, iCloud sync, schema version
openOpen views or specific items in the GUI
quickaddOne-shot task creation with natural-language parsing
inboxView and triage inbox items
completionsGenerate shell completions (zsh, bash, fish)

Quick Add Grammar

The quickadd command accepts inline metadata tokens:

# Tag with #, project with ::, flag with !, due with due:, estimate with est:
agentodo quickadd "Call dentist #health ::Personal ! due:tomorrow est:15m"

# Multiple tags
agentodo quickadd "Research competitors #work #research due:friday"

# Natural due dates
agentodo quickadd "Submit report due:next-monday est:2h"
TokenMeaningExample
#tagApply tag#errands
::projectAssign to project::Launch
!Flag the task!
due:<date>Set due datedue:today, due:2026-06-01
est:<duration>Time estimateest:30m, est:2h

Interactive Inbox Triage

Process your inbox one item at a time with single-key commands:

agentodo inbox process

Each item presents with these options:

  • p — assign to a Project
  • t — add Tags
  • d — set Due date
  • f — toggle Flag
  • c — Complete immediately
  • s — Skip (leave in inbox)
  • x — Delete
  • q — Quit triage

JSON Output

Every command supports structured output for scripting:

# Single flag
agentodo tasks list --json

# Or set globally via environment variable
export AGENTODO_JSON=1
agentodo tasks list

Lists emit NDJSON (one JSON object per line) for streaming-friendly parsing with jq, grep, and standard Unix tools.

Shell Completions

# Generate for your shell
agentodo completions --shell zsh   # outputs to stdout
agentodo completions --shell bash
agentodo completions --shell fish

# Install for zsh (typical setup)
agentodo completions --shell zsh > ~/.zfunc/_agentodo

Deep Link Opening

Open any view or task in the GUI from the terminal:

agentodo open today
agentodo open inbox
agentodo open flagged
agentodo open review
agentodo open task <uuid>
agentodo open project <uuid>

Exit Codes

CodeMeaning
0Success
1Generic error
2Not found
3Invalid argument
4Not supported
5Daemon unreachable

Scripting Examples

Daily Summary to Clipboard

#!/bin/zsh
# daily-summary.sh — Copy today's tasks to clipboard as Markdown

echo "## Tasks for $(date +%A), $(date +%B\ %d)" > /tmp/daily.md
echo "" >> /tmp/daily.md

agentodo tasks list --due today --json | jq -r '
  "- [ ] " + .title +
  (if .project then " (" + .project + ")" else "" end) +
  (if .estimate then " [" + .estimate + "]" else "" end)
' >> /tmp/daily.md

pbcopy < /tmp/daily.md
echo "Copied $(agentodo tasks list --due today --json | wc -l | tr -d ' ') tasks to clipboard."

Batch Complete with xargs

#!/bin/zsh
# complete-errands.sh — Complete all tasks tagged #errands

agentodo tasks list --tag errands --json \
  | jq -r '.id' \
  | xargs -I  agentodo tasks complete 

echo "All errands done."

Overdue → Flagged

#!/bin/zsh
# flag-overdue.sh — Flag any task that's past due

agentodo tasks list --overdue --json \
  | jq -r '.id' \
  | xargs -I  agentodo tasks edit  --flagged

echo "Flagged $(agentodo tasks list --overdue --json | wc -l | tr -d ' ') overdue tasks."

Deep Links (URL Scheme)

AgenToDo registers the agentodo:// URL scheme. Use these from Shortcuts, scripts, other apps, or even web pages.

Item Links

agentodo://task/<UUID>       
agentodo://project/<UUID>    

View Links

agentodo://inbox             
agentodo://today             
agentodo://flagged           
agentodo://review            

Actions

agentodo://quick-entry       
agentodo://location/activity 

From the terminal: open "agentodo://today" works in any shell. Combine with cron or Shortcuts automations for time-based triggers.

Meeting Intelligence (Read.ai)

Connect Read.ai to automatically pull action items from your meeting transcripts into AgenToDo. No manual entry — the AI extracts tasks, and you review before they hit your inbox.

Setup

  1. Open Settings → Connections → Read.ai
  2. Click Connect and grant AgenToDo read access to your meeting summaries and action items

How It Works

  1. Open a calendar eventCheck Read AI for transcript (or paste the meeting URL)
  2. AgenToDo pulls the action items and runs them through the AI — titles get cleaned up, context notes written, non-actionable items dropped, and each item rated for confidence
  3. You review — a review sheet lets you include, exclude and edit before anything is created. Low-confidence items are separated out.
  4. Commit — approved items become real tasks, each carrying provenance that links back to the meeting

Transcripts are not stored — only the metadata needed to link the resulting tasks back to their meeting.

Preview before action: Nothing becomes a task until you say so. AgenToDo never auto-creates tasks from meetings — you always get a review step. Same philosophy as the AI agent: suggest, don't impose.

Export

Get your data out in standard formats. No lock-in.

TaskPaper

Export your entire task database — or a filtered subset — in TaskPaper format. Projects become headers, tags map to @tags, and metadata is preserved as attributes.

# Export all tasks
agentodo tasks list --format taskpaper > ~/Desktop/tasks.taskpaper

# Export a single project
agentodo tasks list --project "Launch" --format taskpaper > launch.taskpaper

CSV

Flat export for spreadsheets, databases, or further processing.

# Full export
agentodo tasks list --format csv > ~/Desktop/tasks.csv

# Filtered
agentodo tasks list --due today --format csv > today.csv

Via the Menu

In the app: File → Export… lets you pick TaskPaper or CSV, choose a scope (all tasks, a project, a perspective), and save.