← all free guides

free field guide automation

Get an AI Morning Brief That Asks Before It Acts

Set up a daily AI brief of your calendar, messages, and decisions, with drafted replies that wait for your approval. Two options: Claude Duet or a free self-hosted starter.

Get an AI Morning Brief That Asks Before It Acts

Start each day with a short brief of what's on your calendar, what changed in your messages, and what's waiting on a decision from you. Then hand off real work, like drafting replies, and approve every message before it goes out.

What this helps you do

Most mornings start with ten minutes of opening apps to figure out what needs you. A morning brief does that sorting for you. The assistant reads your connected apps, tells you what matters, and drafts next steps.

The key safety piece is approval. These assistants can read and draft on their own, but they stop and show you the exact action before they send a message, pay, sign, or delete anything. Nothing goes out until you say so.

You have two ways to set this up:

  • Option 1: Claude Duet. The easy path. An app from Anthropic, no setup beyond connecting your apps.
  • Option 2: OpenDuet. A free, open-source starter you host on your own computer. More setup, more control, and you pick the AI model.

Before you start

For Claude Duet:

  • A paid Claude Pro or Max plan, in the US. Team and Enterprise plans aren't included yet.
  • A spot off the waitlist. Duet is a research preview, which means an early version Anthropic is still improving. Join on the Claude Duet page and Anthropic emails you when it's ready for you.
  • The apps you want in your brief, such as Gmail and Slack.

For OpenDuet:

  • A computer where you can install software, plus Docker, Bun 1.3 or newer, and Node.js.
  • An AI model key. The default is an OpenAI key. An Anthropic key also works.
  • A free CopilotKit account with an Intelligence project. OpenDuet won't start without one. The free Developer plan is enough.
  • Gmail and Google Calendar need a Google OAuth client, a one-time setup in Google Cloud. You can test with the built-in fake Google first.

Terms to know

  • Morning brief: a short daily summary of what needs you, what changed, and what can wait.
  • Connector: a link between the assistant and one of your apps, such as Gmail or Slack.
  • Approval card: the screen that shows exactly what the assistant wants to do, with buttons to allow or refuse it.
  • Self-hosted: the software runs on your own computer instead of a company's servers.
  • Terminal: the app where you type commands. On a Mac, open it from Applications, then Utilities.
  • API key: a private code that lets software use an AI model and bills your account for it.
  • Docker: an app that runs software in sealed boxes called containers, so it doesn't mix with the rest of your computer.

Step-by-step

Option 1: Claude Duet (the easy path)

  1. Join the waitlist. Go to the Claude Duet page and click Join the waitlist. Watch for an email from Anthropic.
  2. Open Duet. It's a separate app on iPhone and Android, and on a computer you use it at claude.ai. Your memory, skills, and connected apps from your Claude account carry over.
  3. Connect your apps. Add the apps you want in the brief, such as Gmail, Slack, or HubSpot. New to connectors? The Claude connector setup guide walks through it.
  4. Tell it what to cover. Paste the morning brief prompt below so it knows what you want to hear about and how often.
  5. Give it a real job. Try: "Find the latest customer questions and draft three answers for me to review." It keeps working in the background while you do something else, and notifies you when the drafts are ready.
  6. Approve before anything sends. Duet shows you exactly what it's about to send and waits. Edit the draft, approve it, or say no.

Option 2: OpenDuet (free, self-hosted)

The commands below come from the OpenDuet README. Type them in Terminal.

  1. Install the tools. Install Docker Desktop and open it. Install Bun from bun.sh and Node.js from nodejs.org.
  2. Download OpenDuet and its parts. Run the first four lines of the setup block in "Copy this." You should see Bun finish installing packages with no errors.
  3. Connect CopilotKit. Run the next three lines. The login command opens your browser to sign in. project select lets you choose or create your Intelligence project and saves its key for you.
  4. Add your model key. Open the .env file in the OpenDuet folder with any text editor and fill in OPENAI_API_KEY= with your key. For Claude instead, set BOT_PROVIDER=anthropic and ANTHROPIC_API_KEY= with your Anthropic key.
  5. Start it. Run bash scripts/start.sh, then open http://localhost:3010 in your browser. You should see OpenDuet's onboarding.
  6. Finish the checklist. Onboarding asks you to connect Gmail and Calendar and ends on a setup checklist. Each item shows Ready, Not checked, or Needs setup, with how to fix it. You can reopen it later under Settings, then Setup.
  7. Give it one routine. Paste the morning brief prompt below into Chat.
  8. Answer the approval card. When it wants to send something, the card shows the exact action, who it goes to, and what it says. Pick Refuse, Allow once, or Always allow. Start with Allow once while you learn the flow.
  9. Stop it when you're done with bash scripts/stop.sh. Your data stays saved for next time.

Copy this

The morning brief prompt (works in both)

Paste this into Claude Duet or OpenDuet's Chat. Replace the parts in brackets.

Copy this

Every weekday at [7:00 AM], give me a short morning brief from my connected apps. Include: 1) today's calendar, with anything that conflicts or needs prep, 2) messages that need a reply from me, with a one-line reason each, 3) decisions waiting on me, 4) what can wait until later. Keep it under [150] words. Then draft replies for the top [3] messages that need me, in my voice: [friendly, short, no jargon]. Do not send, pay, sign, or delete anything. Show me every draft and wait for my approval first.

OpenDuet setup commands

Run these one line at a time in Terminal. Add your model key to .env before the last line.

Copy this

git clone https://github.com/CopilotKit/OpenDuet.git
cd OpenDuet
cp .env.example .env
bun install
npx --yes copilotkit@latest login
npx --yes copilotkit@latest project select
bun openbot/scripts/setup-learning.ts
bash scripts/start.sh

Things to know

  • Claude Duet uses your plan's limits. It's included in Pro and Max and shares your usage limits with the rest of Claude. Its background checks count too, and bigger jobs use more.
  • Duet has hard limits. Some actions stay off-limits even with approval, such as trading securities or moving money between accounts.
  • OpenDuet is early and changing fast. Expect updates and the odd rough edge.
  • OpenDuet costs come from your model provider. The software is free (MIT license) and the CopilotKit Developer plan is free. You pay for model usage on your own API key.
  • OpenDuet sends usage data to CopilotKit by default. Add DO_NOT_TRACK=1 to .env to turn it off.
  • Start with a harmless draft. Let it draft a reply to yourself before you trust it with customer messages. Want more ideas for automations that keep you in charge? See 20 review-first AI automations.
  • Both can misjudge urgency. Skim the "can wait" list for the first week to make sure nothing important lands there.

If something goes wrong

  • No Duet access yet: you're still on the waitlist. Anthropic emails you when it's your turn.
  • The brief misses an app: check that the app is connected, then ask it to include that app by name.
  • OpenDuet won't start: the Intelligence key is usually missing. Rerun bun openbot/scripts/setup-learning.ts from the OpenDuet folder.
  • Port 5432 is already in use: set POSTGRES_PORT in .env to a free port and change the same port in DATABASE_URL.
  • Gmail or Calendar won't connect in OpenDuet: the Google OAuth client isn't set up yet. Open Settings, then Setup, and follow the link for the open step. To test without Google, use the fake Google steps in the README.
  • The model key fails: Settings, then Setup, tells you if the key works. Check for extra spaces in .env, then restart with stop.sh and start.sh.

Final check

You get a morning brief with your calendar, messages, and decisions. You asked for at least one drafted reply, and it waited on an approval screen until you allowed or refused it.

paid brand collaborations

teamwork makes the dream work.

I love working with brands that make AI easier to understand, operate ethically, and share what they know generously. If that sounds like you, drop your info below.

is this a paid opportunity?