config.faqs: the questions go into the prompt, and the
agent fetches the written answer when one is asked. Use it for stable facts asked often —
hours, refund policy, delivery areas. Behaviour belongs in the prompt;
per-caller data belongs in a tool. There is no document upload or
retrieval over files.
Create an FAQ
Dashboard: Build → FAQs → New FAQ. API:id, name, entry_count, …) with entries, each with its own
id.
Writing entries: phrase questions the way a caller asks them (paraphrases need no extra
entries); keep voice answers to one or two speakable sentences; do not repeat the answers
in the prompt.
Editing entries
Entries are appended or edited individually, never replaced as a list:question,answer (up to 500
rows) as one all-or-nothing append. The API has no import route; send the rows to
POST /v1/faqs/{faq_id}/entries.
Attach it
faqs is a list, so a PATCH replaces it whole. Attaching is a config change: publish the
agent for callers to get it.
An item may carry an inline faq (name plus at least one entry) instead of faq_id:
How the agent uses it
At session start, the questions of every attached FAQ are appended to the system prompt under## FAQ with short ids (q1, q2, …). The agent gets a get_faq_answers tool
({"ids": ["q3"]}) returning the written answers.
- The questions cost tokens every turn; answers only when fetched.
- On voice and video the agent says it is checking in the same turn as the tool call.
- FAQ text is never templated —
{{userdata.name}}in an answer is read literally. - A question matching nothing is answered from the prompt and tools as usual; write a refusal rule into the prompt if you want one.
get_faq_answersis a reserved tool name.
Edits are live
FAQs have no draft or versions. Entry changes reach every attached agent and task from its next session, without publishing; a running session keeps what it loaded. Publishing an agent freezes which FAQs are attached, not their content.Deleting
DELETE /v1/faqs/{faq_id} is refused with a 409 while any agent’s or task’s draft or
current published version attaches it (this FAQ is attached to agent '…' — detach it there before deleting it). Older versions do not block it.
Limits and errors
Endpoints:
GET/POST /v1/faqs, GET/PATCH/DELETE /v1/faqs/{faq_id} (PATCH renames),
POST /v1/faqs/{faq_id}/entries, PATCH/DELETE /v1/faqs/{faq_id}/entries/{entry_id} —
SDK faqs.* and faqs.entries.*. See the API reference.
Next
Prompting
What belongs in the prompt instead.
Versions
What a publish freezes.