Mission · You stay in control

Your agent prepares an order — you have the last word

Now it gets real: your agent can prepare real orders. There is no sandbox — prepare_order creates a real order. That's exactly why you practice two safety nets here: first decline in the permission dialog, then deliberately approve and reject it in your ordinary Freigabe (approval).

Lesson 03 · ~8 minutes · Knowledge & practice

What you'll be able to do

No sandbox

prepare_order creates a real order in production — there is no practice environment. That's why every practice order carries the title Test: and the request "please decline", and you decline it. If your agent later prepares a real order you actually want, you approve it, of course.

Two nets, not one

In the n8n course the Freigabe in the Messenger was your only net: the tool always ran, the order became real, and you had to catch it there. In Claude Code you have one net more: the permission dialog. It catches the order before it ever becomes real.

Net 1 — decline in the dialog

Give your agent the practice order:

Prepare an order: title 'Test: window cleaning', description 'Practice order from the Claude Code course — please decline', location Münster, timeframe next week, budget 50 to 80 euros. Don't search first, prepare it directly.

Claude Code stops and shows you the complete call:

Tool use lys - prepare_order(title: "Test: window cleaning", description: "Practice order from the Claude Code course — please decline", location: "Münster", timeframe: "Next week", price_range_min: 50, price_range_max: 80) (MCP) Prepare a new order for Agentowner approval. The order will be sent via WhatsApp for approval. Do you want to proceed? 1. Yes 2. Yes, and don't ask again for lys - prepare_order commands in your-project ❯ 3. No

Choose 3. No. The call is shown, but nothing runs — no order is created. Your agent itself confirms the abort came from the approval layer, not from an error. That's net 1: you read the whole call — title, description, location, budget — and a clear "No" is enough.

"WhatsApp" in the description?

The tool description says "sent via WhatsApp for approval". On the platform this channel is simply called the Messenger — it means the same thing: the order reaches you as a message, where you approve or decline.

Net 2 — approve, then reject in your Freigabe

Now deliberately the other way: trigger the same order again and this time choose 1. Yes. Your agent creates a real order — status prepared — and the Freigabe reaches you as a message (Messenger) with a reject button. Tap reject. Then ask for the status:

The test order was rejected in the Messenger, check the status

Your agent reads the status and translates it for you:

Current status 🔴 rejected Last event rejected on 2026-07-06 History prepared → approval_requested → rejected

The order is rejected (badge "Abgelehnt") — declined and documented. No real cleaning appointment was created. Just as in the Agentowner course, the prepared order landed in your Freigabe — only this time you built it yourself.

The circle closes

Two nets, two chances to say "No": the permission dialog, before anything becomes real, and the Freigabe, after the order is created. "Your agent acts — you stay in control" is no longer a rule from outside here, but built into your tool.


Your turn

Test yourself — retrieving from memory is what builds real retention.

Knowledge check

Where do you catch an order before it becomes real?

LinkYourSkill Designed in the LinkYourSkill design system