---
title: Knowledge suggestions
summary: Whoever cannot change the knowledge suggests a new entry, a change or a removal. Nothing changes until a person with the right approves, amends or rejects the suggestion.
tools: [talemo_propose_knowledge, talemo_list_knowledge_proposals]
related: [knowledge-entry, versions-and-removed, knowledge-search, online-admin-and-knowledge]
search: [suggest edit, approve change]
---

# Knowledge suggestions

## Who suggests, and what

- A team member whose role allows suggesting, with **Suggest** on an entry or
  **Suggest a change**.
- A program connected over MCP, with `talemo_propose_knowledge`, on behalf of the
  person who connected it.
- The online admin, only for questions it found no answer to (see
  [How the online admin uses the knowledge](online-admin-and-knowledge.md)).

A suggestion is a new entry, a change to an entry as a whole, or a removal. An
optional note says why, and the people who approve see it. The assistant does not suggest: it changes entries
itself after the person's confirmation. While a suggestion waits, the online admin
keeps answering the old way.

## Where the queue is

- Web version: **Knowledge → Suggestions**. The count also shows in **Today**.
  Filters: Waiting, All suggestions, Decided, My suggestions, and who suggested
  (a person, a program, the online admin).
- App: **Waiting for you**, the knowledge suggestions line, then a sheet for each
  suggestion with **Approve**, **Reject** and **Approve in one go**. Text is edited
  in the web version, and a question without an answer can only be rejected in the app.

A person who can only suggest sees only their own suggestions. Whoever approves
sees the whole queue. Over MCP the queue is `talemo_list_knowledge_proposals`.

## Deciding

- **Approve** puts the change in as a new version of the entry. The history
  names the one who suggested and the one who approved.
- **Change and approve** lets the approver edit the text first. The history says
  "changed and approved".
- **Reject** leaves the knowledge as it was. A reason is optional and the one who
  suggested sees it.

The first decision closes the suggestion for everyone. A second person is told
it was already decided.

## Approve in one go

Frequent answers from three or more chats and entries without numbers can be
approved together. The voice, rules, payment and changes are decided one by one.
A suggestion that looks like an entry already in the knowledge also goes alone:
the queue says "Looks like the entry ..." with a link, and a person decides
whether a second one is needed. If a batch contains anything that must go alone,
nothing in it is approved.

## Repeats and changes in between

- The same suggestion made again while the first waits is not added twice. New
  chats it came from are added to the first.
- The same text that was rejected is refused unless it is changed or a new chat
  supports it.
- If the entry changed while the suggestion waited, it cannot be approved as it
  stands. The queue marks it "entry changed", and the change is made again.

## Source chats

A source chat shows by channel and name only to someone who can see it. Other chats
are only counted, for example "2 more chats". When a chat is ignored, its suggestions
not yet approved are withdrawn. Approved ones stay, without the link to the chat.

## Tools and refusals

- `talemo_propose_knowledge` proposes a change: `action` is `create` (a new entry), `edit` (an entry as a whole) or `archive` (a removal). Nothing changes until a person with the right approves it in Talemo, and until then the online admin keeps answering the old way. `note` says why, up to 500 characters.
- A new entry takes `kind` (`article` or an answer to a frequent question), `topic` and the text; an edit and a removal take `document_id` and the `version` they start from. A newer version is refused with `knowledge.version_conflict` and `params.version`: read the entry again with `talemo_get_knowledge`.
- Name in `conversations` every chat the proposal retells (`talemo_list_conversations` finds them). Ignoring a chat withdraws what was drawn from it.
- The same proposal already waiting is answered with it, and new chats are added to it. The same text rejected before comes back only with a chat it did not have, otherwise it is refused with `knowledge.proposal_rejected`.
- A new entry close in meaning to a live one comes back with `similar`: a person decides whether a second one is needed. With `dry_run` there is no `similar`, because comparing costs money.
- `talemo_list_knowledge_proposals` shows the queue, newest first: what each proposal would make of the entry, who proposed it, whether the entry changed since, `similar` and the decision. A role that keeps only its own sees only its own. A question without an answer comes from the online admin: it has no text, and `asked_again` counts the clients who asked the same after it was rejected.
- The decision is a person's. A program that approves or rejects is refused with `auth.required`: the person does it in Talemo.
