← Back to resources
Day 2 · Session · Part 2

Let's build an agent together — Part 2

Part 1 built the recipe. Part 2 connects it to real data (Gmail and Calendar), runs it on command, and puts it on a schedule that fires even when your laptop is closed.

What changes in Part 2?

In Part 1 your Skill learned how to do the job — but you had to hand it the ingredients. Now we give it the ability to fetch its own, and to run when you're not watching.

Knows things
Fetches things
Connectors let it reach into your calendar and inbox — instead of waiting on you to paste.
Works with mocked data
Works with real you
Your Skill's eval criteria stop being aspirational and start being testable against actual calendar events and real unread email.
You summon it
It shows up
Once the briefing works on demand, put it on a schedule in Anthropic's cloud. Tomorrow's briefing lands at 7:30am whether your laptop is open or closed.
Our running example, continued

We're still building the morning briefing. In Part 1 the Skill learned the format and the guardrails. Part 2 has three moves: hand the Skill real data (Gmail + Calendar), run it on command to confirm the output you want, then put it on a schedule.

By the end, tomorrow's briefing lands in your inbox at 7:30am — built from your real calendar and real inbox, formatted the way your Skill specifies — even if your laptop is closed.

What we'll do
  1. ·Vocabulary: tool / MCP / connector
  2. 1Connect Gmail and Calendar
  3. 2Run your briefing on command
  4. 3Put it on a schedule

Settling the vocabulary

Three words that mean overlapping things. One analogy, then we move on.

The analogy · extending the restaurant

If an API is a waiter, a connector is the waiter for a specific restaurant. Tools are items on the menu. MCP is the menu format that lets Claude read any menu.

Connector — the waiter for one restaurant. Gmail has its own waiter. Calendar has its own. Slack has its own. You wave one over and it handles that kitchen for you — you never go back there yourself.

Tool — a single item on the menu. "Read my inbox." "Put this on my calendar." "Send this reply." One tool, one specific thing you can order.

MCP (Model Context Protocol) — the shared menu format. Every Claude-compatible service publishes its tools in the same structured way (name, description, inputs, outputs). That's why Claude can walk into a new restaurant and read the menu without anyone teaching it a new convention. You don't write MCP; services already publish in it, and you just turn them on.

For the rest of this session we'll just say connector — the waiter for whichever restaurant we're ordering from.

How Claude reaches your data

Each method gives Claude more access — and asks for more trust. Connectors sit at the high end of this spectrum. Worth knowing what the other tiers look like before you hand over the keys.

Low access · low risk High access · higher risk
📄

File uploads

You manually upload a PDF or doc. Claude sees it only in that conversation, then forgets.

Data: Static snapshot
Duration: One conversation
Permission: You choose each file
Best for: one-off analysis
📚

Knowledge bases

Docs you add to a Project or a Skill. Claude has persistent access across every conversation in that workspace.

Data: Your curated docs
Duration: Always on (in that project)
Permission: You set it up once
Best for: team consistency
🌐

Web browsing

Claude searches the open web for current info. Sees public data only — nothing behind a login.

Data: Live, public web
Duration: Per query
Permission: Automatic
Best for: research & fact-checking
🔗

Connectors

Claude reaches directly into Gmail, Calendar, Drive, Slack. Sees live, continuously updating data in your real tools.

Data: Live & continuously updated
Duration: Always on
Permission: Broad account access
Best for: ongoing workflows
← We're here in Part 2
Pick the tier that fits the job

Connectors are the right call for the morning briefing — it needs live, recurring data. But connectors aren't the default for everything. If you just need to analyze one document once, file uploads stay simpler and safer. Start on the left, move right as you build trust. Avoid granting connector access to services that hold sensitive financial or health information unless you've thought it through.

1

Connect Gmail and Calendar via Claude's connectors

Anthropic runs a connectors panel in your Claude settings where you can hook up services like Gmail and Google Calendar with one click each. Once connected, any Claude surface — Claude on the web, Claude Code, and the scheduled routine you'll set up in Step 3 — can use them.

Two services, two clicks each. No terminal commands.

  1. Open claude.ai/settings/connectors in your browser. Sign in with the same account you use for Claude Code.
  2. Find Google Calendar. Click Connect. Sign into the Google account you want to use and approve the scopes.
  3. Back on the connectors page, find Gmail. Click Connect. Same flow.
A connector is a bundle of tools

A tool is one specific thing Claude can do. A connector isn't one tool — it's a bundle of them. Turning one on expands what Claude can reach for.

Calendar adds tools like read today's events, find free time, create an event. Gmail adds tools like read my inbox, search messages, send a reply. When Claude builds your briefing, it's calling a handful of these one at a time.

Guardrail · pick the smallest scope

If the OAuth flow offers separate permissions for read vs send (especially on Gmail), only approve what you need today. A briefing reads. You can widen scope later; you can't untick a box in the past.

Gotcha · managed Google accounts

If your Google account is managed by a workspace admin (usually a work account), connecting may require their approval. If the flow won't complete, it's usually an admin policy, not something you did wrong — ping IT rather than retrying.

Test each service by asking Claude — at claude.ai or in Claude Code — a prompt only that connector can answer. Tick the boxes below as you confirm each works.

Check these off as you go

Just for your own progress tracking.

You're done when

Both connectors show as connected in your Claude settings, and both test prompts return real data from your Google account.

2

Run your briefing on command

Your Skill from Part 1 describes what a briefing should look like. Your connectors from Step 1 give it real data to work from. Let's put the two together — Claude Code invokes the Skill, the Skill uses the connectors, you get a briefing.

Prerequisite · Part 1 must be done

Part 2 picks up where Part 1 left off — it expects a Skill file to already exist inside your context directory's Admin folder, at ~/Desktop/context/Admin/skills/{skill-name}/SKILL.md. If you haven't done Part 1, finish it first and come back.

Your Skill name

The one you created in Part 1. Default is briefing — change it if you picked a different name.

Start a new Claude Code conversation (home folder, not a project repo), and try either of these prompts:

Invoke by Skill name

Or just describe what you want — if your Skill's description is good, Claude matches automatically:

Invoke by intent

What you should see:

  • Claude reaches into your connected Calendar to pull today's events
  • Claude scans your Gmail for unread messages from the last 12 hours
  • It formats the result according to your Skill from Part 1 — the format, length, tone, and guardrails you specified
  • You get a one-screen briefing back, not a wall of raw tool calls
Callback to evals

Remember the success criteria you wrote in Part 1? "I know what workout I have coming up. I know what messages need a reply today."

Until now, those were aspirational. Your Skill couldn't actually fetch your calendar; it worked with whatever you pasted in. Now the connectors feed it real data. Your criteria finally become testable.

Run the briefing three days in a row. For each run, grade it against your criteria. If one keeps failing — your evals just told you what to fix next.

You're done when

You ask for your briefing and get back a real one, drawn from your actual calendar and inbox, that passes your eval criteria from Part 1.

Local vs cloud — where your scheduled briefing runs

Before we schedule, one thing worth knowing: on-demand and scheduled briefings run in different places.

On-demand = your machine

When you asked for the briefing in Step 2, Claude Code ran it on your laptop using your local Skill and the connectors linked to your Anthropic account.

Scheduled = Anthropic's cloud

A scheduled routine fires in Anthropic's cloud, independent of whether your laptop is open. Same connectors (they live on your account, not your machine), but the prompt itself has to be self-contained — the cloud can't read your local Skill file.

Practical consequence

The schedule prompt in Step 3 inlines the briefing instructions directly, rather than saying "run my briefing Skill." That way it works from the cloud, with or without your laptop awake.

3

Put it on a schedule

A routine is a scheduled prompt that Claude runs in Anthropic's cloud. It gets: a schedule (cron), a model, access to whichever connectors you grant it, and a prompt that tells it what to do on each run. Once created, it fires at its scheduled time whether your laptop is open or closed.

Claude Code's built-in /schedule skill is how you create a routine. Fill in the three fields below, then paste the rendered prompt into Claude Code.

Before you paste · Gmail needs "send" scope

If you connected Gmail as read-only back in Step 1, the routine can't email you the briefing — it'll create successfully, then fail silently. Go back to claude.ai/settings/connectors, disconnect Gmail, and reconnect — this time approving the "send email on your behalf" scope. Calendar can stay read-only.

Your routine

Natural language for the schedule is fine — /schedule will turn it into a cron expression. Include your timezone in the schedule text so there's no ambiguity.

Paste into Claude Code
Schedule prompt · live

Claude Code will confirm the routine and give it a name. The next run fires at your scheduled time — even if your laptop is closed.

Managing your routine later

/schedule handles create, list, update, and delete. In any Claude Code session, ask: "list my scheduled routines," "pause my morning briefing routine," or "delete the routine named X." Same skill, different verbs.

You're done when

Claude Code confirms the routine is created (and names it), and the briefing lands in your inbox at your chosen time on a weekday — whether your laptop is open or closed.

Best practices for scheduled runs

Scheduled agents run when nobody's watching. Four things that keep them from drifting into expensive or embarrassing territory.

Dry-run first

Step 2 was your dry-run. Run the briefing manually for two or three days before scheduling. Fix any spec issues while you're watching — not while you're asleep.

Pick a cheap model

Scheduled costs compound when nobody's watching. Haiku is almost always right for a briefing. Reach for Sonnet or Opus only when the task genuinely needs more reasoning.

Idempotency matters

If your briefing dedupes articles day-over-day, it needs somewhere to remember what it already showed you. Simplest version: have it check today's Gmail for a prior briefing before sending the next one.

Start read-only

Don't give a scheduled agent write or send tools until you've watched three clean runs in a row. Silent agents with send privileges are how you end up emailing your whole team a weather report.

Where Part 2 lands you on the agentic spectrum

Claude doesn't just answer questions — it can act. Here's the range, and where Part 2 leaves you.

Friendliest Most autonomous
🤝

Cowork

You ask, Claude does

One task at a time across email, calendar, Drive, Notion. Claude works alongside you in the conversation.

← You did this in Step 2

Scheduled tasks

Set it and forget it

Runs on autopilot — daily briefings, weekly digests, recurring reports. Same tools, no human kickoff.

← You did this in Step 3
🤖

Managed agents

Dispatch and check back

Multi-step projects — research, compile, draft, deliver. You kick it off with a goal; Claude reports back when done.

🖱️

Computer use

Full screen control

Clicks buttons, fills forms, navigates apps for you. Most autonomous; requires the most trust.

Where to go from here

You've done Cowork and Scheduled Tasks — the friendliest two modes. Next up: Managed Agents (when you want Claude to take on a multi-step project — research, synthesize, deliver), and Computer Use (when you need Claude to act inside an app that doesn't have a connector yet). Start on the left; move right as you build trust.