Give your AI assistant the power to take real actions while keeping humans in control. You'll build a complete approval system that lets users review, approve, or reject tool executions before they run - the same pattern used by production AI systems that interact with external services.
What You'll Build
A personal assistant with a human-in-the-loop system that can:
- Connect to external services through MCP (Model Context Protocol)
- Pause execution and request human approval for destructive actions
- Let users approve, reject with feedback, or modify tool parameters
- Filter available tools based on user preferences in the UI
What You'll Learn
Integrating External Tools via MCP
Connect your agent to thousands of pre-built integrations through the Zapier MCP server. You'll learn how to fetch external tools, filter out unwanted ones, and add local schema definitions for type safety and token optimization.
Building the Approval Harness
Implement the backend infrastructure that makes human-in-the-loop work. You'll wrap tool executions to request approval, track decisions across messages, execute approved actions, and annotate message history so the LLM understands what happened.
Frontend Approval Flows
Create the UI patterns that make tool approval seamless. You'll build approval request cards with Approve/Reject buttons, handle rejection feedback through the chat input, track outstanding decisions, and disable input until users make required choices.
Tool Group Filtering
Solve the scaling problem of too many tools. You'll implement an app configuration system that lets users toggle which tool groups (Calendar, Tasks, etc.) are active, reducing token usage and helping the LLM choose the right tool.