> ## Documentation Index
> Fetch the complete documentation index at: https://docs.poly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Maintaining FAQs

> Quickly edit, add, or bulk-update FAQs – the agent's FAQ and knowledge.

Edit, add, or bulk-update FAQs to keep your agent's answers current. Use quick single-topic edits for small changes, CSV imports for seasonal refreshes, or work directly in the interface for new topics.

<Tip>
  **Prefer natural language?** Ask [Wren](/wren/introduction), for example *"tighten the refund answer to mention the 30-day window"*, *"add a topic for store hours: 9-5 Mon-Fri"*, *"create topics from `https://example.com/faq`"*. Changes land on a Branch you review before publishing.
</Tip>

## Quick reference

| I need to... | Action | Time estimate |
| - | - | - |
| Edit a single answer | Click topic → Edit answer → Save | 2 min |
| Add a new topic | + Topic → Add questions & answer → Save | 5 min |
| Update 10-20 topics | Export CSV → Edit → Import CSV | 15 min |
| Update 50+ topics | Export CSV → Edit → Import CSV | 30 min |
| Fix wrong topic triggering | Add sample questions to correct topic | 3 min |
| Merge duplicate topics | Combine content → Delete duplicate | 5 min |
| Test changes | Agent Chat in Sandbox | 5 min |
| Publish to Live | Publish menu → Compare changes → Publish | 5 min |

<Tip>
  Always test in a *Branch* first and only publish once the change is validated. Details are in [Environments & versions](/environments-and-versions/introduction).
</Tip>

## Edit an existing topic

1. Click the topic you want to change.
2. Update text directly in the *Answer* panel.
3. Click **Save**.
4. Test the change on your Branch in Sandbox, then click **Publish** to push it to Live.

Common fixes:

| Issue | What to do |
| - | - |
| The agent gives a partial answer | Add clarifying details to the *Answer* field. |
| It triggers the wrong topic | Add a few of the user's actual phrasings as *Sample questions*. |
| It overlaps another topic | Merge the content or re-title one topic to be more specific. |

## Add a new topic

1. Click **+ Topic**.
2. Enter a clear title.
3. Add at least three *sample questions*–think of real user wording.
4. Write the *Answer* in plain language.
5. Save and preview.

## Bulk edits

Large updates are faster in a spreadsheet.

1. Click **Export CSV** to download a CSV file containing all of your FAQs.
2. Edit or add rows in your spreadsheet app.
   * Keep column headers exactly as exported.
   * Leave IDs intact for topics you're editing; new rows will create new topics.
3. Save as CSV.
4. Click **Import CSV** and upload the file.
5. Review the diff, then **Confirm import**.

Keep column headers exactly as exported. New rows (without an ID) create new topics; rows with an existing ID update that topic.

## Publish your changes

1. Open the **Publish** menu at the top right.
2. Choose **Compare changes** to check your Branch against Live.
3. Click **Publish**.
4. Add a publish message and confirm.

If you want to test with a real phone number or widget first, move the Branch to Staging (Branches and Sub-branches modes only). See [Staging](/environments-and-versions/environments#staging).

## Common workflows

### Weekly content update

1. Review analytics for knowledge gaps (5 min)
2. Add or update 3-5 topics (15 min)
3. Test in Agent Chat (5 min)
4. Compare changes against Live (2 min)
5. If needed, move the Branch to Staging to test on a real phone number or widget (3 min)
6. Publish to Live (3 min)

**Total time:** \~30 minutes

### Seasonal content refresh

1. Export current topics to CSV (2 min)
2. Update seasonal information (hours, policies, etc.) (20 min)
3. Import updated CSV (5 min)
4. Test seasonal queries in Agent Chat (10 min)
5. Publish to Live (5 min)

**Total time:** \~45 minutes

### Fixing a knowledge gap

1. Identify the gap from call logs or analytics (5 min)
2. Create new topic or update existing (5 min)
3. Add sample questions matching user phrasing (3 min)
4. Test with actual user queries (5 min)
5. Publish to Live (5 min)

**Total time:** \~25 minutes

## Automate with the Agents API

CSV round-trips work well for occasional refreshes. When the source of truth is another system, such as a help center, CMS, or internal spreadsheet, syncing via the API keeps topics current without manual exports.

<AccordionGroup>
  <Accordion title="Sync topics from an external source via the Agents API" icon="code">
    The [Agents API](/api-reference/agents/introduction) has full CRUD for [knowledge base topics](/api-reference/agents/endpoint/knowledge-base/list-knowledge-base-topics), so you can run the sync on a schedule rather than exporting and importing CSVs by hand.
  </Accordion>
</AccordionGroup>

## Related pages

* [Sources](/learn/maintain/knowledge-connected-knowledge) - Sync external sources
* [Performance monitoring](/learn/maintain/performance-monitoring) - Identify knowledge gaps
* [Branch management](/learn/maintain/version-management) - Publish changes and roll back
* [FAQs overview](/knowledge/faqs/introduction) - Complete feature documentation
* [Knowledge base endpoints](/api-reference/agents/endpoint/knowledge-base/list-knowledge-base-topics) - Create and sync topics from code

## When to ask for help

Contact PolyAI support if you need help with:

* Migrating content between separate projects
* Undoing a large import that has gone wrong

<Tip>
  You can add Python functions yourself – see [Level 2: Using tools](/learn/guides/advanced/using-tools). For multi-language setup, see [Multi-language updates](/learn/maintain/multi-language-updates).
</Tip>
