Managing the Knowledge Base

Open Connect ▸ ElevenLabs ▸ Knowledge. Each row is a connect.elevenlabs_knowledge document that mirrors one document in the ElevenLabs Conversational-AI knowledge base.

Creating a document

Create a record and pick a Document Type:

Set URL. On save, Connect calls knowledge_base.documents.create_from_url.

Upload a File. Allowed extensions are enforced by a constraint: .epub, .pdf, .docx, .txt, .html, .md. Anything else raises a validation error. The file is sent via create_from_file.

Type the content into Text. Sent via create_from_text.

On creation the record moves through the state bar:

  • draftcreating while the API call is in flight →
  • active once ElevenLabs returns a document id (stored in Document ID / knowledge_id), or
  • error with the failure captured in Error Information.

If a document ends in error, fix the input and use the Retry Creation button (action_retry_creation), which re-runs the creation call.

Creation happens automatically

The remote document is created as part of the Odoo create. There is no separate "push" button — saving the record is what creates it in ElevenLabs.

Renaming and deleting

  • Renaming: changing Name on an active document pushes the new name to ElevenLabs (documents.update). A failed rename is logged but does not block the Odoo save.
  • Deleting: unlinking the Odoo record deletes the remote document (documents.delete). If ElevenLabs refuses because the document is still used by an agent, the deletion raises the ElevenLabs error message. Tick Force Delete on the document beforehand to delete it even while agents reference it (force=True).

Syncing from ElevenLabs

Documents can also be imported from ElevenLabs. On the ElevenLabs settings form this add-on adds a SYNC KNOWLEDGE button (next to the tools sync button; visible only when ElevenLabs is enabled). It runs action_sync_from_elevenlabs, which lists owned documents from ElevenLabs and:

  • creates an Odoo record for any document not already present (defaulting the type to URL), and
  • updates name / description / size on documents already linked by knowledge_id.

Use this after importing documents directly in the ElevenLabs dashboard, or to reconcile Odoo with the remote knowledge base.

Attaching documents to an agent

The add-on adds a Knowledge Base tab to the ElevenLabs agent form (connect.elevenlabs_agent). Link documents there, or from a document use View Agents to see which agents already use it.

When an agent's linked documents change, the affected agents are re-synced to ElevenLabs automatically so the change takes effect. Only documents that are active and have a knowledge_id are included in the agent's prompt configuration — draft or errored documents are skipped.

Agent count

Each document shows an Agents count and the Used by Agents list, so you can see reuse before editing or deleting a document.

Fields reference

Field Notes
name Document title; renaming an active doc pushes to ElevenLabs
document_type url / file / text
url / file / text Source content per type
knowledge_id ElevenLabs document id (read-only)
state draft / creating / active / error
error_message Last failure detail (read-only)
description Free-text description (synced from ElevenLabs on import)
document_size Size in bytes (read-only, from ElevenLabs)
created_at / updated_at Timestamps (read-only)
force_delete Allow deletion while agents still reference the document
agent_ids / agent_count Agents linked via the shared agent_knowledge_rel relation

Troubleshooting

  • Stuck in error — read Error Information, correct the URL/file/text, then Retry Creation. API errors (bad key, unreachable ElevenLabs) surface here.
  • Cannot delete — the remote document is in use by an agent; either detach it from the agents first or enable Force Delete.
  • Nothing happens on save — confirm the ElevenLabs API key is set and valid in the connect_elevenlabs settings; the client is obtained from connect.settings.get_elevenlabs_client().