Tools

Tool anlegen

Eine neue Aktion für Agenten definieren.

POSThttps://app.elunos.ai/api/v1/spaces/{space}/tools

Legt ein Tool an. Es steht danach im Space bereit, wird aber erst genutzt, wenn du es einem Agenten zuweist und den Agenten veröffentlichst.

Pfadparameter

spacestringPflicht

Slug des Space, z. B. `praxis-mueller`. Steht in der Antwort von `GET /spaces`.

Felder

connection_iduuidPflicht

Die [Verbindung](/de/docs/api-referenz/verbindungen-auflisten), über die das Tool aufruft.

slugstringPflicht

Maschinenname, z. B. `find_slots`. Kleinbuchstaben, Ziffern und Unterstriche, eindeutig im Space.

namestringPflicht

Anzeigename.

descriptionstringPflicht

Wann der Agent das Tool nutzen soll. Schreib es für den Agenten, nicht für Menschen: was es tut, wann es dran ist, was es nicht tut.

recipeobjectPflicht

Was das Tool aufruft und was es zurückgibt, siehe [Rezepte](/de/docs/api-referenz/rezepte).

Beispiel

curl -X POST https://app.elunos.ai/api/v1/spaces/praxis-mueller/tools \
  -H "Authorization: Bearer np_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "connection_id": "0199a3c3-5b6c-7a02-b4d1-9e8f7a6c5d32",
    "slug": "find_slots",
    "name": "Freie Termine suchen",
    "description": "Sucht freie Termine an einem Tag. Nutze es, bevor du einen Termin vorschlägst.",
    "recipe": {
      "kind": "fetch",
      "announce": true,
      "announce_text": "Einen Moment, ich schaue nach freien Terminen.",
      "sources": {
        "a": {
          "method": "GET",
          "url": "/slots?date={{date}}",
          "params": [
            {
              "from": "llm",
              "name": "date",
              "value": "Wunschtag des Anrufers im Format YYYY-MM-DD",
              "type": "string",
              "required": true
            }
          ]
        }
      },
      "output": {
        "fields": [
          "slots"
        ],
        "limit": 5,
        "remember": []
      }
    }
  }'

Antwort

201 mit dem neuen Tool.

{
  "data": {
    "id": "0199a3c4-1f2a-7c55-8e10-6b7d9a3e2f11",
    "slug": "find_slots",
    "sync_status": "synced",
    "…": "…"
  }
}