Agents

Stop Botie’s repeated manual lookup

BOTIE

Connect the name and allowed tool list to Check the tool permission. Inspect the named request and its allowed flag.
Ready to test
0 passed · 0 failed · 2 not run

An empty floor. Start with the information your machine needs.

Received result

Your answer will arrive here.

Examples, experiments and workspace controls
Live values

Connect a tool's inputs to see what it produces. You can try a branch before connecting it to Result.

Try your own inputs

Use a copy of the example to try your own data. Keep the problem's assumptions in mind, and predict the effect of a change before checking the output. You can also add another branch to compare two ways of doing the calculation.

Start at an output arrow, then click or drag to an input. Drag empty space to pan. Delete removes a selection. Ctrl/Cmd+Z undoes a change.
Context for this challenge

Connect the name and allowed tool list to Check the tool permission. Inspect the named request and its allowed flag.

The model asks for another tool call. The runtime must check its authority and remaining execution budget.

Inspect the component calculation
Check the tool permission(
  Requested tool name: Requested tool name
  Allowed tool names: Application tool allowlist
)
Examples and results
Requested tool name
read_manual
Application tool allowlist
  1. 0read_manual
Required result
{
  "name": "read_manual",
  "allowed": true
}
Requested tool name
create_job
Application tool allowlist
  1. 0read_manual
Required result
{
  "name": "create_job",
  "allowed": false
}
Try a fresh construction

This clears this draft, including its undo history. Earlier successful attempts stay recorded. Build again without opening hints to record an independent attempt.

Stuck? Inspect a worked construction

The tools below form one possible solution. You can assemble it, follow its signals, and undo that change to return to your own construction.

Assumptions and test precision

This is a sequential policy gate. A production runtime must enforce counters atomically and handle provider errors, cancellation and side effects. Numerical tests allow a difference of 0.001. Lists and structures must also have the right shape.

Your last tested pieces can start the full construction. An existing draft there keeps its own pieces.

A permitted lookup with no execution slots

This check uses the pieces from “Give the next lookup a clear execution rule”.

BOTIE

The service intentionally sets the call budget to zero while its catalogue is being rebuilt. read_manual remains in the allowlist. Predict the next route with no calls executed yet.
Requested tool name
read_manual
Application tool allowlist
  1. 0read_manual
Calls already executed
0
Maximum executed calls
0

Use a number, text, or an array matching the requested result. For a matrix, put each row in brackets. Saving your prediction runs your current construction on these inputs and checks the earlier examples too.

Build a construction in the workspace above first. This case will test those pieces.

Why would allowing two model calls still leave the number of tool calls uncertain?

Name the operation being counted and enforce the count where that work is actually executed.

This is a sequential policy gate. A production runtime must enforce counters atomically and handle provider errors, cancellation and side effects.

Work through the Python challenges →
Continue the courseResume Botie’s Work with LangGraph →
← Give Botie a Typed Job with Pydantic AI