What the morning summary covers
Mine pulls together the things I would otherwise check one tab at a time:
- Revenue for the week so far
- Every sales call booked for today
- A summary of the projects I am working on today
- How my recent Instagram posts are doing
- A line of motivation to start the day
Yours will be different, because it depends on the systems you use. The pattern underneath is the same for everyone.
How it works
-
A scheduled script starts the run
Every morning, before I am at my desk, one script kicks off. On Windows that is Task Scheduler. On a Mac, cron or launchd.
-
A collector for each tool
The script sets off a small collector for every source: payments, the CRM, the calendar, Instagram. Each one fetches its numbers.
-
Everything lands in one local database
The results are saved into a single database file on my own computer. Every day adds a row, so Claude can see the history, not just today.
-
Claude writes the summary
Claude reads the database and writes a short summary of what matters today.
-
It lands on your phone
The summary is sent to your phone, so the information is there before you sit down. A Telegram bot is the simplest way to do this, and Claude can set that up for you too.
The three ways to connect a tool
Work down this list for every system you want in the summary. Use the first one that exists for that tool.
| Route | When | Example |
|---|---|---|
| 1. Built-in connector | The tool is already in Claude's connector list. Sign in and you are done. (Day 7) | Stripe. In the Claude desktop app, Customize → Connectors, find Stripe, click Connect and sign in. That gives Claude your revenue figures. |
| 2. Custom connector | The tool is not in the list, but it publishes a connector address. (Day 8) | Meta Ads. Add https://mcp.facebook.com/ads as a custom connector and sign in with Meta. Still in beta and rolling out gradually. |
| 3. API key | Smaller platforms and CRMs with no connector at all. | Any CRM or platform that has no connector. The next section walks through it. |
Connectors can often write as well as read. The Stripe connector can issue refunds, for example. For a morning summary Claude only needs to read, so set every write action to Needs approval or Blocked in the connector's Tool permissions.
Connecting a tool with an API key, safely
An API key is a password that lets software into your account. Treat it exactly like one.
-
Create a new key in the tool
Open your CRM (or whichever platform it is), find the API or developer settings, and create a new key just for this. Name it something like "Claude morning summary" so you know what it is later.
-
Give it read-only permissions
Most tools let you choose. In Stripe it is a restricted key with Read access on only the parts you need. In Airtable it is a personal access token with the
data.records:readscope on one base. If the key can only read, the worst a leak can do is show someone data. It cannot change or delete anything. -
Paste it into the .env file in your Claude Code project
The
.envfile is where secrets live in the folder you set up on Day 5. One line per key:What a line in .env looks likeCRM_API_KEY=paste-your-key-here
Then make sure
.envis listed in your.gitignorefile, so it never gets uploaded anywhere if you back the project up to GitHub. Ask Claude Code to check this for you.
Chats are saved to your Claude account. If anyone ever gets into your Claude, every key you have pasted is sitting in that history for them to use. Put the key in .env yourself, then tell Claude where it is: "the key is in .env as CRM_API_KEY, read it from there and never print it."
The build prompt
Paste this into Claude Code inside your project folder. Change the list of sources to match your business.
I want a morning summary of my business, ready before I start work. My sources are: - Stripe (revenue for the week so far) - My CRM, [name it] (new leads and deals by stage) - My calendar (calls booked today) - Instagram (how my recent posts are doing) Before writing anything, tell me for each source whether to use a connector or an API key, and exactly which permissions the key needs. Read-only wherever possible. Then: 1. Write a small collector script for each source. 2. Save every run into a local database on this computer, so I keep the history. 3. Read the keys from my .env file. Never print them, and check .env is in .gitignore. 4. Write a one-page summary of today from the database. 5. Schedule the whole thing to run at 6am every day. Build one source at a time and show me it working before moving to the next.
Six collectors built at once means six places something can go wrong at once. Get Stripe returning a real number, then add the next. It is slower for an hour and faster for the whole build.
What to track, if you run a property business
| Business | Numbers worth a line in the summary |
|---|---|
| Estate agent | Valuations booked, new instructions, listings live, viewings today, offers received, sales agreed this week |
| Letting agent | New enquiries, viewings today, voids, arrears, tenancies up for renewal this month |
| Deal sourcer | New leads, deals sent to investors, deals reserved, fees invoiced and paid |
This morning, or right now?
The morning run is a snapshot. It is right at 6am and a few hours old by lunch. For most questions ("how did last month compare?") the snapshot is exactly what you want, and it costs nothing to read.
When you need the number as it stands this minute, ask Claude to check the source directly: "how much revenue have I taken today, right now?" With a connector switched on, it goes straight to Stripe and answers from there. Ask it to tell you the time it checked, so you always know which kind of number you are looking at.
Where this goes
Your numbers now come to you. Day 10 turns them into a dashboard you can actually click through: charts, filters and sliders, built by describing what you want.
Book a free 30-minute AI assessment
Thirty minutes, no pitch. We work out which system would make the biggest difference in your business, and you leave with the answer whether you ever hire me or not.
Book the assessment