HANDS-ON WORKSHOP · 20 MINUTES

Build Your AI Scheduling
Executive Assistant

Use ChatGPT to plan it. Use Claude to code it. Get a real human-in-the-loop agent that manages your calendar, drafts outreach, and always asks before it acts.

🔁 Human-in-the-Loop Agent  ·  No coding experience needed  ·  ChatGPT + Claude
4Phases
20Minutes
0Code Exp.
Meetings
Phase 1 — Plan It (ChatGPT)
Phase 2 — Build It (Claude)
Phase 3 — Power It Up (API)
Phase 4 — Refine & Ship
Progress
0%
Welcome ⏱ Read before starting

Your AI Assistant That
Always Asks First

In 20 minutes you'll build a real AI scheduling agent — one that can find open times, draft meeting invites, reach out to attendees, and manage your calendar. And it always asks for your approval before doing anything that matters.

🔁 What does "Human-in-the-Loop" mean?

Most AI agents just do things — they send emails, book meetings, cancel events — without asking. A Human-in-the-Loop agent is different: it plans what it wants to do, shows you a confirmation step, and only acts when you approve. Think of it like having an assistant who lays out the options on your desk and waits for you to say "go ahead." It's the same power, with a safety net built in. For scheduling — where a wrong email or double-booking is a real problem — this is exactly what you want.

What your assistant will be able to do
📅
Show Your ScheduleAsk "what's on my calendar this week?" and get a clean, readable view instantly.
🔍
Find Available TimeAsk it to find a 90-minute slot next week — it scans your calendar and suggests options.
Create & Update MeetingsDrafts the event, confirms the details with you, then books it — or edits an existing one.
Cancel with a MessageProposes a cancellation notice to attendees and only sends after you approve the wording.
📧
Handle OutreachDrafts meeting requests, follow-ups, or rescheduling emails — shows them to you before sending.
Always Confirm FirstEvery action that touches your calendar or sends a message gets a confirmation step. No surprises.
How this workshop works — the 3-tool process
🧠
ChatGPTPlan your idea + generate a Claude prompt
⚙️
ClaudeTurn the prompt into a working prototype
🔑
API KeyPower natural language understanding (optional but recommended)
💡

No coding experience needed. You won't write a single line of code yourself. ChatGPT generates the plan and the instructions. Claude writes the code for you. Your job is to describe what you want, copy-paste, and refine — just like working with a very fast developer.

What you need before you start
  • A ChatGPT account — free tier works fine for this. Open it in another tab.
  • A Claude account at claude.ai — free tier works fine. Open it in another tab.
  • A rough idea of how you want your assistant to behave — or just follow our example. You can always change it later.

Hit "Begin Build" to start the 20-minute timer. Each phase is 4–6 minutes. You'll end up with a live, working prototype you can test right away and keep improving.

Step 1 of 4 🧠 Phase 1 — Plan It with ChatGPT ⏱ 4 minutes

Use ChatGPT to
Generate Your Blueprint

Before you build anything, you need a good set of instructions for Claude. ChatGPT is great at helping you think through your idea and turn it into a detailed, well-structured prompt that Claude can actually code from.

💬 Why ChatGPT first?

ChatGPT is being used here as a planning and prompt-writing assistant — not as the AI that builds the product. Its job is to take your rough idea (like "I want a scheduling assistant") and turn it into a precise, detailed specification that Claude can use to actually write the code. Think of it as ChatGPT writing the architecture document, and Claude doing the engineering. You can also add your own thoughts and preferences — tell ChatGPT what you want included and it'll weave them in.

Step 1 — Open ChatGPT and paste this prompt
  • 1
    Go to chat.openai.com and start a new conversation.
  • 2
    Copy the prompt below and paste it into ChatGPT. This asks it to write a complete Claude prompt for your scheduling agent.
  • 3
    Before sending — add any personal notes or preferences at the bottom. For example: "I prefer a dark theme UI" or "Include a section for recurring meetings" or "The confirmation step should show a preview of the email before sending."
  • 4
    Send the message and wait for ChatGPT's full response. It will give you a ready-to-use Claude prompt — a detailed set of instructions for building your agent. Copy that entire response.
Your ChatGPT planning prompt — copy and paste this
CHATGPT_PLANNING_PROMPT.txt — Paste into chat.openai.com
Give me a prompt to put into Claude that creates a scheduling executive assistant that fits the AI agent architecture of human-in-the-loop. The assistant should be able to: - Show the user's current schedule - Find available time slots based on preferences - Create new meetings and calendar events - Update or reschedule existing meetings - Cancel meetings and notify attendees - Handle outreach to meeting attendees (drafting and sending emails) - Suggest optimal meeting times based on patterns Most importantly: the assistant should confirm important actions with the user BEFORE executing them. This includes: - Before sending any email or calendar invite - Before canceling any meeting - Before adding external attendees The UI should be clean and simple — showing a confirmation/preview step for every consequential action. [Add your own preferences here — e.g. "I want a dark theme", "Include a notes field for each meeting", "Show the attendees' availability when proposing times"]
🧩

What you'll get back from ChatGPT: A long, detailed prompt — usually 400–800 words — that specifies exactly how to build the agent: what features to include, how the confirmation flow should work, what the UI should look like, and how to structure the code. This becomes your instruction set for Claude in Phase 2.

Verify before moving on
  • I pasted the prompt into ChatGPT and received a full response
  • The response includes a Claude-ready prompt (usually starts with "Create a..." or "Build a...")
  • I've copied the entire response from ChatGPT — ready to paste into Claude
Step 2 of 4 ⚙️ Phase 2 — Build It with Claude ⏱ 6 minutes

Let Claude Turn Your
Plan Into a Prototype

Take the prompt ChatGPT generated and give it to Claude. Claude will read the specification and write all the code — building you a working, interactive scheduling assistant prototype that runs right in the browser.

⚙️ What Claude does here

Claude is your AI developer. It reads the specification from ChatGPT and writes the full application — the interface, the scheduling logic, the confirmation dialogs, and the human-in-the-loop flow. You don't need to understand the code. You just need to describe what you want and let Claude write it. The prototype will run directly in Claude's interface — no setup or installation required.

How to build your prototype in Claude
  • 1
    Go to claude.ai and start a new conversation. Make sure you're logged in.
  • 2
    Paste the full response you copied from ChatGPT into the Claude message box. Don't add anything else yet — just the raw prompt ChatGPT gave you.
  • 3
    Hit send and wait. Claude will build the application — this typically takes 30–90 seconds. You'll see it writing code and then a live preview will appear. Don't interrupt it.
  • 4
    Test the prototype that appears. Click around — try scheduling a meeting, try canceling one. Check that the confirmation dialogs appear before any action is taken. This is your human-in-the-loop safety check working.
What a good first prototype looks like
✅ Good signs
A calendar or schedule view appears. Buttons for "Schedule Meeting," "Find Time," and "Cancel" are present. Clicking an action shows a confirmation/preview dialog before anything happens.
⚠️ If something looks off
That's completely normal — just tell Claude what's wrong in the same conversation. Say "The cancel button doesn't show a confirmation dialog" or "The calendar view is missing." Claude will fix it. See Phase 4 for more on this.
🔁 The human-in-the-loop check
Try to "send an email to an attendee." The assistant should stop and show you the draft email before sending it, with a Confirm and Cancel button. If it just sends without asking — go to Phase 4 and ask Claude to add confirmation steps.
💾 Save your conversation
All your refinements stay in the same Claude conversation. Don't close the tab — you'll be coming back to this thread in Phase 4 to make improvements.
🏗️

You just did something remarkable: You described an idea to one AI (ChatGPT), had it write the spec, and handed that spec to a second AI (Claude) to build the actual software. This two-step "AI chaining" workflow is how non-technical founders are shipping real products today. The whole thing runs inside your browser — no servers, no deployment.

Before moving on
  • Claude has produced a visible, interactive prototype
  • I clicked around and the basic scheduling features are present
  • At least one action (scheduling, canceling, or emailing) shows a confirmation step before executing
  • I've kept the Claude conversation open — I'll be returning to this same thread
Step 3 of 4 🔑 Phase 3 — Power It Up with an API Key ⏱ 4 minutes

Unlock Natural Language
with an API Key

Right now your prototype responds to button clicks. With an API key, your assistant can understand plain English — "move my 2 PM to Thursday and let Sarah know" — and figure out what to do on its own. This is where it goes from demo to agent.

🤔 Do I need this?

Not immediately — your prototype works without it. But if you want your assistant to understand natural language commands typed in plain English (rather than only clicking buttons), you'll need to connect it to a language model via an API. An API key is like a password that lets your app make requests to Claude or ChatGPT's AI brains in the background. Costs are typically a few cents per conversation — often less than a dollar a month for personal use.

Choose your AI engine — pick one to connect
Claude API (Anthropic)
BY ANTHROPIC
The same Claude that built your prototype. Strong at nuanced instruction-following, long conversations, and complex reasoning. Great fit since your prototype was already written for Claude's style.
Get Claude API Key →
OpenAI API (GPT)
BY OPENAI
The same engine behind ChatGPT. Widely used, well-documented, and familiar if you've used ChatGPT. GPT-4o is fast and very capable for scheduling and natural language parsing tasks.
Get OpenAI API Key →
How to get your API key (step by step)
  • 1
    Click the link above for the API provider you chose. You'll need to create an account if you don't have one — this is separate from your ChatGPT or Claude chat account.
  • 2
    For Anthropic (Claude API): Go to console.anthropic.com → click "API Keys" in the left sidebar → click "Create Key" → give it a name → copy the key that appears. You won't be able to see the full key again after leaving this page — copy it now.
  • 3
    For OpenAI (GPT API): Go to platform.openai.com/api-keys → click "+ Create new secret key" → name it → copy the key. Both providers require you to add a payment method — but neither charges you until you use the API, and usage is metered by the word, not by the month.
  • 4
    Add the key to your prototype: Go back to your Claude conversation and say: "Add an API key input field to the app where I can paste my [Claude/OpenAI] API key. Use it to power a natural language command bar where I can type instructions like 'schedule a 30-minute call with Jamie on Friday afternoon.'" Claude will update the prototype to include this.
🔒

Keep your API key private. Never share it publicly or paste it into a public document. Your key is linked to your payment method — anyone who has it can use it at your expense. For a personal tool you're building and testing yourself, pasting it into the app's settings field is perfectly fine. Just don't share the app publicly with your key inside it.

What this unlocks
Without API key
Button-driven interface. Click "Schedule Meeting," fill out a form, confirm. Works well, but rigid — every action requires a specific button sequence.
With API key
Type: "Move my Monday standup to Tuesday at the same time and resend the invite." The agent parses your intent, proposes the change, and waits for your confirmation before acting.
💡

Skip this step for now if you want. You can come back to it after Phase 4. The API key is what makes your agent feel truly conversational, but your prototype is already useful without it. Finish refining the core experience first, then add this.

Before moving on
  • I have chosen an API provider (Claude API or OpenAI) and created an account
  • I have generated an API key and copied it somewhere safe (e.g. a private note)
  • I've either added the key to my prototype already — or I've decided to do it after Phase 4
Step 4 of 4 🎛️ Phase 4 — Refine & Fix with Claude ⏱ 5 minutes

Shape It Into Exactly
What You Need

Your prototype is functional — now it's time to make it yours. Go back to the Claude conversation and keep telling it what to change. Claude can fix bugs, adjust the design, add features, and tune the confirmation flows — all in the same thread, without starting over.

🔄

How refinement works: Every message you send in the same Claude conversation is a request for a change. You don't need to explain the whole app again — Claude remembers everything you've built together in this thread. Just describe what you want different and it will update the code. Start with the biggest issues first.

Refinement prompts — click to copy and send back to Claude
1
"The confirmation dialog for sending emails is missing. Before any email is sent to an attendee, show me a preview of the exact message with a Confirm and Cancel button. Do not send anything until I click Confirm."
2
"Add a visual indicator showing which actions will trigger a human confirmation step vs. which ones happen automatically. Use a small orange 'Confirm Required' badge on any button that involves sending a message or modifying the calendar."
3
"When I click 'Find Available Time,' show me 3 suggested slots ranked by my meeting-free mornings first. Let me click to select a slot and then auto-populate the scheduling form with that time."
4
"Add a cancellation flow: when I cancel a meeting, draft a brief, professional message to all attendees explaining the cancellation. Show me the draft first and let me edit it before I approve it to send."
5
"The UI looks too basic. Make it cleaner — use a white card design with a soft drop shadow, a purple color scheme, and a sidebar that shows today's schedule at a glance while I work in the main panel."
How to report and fix bugs
  • Describe the bug concretely. Instead of "it's broken," say "When I click the Schedule button, nothing happens — the form doesn't submit." The more specific, the faster Claude fixes it.
  • Tell Claude what you expected vs. what happened. "I expected a confirmation dialog to appear, but instead the event was created immediately without asking me." Claude will know exactly what to change.
  • Use 2–3 refinement requests per round. Send a few changes at once, test the result, then send another round. Making too many simultaneous changes makes it hard to see what improved.
  • Ask Claude to explain anything you don't understand. "What does this part do?" or "Why is the confirmation step here and not there?" Claude is also your tutor — use it to understand what's been built.
Going further — ideas to add next
  • 🔗
    Connect to a real calendar API. Ask Claude: "Integrate this with the Google Calendar API so it reads and writes real events." You'll need to set up a Google Cloud project and enable the Calendar API — Claude will walk you through it if you ask.
  • 📤
    Add real email sending. Services like SendGrid or Resend have free tiers and simple APIs. Ask Claude: "Use Resend to actually send the email drafts after I approve them."
  • 🤝
    Share it with your EA or team. This same build process can be adapted for your whole team — give each person their own version, or build a shared scheduling layer that coordinates across multiple calendars.
🏆

You've built a Human-in-the-Loop AI Agent — an AI that can reason about your schedule, draft communications, propose actions, and always pauses for your approval before doing anything consequential. This is real software, built in 20 minutes, without writing a line of code yourself.

🎉

Workshop Complete!

Your AI Scheduling Executive Assistant is live. Here's what you built in 20 minutes — using only ChatGPT and Claude:

4Phases Done
1Working Agent
0Lines of Code
Meetings
What you built and own
📅
Scheduling AgentA full-featured AI assistant for viewing, creating, updating, and canceling calendar events
Human-in-the-Loop FlowEvery consequential action — emails, bookings, cancellations — requires your confirmation before executing
🧠
Natural Language Interface(With API key) Type commands in plain English and your agent understands and responds
🔄
A Living PrototypeReturn to the Claude conversation anytime to add features, fix issues, or adapt it for new use cases
The process you now know — use it for anything
  • 🚀
    This workflow scales to any idea. ChatGPT plans it. Claude builds it. API key powers it. Refinement perfects it. You can apply this exact pattern to a customer support agent, a data analysis tool, a content generator, or any other AI product you can imagine.
  • 🤝
    Iterate in the same conversation. Your Claude thread is a living development environment. Keep refining — add Google Calendar integration, real email sending, multi-user support — by just describing what you want next.
  • 📈
    Want to go deeper? Explore the 7 Types of AI Agents — there are more powerful architectures to explore, including multi-agent systems where multiple AI assistants collaborate and delegate to each other.
💙

Quick links to bookmark:  ChatGPT for planning  ·  Claude for building  ·  Anthropic Console for Claude API  ·  OpenAI Platform for GPT API