A morning report that knows what to ask

My work lives across notes, messages, tickets, documents and a calendar. I built a morning-report workflow to bring that context together, check whether tasks are still open, and show me what an agent can prepare before I start opening tabs.

  1. GatherNotes, messages, calendar and linked work
  2. ReconcileCheck sources, remove duplicates, find completed work
  3. ProposeAgent can prepare · needs approval · needs me
  4. ReviewI choose what happens next

Walk through a morning

Fictional data, preset decisions. This demo does not read accounts, call a model, or perform tasks.

1. Gather the evidence

  • Note: Summarize the workshop proposal.
  • Message: Can you summarize that same workshop proposal?
  • Note: Follow up about Thursday’s tour.
  • Calendar: Thursday tour accepted by both people.
  • Message: Send the workshop announcement.
  • Calendar: 10:00 conversation with a collaborator.
  • Note: Handle the equipment question.

Documents are unavailable in this fictional run. That gap needs attention.

2. Reconcile before making a list

  • Combine the two requests for the same summary. Keep both source references.
  • Drop the tour follow-up because the calendar shows it is already arranged.
  • “Handle the equipment question” is ambiguous. Ask what outcome is wanted.
  • Record the unavailable documents. A partial view must not look complete.

3. Propose work with boundaries

  • Agent can prepare: Draft the proposal summary from available evidence.
  • Needs approval: Send the announcement. Drafting can happen first.
  • Needs me: Have the 10:00 conversation. The agent can help with prep.
  • Needs clarification: What does “handle” mean for the equipment question?

These are proposals. Categorizing a task does not authorize executing it.

4. Review the work and the gaps

I can ask for the summary draft, review the announcement, and clarify the equipment question. The report itself sends nothing.

Real workflow difference: required integrations must pass a preflight before a report is generated. A missing required connection stops the run. Other empty or failed reads must remain visible in source accounting.

All four steps are shown below when JavaScript is unavailable.

Build a different morning

Change the evidence and watch the proposed report change. These fictional scenarios use simple rules in your browser, with no model calls or account access. The real agent has to interpret messier evidence; this shows the boundaries I expect it to preserve.

Only these four fictional sources are modeled: notes, messages, calendar and documents. The real workflow checks additional sources.

A report from the initial evidence

With healthy connections and a readable proposal, the agent can draft the summary. The duplicated request becomes one task with two sources. An accepted tour invitation removes the follow-up, while the unclear equipment note stays a question.

  • Agent can prepare: Summarize the proposal.
  • Needs approval: Send the workshop announcement.
  • Needs me: Have the 10:00 conversation.
  • Clarify: What does “handle the equipment question” mean?

The report sends nothing and does not start work automatically.

What changes when I change an input?

An accepted tour invitation removes the follow-up because current evidence shows the scheduling work is done. A pending invitation keeps the follow-up under needs approval, because contacting someone represents me.

A request to draft the equipment checklist is work the agent can prepare. A request to send it needs approval before sending. An unclear request stays a question rather than being silently assigned to me.

A failed document read leaves the summary blocked until its source is available, while the other evidence stays visible. A missing required connection stops the run at preflight, so the demo produces no task report at all.

What happens after the report?

I can ask the agent to start the preparation work, approve a specific action, or prepare for a conversation. The report gives me a way to make those calls from one place, with the evidence and gaps beside them.

Writing “needs approval” next to a task is a proposal, not an approval. Even in this playground, changing the equipment note to “send” only changes its category. No message is sent.

The decision that mattered

I don’t want the agent to quietly decide that an ambiguous task is my problem, or claim something is finished because it sounds finished. The workflow asks when the evidence is unclear. In an unattended run, it leaves those questions in the report for me.

What the real workflow reads

Recent weekly notes, watched tickets, pull requests linked in my notes, calendar events, messages, and relevant documents. It checks the underlying evidence rather than treating an old todo as proof that work is still open. The report records sources and gaps, and I choose which follow-on work to authorize.

Set this up with your own agent →

Next: a little judgment inside a CLI →