Cosa viene sincronizzato
Ogni riga inworkspace_knowledge_entries il cui array tags contiene kb
o memory è una candidata. In particolare:
- Le voci curate di FAQ/documenti/policy che gli operatori scrivono tramite l’interfaccia della Knowledge Base
(
kb). - Le note a lungo termine che Margaret ha salvato tramite lo strumento
writeWorkspaceMemory(memory).
workspace_knowledge_entries.elevenlabs_document_id,
così le sincronizzazioni ripetute sono idempotenti — le nuove righe vengono create, quelle
esistenti vengono aggiornate senza duplicati.
Configurazione
- Ottieni una API key ElevenLabs da elevenlabs.io/app/settings/api-keys.
- Crea (o scegli) un agente conversazionale AI su
elevenlabs.io/app/conversational-ai.
Copia il suo agent ID (formato:
agent_...). - In Switchbord, vai su Impostazioni → Integrazioni → AI → Voce (ElevenLabs).
- Incolla la API key (memorizzata per area di lavoro nel Supabase Vault) e
l’agent ID (memorizzato in
workspaces.elevenlabs_agent_id). - Clicca su Test connessione — questo richiama
GET /v1/convai/agents/{agent_id}con la tua chiave e restituisce il nome dell’agente in caso di successo.
Flusso di sincronizzazione
Dall’interfaccia delle impostazioni
La stessa pagina contiene una card Sincronizzazione knowledge base con due pulsanti:- Plan (dry run) — legge la KB dell’area di lavoro e riporta quali voci verrebbero create o aggiornate, senza toccare ElevenLabs.
- Sincronizza ora — legge la API key dal vault, poi invia una richiesta POST (o PATCH) per ogni voce candidata alla KB dell’agente ElevenLabs.
Da Margaret
Gli operatori con il ruolo admin possono chiedere a Margaret:“Sincronizza la nostra KB con l’agente ElevenLabs.”Margaret richiama lo strumento
syncElevenLabsKnowledge. Per default esegue un dry run
che riporta il piano in chat. Impostando dryRun: false viene mostrata una card di
approvazione HITL secondo il pattern ToolApprovalCard — una volta approvata, Margaret
esegue l’invio effettivo.
Dalla API
Sicurezza
- La API key risiede nel Supabase Vault per area di lavoro (tipo di secret
elevenlabs-api-key). Solo l’indizio mascherato viene restituito all’interfaccia. - L’agent ID è in chiaro su
public.workspaces— non è un secret. - Gli endpoint di sincronizzazione e impostazioni richiedono
requireSettingsAccess(ruolo owner/admin). Lo strumentosyncElevenLabsKnowledgedi Margaret richiede inoltre il ruolo di accesso agli strumenti admin e un’approvazione HITL prima di un invio effettivo.
Limitazioni note (ship 1)
- La struttura del payload dei documenti della KB ElevenLabs potrebbe evolversi. La rotta di sincronizzazione ha come default
dryRun: true, così gli operatori possono visualizzare in anteprima prima di chiamare la API remota. - Non esiste ancora un percorso di eliminazione — rimuovere una riga in Switchbord non elimina il documento da ElevenLabs. Tracciato tramite BORD-TBD.
- Il test di connessione al momento richiama
GET /v1/convai/agents/{agent_id}. Se ElevenLabs modifica i propri codici di errore, l’interfaccia mostra lo stato HTTP grezzo.