Teaching
Correct answers, approve what the agent learns from your team and test before publishing.
The agent learns from you. With the API, you bring the dashboard's "Learns from you" into your own system: your team makes the corrections, in the tool they already use.
Golden rule: the agent never learns on its own. Every change to the knowledge goes through a person: either they correct it, or they approve it.
Correct an answer
POST /v1/messages/{message_id}/feedback · scope learning:write
Use it when someone on your team sees an agent answer and wants to correct it.
curl https://api.nevox.ai/v1/messages/msg_a2/feedback \
-H "Authorization: Bearer $NEVOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rating": "incorrect",
"correction": "Dr. Lima does not see patients on Fridays. Her hours are Monday to Thursday, 9 AM to 5 PM.",
"author": { "id": "emp_33", "name": "Carla" }
}'{
"id": "fb_2k91",
"message_id": "msg_a2",
"rating": "incorrect",
"knowledge_item_id": "kn_c0r12",
"created_at": "2026-11-03T15:02:00Z"
}| Field | Description |
|---|---|
rating | correct or incorrect |
correction | Required when incorrect. The right text, the way your team wants the agent to answer. |
author | Who made the correction. Shown in the knowledge history. |
The correction becomes an FAQ for the conversation's agent, with the customer's question and your answer, source: "correction", and takes effect on all channels on the next message. You can see and remove corrections with GET /v1/agents/{id}/knowledge?source=correction.
correct feedback doesn't change the knowledge: it goes into the quality analytics.
Learning suggestions (beta)
When someone on your team replies to a customer in a conversation (on any channel: the agent handed off to a human or the team took over), Nevox looks at that person's reply. If it contains something the agent didn't know, Nevox creates a suggestion. A suggestion only becomes knowledge after it is approved.
- The conversation is reviewed once, 2 hours after the last message (a sign the team resolved it).
- Up to 3 suggestions per conversation, using only what the team wrote. No customer data, no promises specific to that case and no prices: prices only count in the service table.
- Suggestions stay in the conversation's environment: a test key only sees the ones from test conversations.
Scope learning:write.
| Endpoint | Description |
|---|---|
GET /v1/agents/{agent_id}/learning/suggestions?status=pending | Lists suggestions (pending, approved or rejected) |
POST /v1/agents/{agent_id}/learning/suggestions/{id}/approve | Approves (you can edit the text first) |
POST /v1/agents/{agent_id}/learning/suggestions/{id}/reject | Rejects |
{
"id": "sug_6a1f0c9e2b7d4c3a8e6f1b2c3d4e5f60",
"status": "pending",
"question": "Can you issue the receipt in Spanish?",
"proposed_answer": "Yes, the receipt can be issued in Spanish. Just ask the front desk after your appointment.",
"final_answer": null,
"source_conversation_id": "conv_7mk2p9",
"knowledge_item_id": null,
"created_at": "2026-11-03T16:10:00Z"
}Approve with edits:
curl https://api.nevox.ai/v1/agents/agt_8f2k1x/learning/suggestions/sug_6a1f0c9e2b7d4c3a8e6f1b2c3d4e5f60/approve \
-H "Authorization: Bearer $NEVOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "answer": "Yes, we issue receipts in Spanish. Ask the front desk after your appointment.", "visibility": "public" }'An approved suggestion becomes an FAQ for the agent with source: "learning" (its id comes in knowledge_item_id) and takes effect on all channels on the next message. A suggestion can only be decided once: approving or rejecting it again returns 409 suggestion_decided.
Each new suggestion triggers the learning.suggestion_created webhook.
Test before publishing (beta)
Knowledge items can be created as drafts ("draft": true in POST /v1/agents/{agent_id}/knowledge). Drafts don't affect real conversations and don't appear in the dashboard. To list only drafts: GET /v1/agents/{agent_id}/knowledge?draft=true.
POST /v1/agents/{agent_id}/test · scope knowledge:read
{
"question": "Are you open on Saturdays?",
"include_drafts": true
}The response has the same format as /ask, plus drafts_used, with the drafts that backed the answer. include_drafts defaults to true; with false, you see how the agent answers today. Each test counts as one /ask question in the month's usage.
When everything looks right:
POST /v1/agents/{agent_id}/knowledge/publish · scope knowledge:write
Publishes all of the agent's drafts, or only the IDs you pass in ids. The response says how many were published: { "published": 3 }.
Why Nevox doesn't do per-customer "model training"
At Nevox, teaching means updating the agent's knowledge and rules, not training an AI model on your data. This has three advantages:
- It takes effect immediately: a correction works on the next message.
- It can be undone: delete the item and the agent forgets it.
- Your data stays yours: nothing you teach is used to train third-party models.