Artificial Intelligence
Several features of the Netzilo dashboard run on a large language model: the AI Assistant, AI Smart Search over your activity, guardrail generation, and the AI judge that detection rules can call. None of them runs on a model Netzilo chooses for you. You connect your own provider, and you decide which of its models each feature may use.
You manage these providers under Integrations > Artificial Intelligence.

These providers are the dashboard's own AI. They are separate from Edge > Providers, which lists the models your employees reach through the Netzilo AI Gateway. A key added here gives no employee a model, and a gateway provider does not make the AI Assistant work.
Adding, changing and removing a provider requires the Owner role. Administrators can see which providers exist and pick a model in the AI Assistant.
How it works
A provider is one endpoint that speaks a protocol Netzilo supports. That can be a vendor's own API, a hosted gateway, or a server you run yourself. There is no fixed list of supported vendors.
| Protocol | Use it for |
|---|---|
| Anthropic Messages | Anthropic's API, and gateways that implement it |
| OpenAI-compatible | OpenAI, Azure OpenAI, Mistral, Groq, Together AI, OpenRouter, DeepSeek, vLLM, Ollama, and any other server that implements the OpenAI Chat Completions API |
| System One (TypeSafe) | A TypeSafe System One endpoint, called only by detection rules |
Every model is approved per feature. There are three features:
| Feature | Covers |
|---|---|
| Assistant | The AI Assistant panel in the dashboard, and writing rules in Edge > Guardrails |
| Log Analysis | AI Smart Search on Activity > Events, and log analysis |
| Threat Analysis | The AI judge that detection rules call |
A feature with no approved model is unavailable, and the dashboard says so where you would use it. Netzilo never falls back to a shared or built-in model.
Add a provider
- Go to Integrations > Artificial Intelligence.
- Click Add Provider. The dialog Connect Netzilo with an AI provider opens.

Step 1: Choose a provider
Pick the vendor you use, or one of the Custom entries if your endpoint is not listed. A preset only fills in the protocol and the address; you can change both afterwards. The Get an API key button opens the vendor's key page.
Step 2: Name and endpoint
| Field | What to enter |
|---|---|
| Name | A name you will recognize later, such as Anthropic prod. It appears in the AI Assistant's model picker and in the activity log. |
| Protocol | Anthropic Messages, OpenAI-compatible or System One (TypeSafe). The preset fills it in. |
| Endpoint | Leave empty to use the vendor's own API. Fill it in for a gateway or a server you host, such as http://vllm.internal:8000/v1. |
| Request headers | Optional. Headers sent with every request to the endpoint, such as an organization ID or gateway routing. Use Add header for each one. Every administrator can read them, so keep credentials in the API key. |
A self-hosted endpoint must be reachable from the Netzilo Server, not from your
browser. An address like http://localhost:11434 does not work: the server resolves
it on its own machine.
Step 3: API Key
Paste the key for the endpoint. Netzilo never shows a stored key again: when you reopen the provider, the field reads Stored — leave empty to keep it, and leaving it empty keeps the stored key. Endpoints that need no key, such as a local Ollama or vLLM, can stay blank.
Step 4: Test the connection
Test this provider asks the endpoint which models it serves and makes the smallest request it accepts, to prove the key works. Nothing is saved, so you can test a draft. On success the dialog shows which model answered and how long it took. On failure it says what to fix:
| Result | What it means |
|---|---|
| The endpoint rejected this key. | The key is wrong, expired, or lacks access. |
| The management server could not reach this endpoint. | Address or network problem. The endpoint must be reachable from the server. |
| The endpoint address is not a valid http or https URL. | Correct the endpoint address. |
| This protocol is not one the server can speak. | Choose another protocol, or update the server. |
| The endpoint served no catalogue. | It works, but publishes no model list. Add at least one model by hand and test again. |
| The endpoint answered, but refused this model. | The model ID is wrong for this endpoint. |
Step 5: Models and what they may do
Testing fills in the models the endpoint reported. You can also type a model ID in Add a model id by hand and click Add. For Azure OpenAI the model ID is your deployment name.
Nothing is approved until you tick it. A freshly fetched catalogue starts with every box clear. Tick a box to let a model serve a feature, or use the checkbox in a column header to approve or clear every model for that feature. The star marks the Default: the model that answers when nobody picks one. Each feature has one default.

A model left unchecked everywhere is stored but never used. That is how you keep an expensive model available for one feature without offering it to the others.
If you list no models at all, the provider serves whichever model its endpoint reports as current. A provider then works as soon as its key is saved.
Step 6: Availability
| Field | What to enter |
|---|---|
| Enabled | On by default. A disabled provider serves nothing, whatever its models are approved for. |
| Priority | A number. When several providers can serve the same feature, the lower number wins. |
Click Save.
Connect a System One provider
A System One (TypeSafe) provider is called directly by detection rules, not by the dashboard's features. Choose TypeSafe (System One), or Custom — System One-compatible for your own endpoint, and fill in the endpoint and key as above. The models step reads AIDR rules call this provider directly. It is not approved for any other feature, so there is nothing to approve here. On the tab, its card reads Called by AIDR rules.

How rules call it is in Detection Rules.
Edit, disable or remove a provider
- Edit: click the settings button on the card. Every field you leave alone keeps its stored value; only what you change is replaced.
- Disable: turn off the switch on the card. The dialog names the features that stop working unless another provider is approved for them. The configuration is kept, and the switch turns it back on.
- Remove: open the settings and click Remove at the bottom. The provider and its stored key are deleted. This cannot be undone.
Use more than one provider
Several providers can serve the same feature. Netzilo uses the model starred as the default. If none is starred, the provider with the lowest Priority wins, and providers with the same priority are ordered by name.
A common setup is a vendor API for the Assistant and a self-hosted endpoint for Log Analysis, so that bulk analysis never leaves your own infrastructure.
Choose the model in the AI Assistant
The AI Assistant shows a model picker next to the send button. It lists only the models approved for Assistant.

The choice stays with that conversation. If only one model is approved, the picker shows its name without a choice. Netzilo checks the choice on every message: a model you picked that has since lost its approval is refused with a message naming it, rather than quietly replaced. A conversation that only remembers a model that no longer exists falls back to the default model.
Health and the activity log
Each card shows the protocol, the features it is used for, and when the provider was last tested:
- Verified: a test succeeded at that time.
- Failed: the last test did not succeed. Hover for the reason.
- Not verified: nobody has tested it yet. It is still used; this is not a failure.
Changing the endpoint, the protocol or the key clears a previous Verified result.
Adding, changing, removing and testing a provider are recorded in Activity > Events as AI provider created, AI provider updated, AI provider deleted and AI provider verified. API keys never appear in an event, in the API or in a log.
Manage providers through the API
The public API offers the same resource. Reading needs an administrator token; creating, changing and deleting need an Owner token.
# The protocols, features and presets this server supports
curl -H "Authorization: Token $NZ_TOKEN" https://<api-host>/api/ai/protocols
# Which features this account can serve
curl -H "Authorization: Token $NZ_TOKEN" https://<api-host>/api/ai/capabilities
# The models approved for the Assistant
curl -H "Authorization: Token $NZ_TOKEN" "https://<api-host>/api/ai/models?use=assistant"
# Add a self-hosted provider
curl -X POST -H "Authorization: Token $NZ_TOKEN" -H 'Content-Type: application/json' \
https://<api-host>/api/ai/providers -d '{
"name": "vLLM on-prem",
"protocol": "openai-completions",
"base_url": "http://vllm.internal:8000/v1",
"enabled": true,
"uses": ["log-analysis"],
"models": [{"id": "llama-3.3-70b", "default_for": ["log-analysis"]}]
}'
POST /api/ai/providers/verifytests a draft and stores nothing.POST /api/ai/providers/<id>/verifytests a stored provider and records the result.PUT /api/ai/providers/<id>keeps every field you leave out; an emptyapi_keykeeps the stored key.- A model without
usesinherits the provider's features; a model with an emptyuseslist is approved for nothing. GET /api/ai/providersreportscredential_setinstead of the key.
Upgrading from the previous OpenAI and Anthropic integrations
Earlier versions configured AI as two fixed integration cards. The server converts them when it starts:
- Each configured integration becomes a provider named
Anthropic,OpenAIorCustom LLM. - It is approved for all three features, as a configured key was before.
- It lists no models, so it keeps using the newest model its endpoint offers.
- It is marked Not verified until you test it.
Nothing needs to be entered again. Review the approvals afterwards if you want a narrower setup.
Servers that relied on the ANTHROPIC_API_KEY or OPENAI_API_KEY environment
variables must now connect a provider here. Those variables are no longer read.
Troubleshooting
The AI Assistant button is missing from the header. No model is approved for Assistant. Approve one on a provider.
AI Smart Search is greyed out on Activity > Events. No model is approved for Log Analysis.
The AI Assistant panel is missing from Add Guardrail. No model is approved for Assistant.
"The model … cannot serve Assistant" in a conversation. The model's approval was withdrawn while the conversation was open. Approve it again, or pick another model in the conversation's picker.
A self-hosted endpoint is unreachable although it works from your computer. The Netzilo Server connects to it, not your browser. Use an address the server can reach.
Related Documentation
- Providers - The models employees reach through the AI Gateway
- Guardrails - Writing guardrails with the AI Assistant
- Detection Rules - Rules that call the AI judge or System One
- Events - AI Smart Search and the activity log
- Permissions - Give regular users the AI Assistant
- AI Assistant - The AI Assistant on your own server

