DEV Community

Tim Gaul
Tim Gaul

Posted on

Part 2: The Upgrade That Turns Claude Into a Persistent Workspace Operator

"GPTs made AI automation possible. Claude + Zapier MCP made it effortless."

This is Part 2 of my series on building practical AI assistants. If you haven’t built the Part 1 foundation yet, start there: Part 1: The 5-Minute Setup That Turns ChatGPT Into Your Real Assistant. For the broader context, see the series hub: From ChatGPT Prototype to Real AI Assistant: How I Automated My Daily Planning.

This post follows naturally from Part 1: The 5-Minute Setup That Turns ChatGPT Into Your Real Assistant, where we built a custom GPT that could actually write to your calendar. If you haven't read Part 1, the quick version is this: we solved the copy-paste problem by connecting ChatGPT to Zapier so it could create calendar events automatically instead of just suggesting them.

That GPT setup is genuinely useful. It works. Lots of people are using it successfully right now.

But here's what I realized after living with it for a few weeks: custom GPTs are the old way of doing AI automation. They get the job done, but they're not nearly as flexible or powerful as what's possible today.

Think of custom GPTs like the early iPhone—revolutionary for its time, but once you've used an iPhone 15, you notice all the limitations you used to tolerate.

The new way? Claude with Zapier MCP. Same basic idea, but with a fundamental architectural difference that changes everything about how your assistant actually works.

Claude + Zapier MCP setup showing Notion / Outlook / Slack orchestration

Why GPTs Feel Like the Old Way

After using that ChatGPT scheduling assistant for a few weeks, I started noticing the cracks. Nothing broke exactly—it just felt... constrained.

Every morning I'd open a new chat, enable the Outlook connector, and paste in my task list from wherever I'd scribbled it down. The assistant would check my calendar, build a smart schedule, and create the events. Mission accomplished.

But here's what kept bugging me: my task list lived in Notion with all this beautiful metadata—priorities, time estimates, energy levels, due dates. ChatGPT couldn't see any of that. So I'd manually copy tasks over in a format it could understand, losing all the context in translation.

It was like having an assistant who could only read sticky notes while all my actual work lived in a sophisticated database.

And the connector situation? Every single morning I had to enable Outlook access again. Click, authorize, wait. It's only a few seconds, but when you're doing it daily, those seconds add up to frustration.

The bigger issue wasn't the friction—it was the flexibility. With GPTs, you're locked into OpenAI's integration system. They decide which apps get connectors. They control how those connectors work. Want to connect to Notion? Hope they build it. Want to pull from a custom database? Good luck.

GPTs solved the automation problem beautifully, but they left me wanting more control.

What Changed When I Discovered Claude MCP

I kept hearing about Claude's "MCP" thing—Model Context Protocol. The name sounds intimidating, like something you'd need a computer science degree to understand. But when I finally tried it, I realized it's just a fancier version of what we built in Part 1, except with one crucial difference: persistence.

With ChatGPT's approach, you're granting permissions every time. With Claude MCP, you're setting up permanent abilities your assistant can reuse across every conversation.

Think of it like this: ChatGPT is like having a temp worker show up each day. You have to show them where everything is, give them permissions to use the tools, explain the routine. They do great work! But tomorrow, you start over.

Claude with MCP is like having an actual employee. You give them access once, show them your systems, and they remember. They already know where your tasks live, how your calendar works, and how you like things done.

Here's what my morning looks like now: I open Claude and type "build today's schedule." That's it. No connector-enabling. No task-list-pasting. No permission-granting dance.

Claude already knows how to pull my tasks from Notion, check my Outlook calendar, build a conflict-free schedule, and send me a Slack digest. It just... does it.

That shift from "assistant I have to manage" to "operator I can trust" is what this guide is about.

What You're About to Build

By the end of this, you'll have created something that feels a bit like magic but is actually just good engineering:

A Notion Tasks database that captures everything about your work—not just what needs doing, but how long it takes, how much energy it requires, and when it's due.

A private Zapier MCP server you completely control, with a secret URL you can rotate anytime. Think of this as your assistant's permanent ID badge for accessing your workspace.

That server will expose exactly four abilities: query your Notion tasks, read your Outlook calendar, create calendar events, and send you Slack messages. Nothing more, nothing less.

Claude connected to that server, so those abilities are always available across every chat you ever have. No re-authenticating. No re-explaining. Just permanent, safe access to the tools your assistant needs to actually help.

The beautiful part? You can build all of this without writing a single line of code. Just clear permissions and a simple playbook.

Step 1 — Create Your Notion Task Database (Let AI Do the Work)

Here's where we start getting smarter about how we work. Instead of treating your tasks like a dumb checklist, we're going to build a database that captures the context around each task.

Open Notion, click anywhere, and look for the "Build with AI" button. When the chat pops up, paste this:

Build a Notion database schema for managing tasks.
The database should have columns/properties:

Title (task name)
Due Date (date)
Status (select: To Do / In Progress / Done)
Estimate (mins) (number)
Priority (select: Low / Medium / High)
Energy Tag (select: Creative / Admin / Heavy / Light)
Notion URL (link/URL property)

After creating the database, set up an action to add new task items into this database with those fields.
Enter fullscreen mode Exit fullscreen mode

Watch Notion's AI build your database in real-time. It's oddly satisfying.

Here's why this matters more than you might think: when your assistant can see that "Write Q4 strategy deck" takes 90 minutes, is high priority, and requires creative energy, it doesn't just slot it into the first available hole in your calendar. It can put it in the morning when you're fresh, give it a contiguous block instead of chopping it up, and make sure it happens before the deadline.

Context turns scheduling from Tetris into strategy.

Once Notion finishes building the database, add a couple of sample tasks so you can see how it looks. Make one high-priority creative work, one low-priority admin task. You'll thank yourself later when you're testing.

Notion AI building a structured Tasks database with priority, estimate, energy, and due date fields

Step 2 — Connect Your Apps (and Actually Give Permission This Time)

Head to Zapier → App Connections and connect three accounts: Microsoft Outlook, Slack, and Notion.

The Outlook and Slack connections are straightforward—add connection and just sign in and approve. But Notion has a gotcha that trips everyone up the first time.

When you connect Notion, it'll ask what pages Zapier can access. This is where most people click "Allow access to all pages" because they're in a hurry. Don't do that.

Instead, click Select pages and choose only your Tasks database. Nothing else.

Why this matters: You're building an automated system that will touch your workspace every day. Being specific about permissions isn't paranoia—it's good hygiene. If something weird happens (spoiler: nothing will), your assistant can only mess with your task list, not your entire Notion workspace.

Think of it like giving someone the key to your garage, not your whole house.

Scoped Notion permission dialog with only the Tasks database selected

Step 3 — Create Your Zapier MCP Server (Your Assistant's Permanent Badge)

Alright, this is where things get interesting. We're about to create what Zapier calls an "MCP server," which sounds incredibly technical but is actually just a secure control room for your assistant.

Here's what MCP really means in plain English: it's a system that decides what your AI can and can't do. You tell it "Claude can read my Notion database" or "Claude can send me a Slack message," and Zapier enforces those rules. Nothing more, nothing less.

Every MCP server lives under your Zapier account, which means you own the keys. You decide which actions are visible. You can revoke or rotate access any time with a single click.

When we "configure tools" in a minute, we're literally choosing which switches Claude can flip. It's like being a building manager who decides which rooms each employee can unlock.

Head over to mcp.zapier.com and click + New MCP Server.

Pick Claude as your client and name your server something memorable. I went with "WorkspaceOperator" because it sounds way cooler than "my-schedule-thing."

Hit Create and you'll land on a screen with three tabs: Configure, Connect, and History.

Click into the Connect tab and you'll see your Integration URL. This is your secret key—treat it like a password. Anyone with this URL could theoretically use your assistant's abilities, so don't go pasting it in public Slack channels.

The beautiful thing? See that Rotate secret button right below it? If you ever want to revoke access completely, click that and the old URL stops working instantly. Your assistant gets locked out until you give it the new one.

This is the safety net. You're in control. Always.

Zapier MCP Connect tab with Integration URL and Rotate Secret control

Step 4 — Configure Your Tools (This Is Where Everything Clicks)

This is the heart of the whole setup. Everything you've done so far—building the Notion database, connecting your apps, creating the MCP server—was prep work. This step is where you actually decide what your assistant can do.

Think of your Zapier MCP server as an empty control console right now. No buttons, no permissions, nothing Claude can actually touch. We're about to add exactly four abilities, and only these four. If it's not in this list, Claude can't do it.

Click over to the Configure Tools tab. This is where you'll connect your existing app accounts (Notion, Outlook, Slack) and choose the specific actions Claude will be able to use.

Add Your Notion Tools (The Brain)

We'll start by letting Claude read from and optionally write to your Tasks database.

Click Add Tool → Notion → Query Database (Advanced) and then expand Notion, then click the three dots next to **Query Database (Advanced)* and configure like this:

Account: your Notion connection (this is pre-filled)
Database: Set a specific value for this field and select the Tasks database you created earlier

Leave everything else as default.

Add Your Outlook Tools (The Schedule)

Microsoft Outlook → Get Calendar Events in Date Range and configure:

Account: your Outlook account (this is pre-filled)
Calendar: Set a specific value for this field and select your main working calendar

Leave everything else as default.

Microsoft Outlook → Create Event and configure:

Account: your Outlook account (this is pre-filled)
Calendar: Set a specific value for this field and select your main working calendar
Show me as: free (this is optional)

Leave everything else as default.

Add Your Slack Tool (The Messenger)

Slack → Send Direct Message and configure

Account: Slack
To Username: Set a specific value for this field and select your name

Leave everything else as default.

Once added, enable all four tools (1 Notion, 2 Outlook, 1 Slack).

MCP Configure Tools panel showing four enabled abilities: Notion (query), Outlook (read/create), Slack (DM)

Step 5 — Connect Claude to Your MCP Server (The Handshake)

In Claude (web or desktop): click your user icon → Settings → Connectors → Browse connectors

Select Zapier, then connect. Paste in the URL from your Zapier MCP (under the Connect tab).

Hit Continue. You may need to grant access to Claude, and click Allow if you haven't previously done so.

Open a new chat and under Search and Tools you should see your four tools listed. If not, double-check each tool is enabled in Zapier.

This is the handshake—persistent capabilities instead of one-off permissions.

Short walkthrough: connecting Claude to the Zapier MCP server and verifying the tools appear in Claude’s interface.

Step 6 — Create Your Project (Where Claude Remembers Everything)

Projects are Claude's persistent workspaces. Instead of re-explaining context every session, you anchor instructions, tools, and memory in one place.

In Claude: Projects → + New project

Name: Daily Digest

Description: Uses Zapier MCP to populate daily calendar with unfinished tasks

Claude Projects list with New Project button and Daily Digest workspace

Step 7 — Give Your Project Instructions (The Brain of the Operation)

Open your new project. In the Instructions panel, paste:

You are a "Daily Scheduler Agent" using a Zapier MCP Server.
You have access to these tools:
- microsoft_outlook_get_calendar_events_in_date_range
- microsoft_outlook_create_event
- notion_query_database_advanced
- slack_send_direct_message

Goal: Build and send a daily schedule based on Notion tasks and Outlook calendar, then DM me the summary in Slack.

Workflow:
1) Fetch today's Outlook events (treat as busy). Timezone = UTC+10:00 (Brisbane).
2) Query Notion "Tasks" where Status != "Done".
   Return: title, due_date, estimate_mins, priority, energy_tag, notion_url.
   Sort: Priority High→Medium→Low, then Due Date ascending.
3) Working window: 09:00–16:30 (UTC+10).
4) Fit tasks into free slots: Creative/Heavy first, then Admin/Light. Add 5–15 min buffers. If no fit, mark Deferred.
5) Ask once for approval. On "yes", create Outlook events (Show me as = Free) and send a Slack DM with:

🗓 Meetings
- [start–end] — title

📋 Scheduled
- [start–end] — Task (energy)

📌 Deferred
- Task name
Enter fullscreen mode Exit fullscreen mode

Save.

Step 8 — Take It for a Test Drive (The Moment of Truth)

In the project chat:

Build today's daily digest.

Constraints:
- Timezone: Brisbane (UTC+10)
- Working window: 09:00–16:30
Enter fullscreen mode Exit fullscreen mode

Claude will:

  1. Read Outlook events
  2. Query Notion tasks (excluding Done)
  3. Sort + prioritize
  4. Allocate blocks with buffers
  5. Ask for approval
  6. On confirmation: create events + send Slack digest

Claude proposing a structured schedule with meetings, task blocks, and approval prompt

Approve it.

Slack DM

What Just Happened Here

You didn't build another one-off automation. You gave your AI reusable powers—safely scoped by Zapier, visible in one place, and available every single time you open a chat.

That's the difference between "assistant that suggests" and operator that executes.

Old way: Open chat → Enable connectors → Paste tasks → Hope it works → Repeat tomorrow

New way: Open project → Type "build today's schedule" → Approve → Done

Where This Goes Next

I've been using this setup for weeks now, and the trust factor is what surprised me most. When your assistant knows where your work lives and how you like things done, you stop second-guessing it.

I don't stare at the proposed schedule anymore wondering if it missed something. I just say yes and get to work.

That shift from "tool I have to manage" to "teammate I can trust" is what makes all of this worth it.

Further reading:

If this helped you build something useful, I'd love to hear about it. What creative uses are you finding for persistent AI assistants? What other tools would make this even better?

Top comments (0)