{% extends "admin/_layout.html" %} {% from "_macros.html" import icon %} {% set section = "tools" %} {% block title %}{{ "New tool" if is_new else tool.name }} - {{ brand.name }}{% endblock %} {% block heading %}{{ "New tool" if is_new else tool.name }}{% endblock %} {% block admin_content %} {% if error %}
{{ icon("warning", "icon--sm") }} {{ error }}
{% endif %}

What it is

Shown in the transcript when the model uses it.

The name the model calls, and the key its guidance is stored under. Lowercase letters, digits, hyphens and underscores. {% if not is_new %}Changing it starts its guidance afresh.{% endif %}

Sent to the model verbatim. This is the whole basis on which it decides whether to call this tool, so say what it does and when it is the right thing to use.

A JSON Schema object. Each property becomes a {{ '{{name}}' }} you can use below, and a description on each one is worth writing — the model reads those too.

The call

Placeholders are filled from the arguments and escaped, so a value cannot add a path segment or a query of its own. The scheme and host must be written out — they cannot come from an argument.

One Name: value per line. Placeholders work here too.

Ignored for GET. Placeholders are escaped for JSON, so a value cannot end the string it sits in and add a field.

Credential

{% if tool.secret_encrypted %} Currently {{ masked }}. Leave the dots alone to keep it, or clear the field to remove it. {% else %} Encrypted at rest and never shown again. It is dropped if the endpoint redirects to another host. {% endif %}

The answer

Dotted; a number indexes a list. Leave empty for the whole document. A path that leads nowhere gives the whole document rather than nothing.

Spent out of the context window on every call. The rest is cut off, and the model is told so.

Guidance

Added to the system message whenever this tool is offered, and nowhere else. Start a line with - and it joins the list of tool instructions. Optional: the description above is what makes the tool usable, this is for habits. {% if prompt_overridden %}
Someone has overridden this wording under Prompts — that is what the model sees, not this. {% endif %}

Availability

Leave the second unticked unless this tool points at something on your own network. It is what stops a tool being aimed at this server, a router, or a cloud metadata endpoint.

Uncheck to restrict this tool to chosen groups. Administrators always have access.

Groups with access {% if groups %}
{% for group in groups %} {% endfor %}

Ignored while the tool is available to everyone.

{% else %}

No groups yet — create one to restrict access.

{% endif %}
Back to all tools {% if not is_new %} {% endif %}
{% if not is_new %}

Try it

Calls the saved tool once, so what you see here is what a chat would get. Nothing is sent to a model.

{% endif %} {% endblock %}