Evally
Agents

Tool router

Pick the right tool for a request without an LLM tool-calling round trip.

Maps a request to one tool from your list, with confidence. Ambiguous requests get a clarifying question, and anything that sends, deletes or changes something on the user's behalf asks for confirmation first. Edit the options to match your own tools.

Try it live

Real calls to Jev. Pick an example or paste your own.

Examples
42
No verdict yet

Pick an example or paste your own input, then run it.

Under the hood

Every question and rule, in the open. Fork it to change any of them.

What it asks

Reads request, then asks 2 questions in one call.

  1. Q1ToolPick one

    Which tool should handle the request?

    Web searchCalendarEmailKnowledge baseCalculatorNo toolUnclear
  2. Q2Changes somethingYes / no

    Would fulfilling the request send, delete, buy or change something on the user's behalf?

How it decides

Rules run in code, top to bottom. The first one that matches gives the verdict.

  1. 1
    If Tool: confidence < 0.5Ask to clarify
  2. 2
    If Tool is UnclearAsk to clarify
  3. 3
    If Changes something ≥ 0.7Confirm first
  4. 4
    Otherwisethe answer to “Tool”
  5. ·
    DefaultAsk to clarify

Call it from your code

Every template runs as-is with an API key, no setup: POST /api/v1/judges/tool-router/run.

curl -X POST https://tryevally.com/api/v1/judges/tool-router/run \  -H "Authorization: Bearer $EVALLY_API_KEY" \  -H "Content-Type: application/json" \  -d '{  "input": {    "request": "Move my 3pm with Priya to tomorrow morning"  }}'

Seen in the wild

Community builds on Jev that use this pattern. Not affiliated with Evally.

More in Agents