ElevenLabs Agents v2
Provides integration with the ElevenLabs Agents Platform, which hosts conversational voice and chat agents that answer callers and website visitors, keep a history of every conversation, and draw answers from a knowledge base of documents.
Use the Node to manage agents and their knowledge base documents, and to read or clean up conversation history, for example to sync new FAQ content into an agent's knowledge base or export conversation records for reporting.
Revision History
0.0.0.4 - Initial release.
Connection
Use this Connection to store the ElevenLabs API key used by all ElevenLabs Agents Methods.
| Property | Type | Description |
|---|---|---|
ApiKey |
Masked | Required ElevenLabs API key with Agents access. |
TimeoutSeconds |
Integer | Maximum duration of each request attempt, from 1 to 100 seconds. Defaults to 60. |
Setup Notes
This Node runs on Cloud Runtimes.
- Sign in to ElevenLabs and create an API key under
Developers→API Keys. If you restrict the key, give it read access to ElevenLabs Agents, and write access if your Workflow creates, updates or deletes records. - Create an
ElevenLabs AgentsConnection and enter theApiKey. - Save and test the Connection.
The Connection test lists agents without changing account data. API keys do not expire on their own. Replace a revoked key and reconnect.
Methods
Select a template to choose the operation. The template fills in OperationId and shows the Options and Items fields for that operation. Field names in Options and Items match the ElevenLabs API reference.
Query
Read agents, conversations and knowledge base documents: list agents, get an agent, get an agent's widget configuration, get an agent's shareable link, list conversations, get a conversation, get a signed conversation URL, list knowledge base documents and get a knowledge base document.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | ElevenLabs credentials. |
OperationId |
String | Operation selected by the template. |
Options |
Object | Route values such as agent_id and filters such as search. Paging is managed by the Node. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One ElevenLabs record per row. List operations return one row per agent, conversation or document, and an empty list returns no rows. |
Create
Create an agent, duplicate an agent, or add a knowledge base document from a URL or from text.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | ElevenLabs credentials. |
OperationId |
String | Operation selected by the template. |
Options |
Object | The agent_id to duplicate for rows that do not set their own, and optional query values. |
Items |
Array | One request body per row. Each row is sent as its own request. When duplicating agents, each row can set its own agent_id. Required. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One row per input row: the ElevenLabs response fields plus Flowgear.IsSuccess, Flowgear.Message and Flowgear.Request. Check Flowgear.IsSuccess for each row. |
Update
Update an agent's settings or a knowledge base document.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | ElevenLabs credentials. |
OperationId |
String | Operation selected by the template. |
Options |
Object | The target agent_id or documentation_id for rows that do not set their own, and optional query values. |
Items |
Array | One change set per row. Each row is sent as its own request and can set its own agent_id or documentation_id to update a different record. Required. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One row per input row: the ElevenLabs response fields plus Flowgear.IsSuccess, Flowgear.Message and Flowgear.Request. Check Flowgear.IsSuccess for each row. |
Delete
Delete an agent, a conversation, or a knowledge base document or folder.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | ElevenLabs credentials. |
OperationId |
String | Operation selected by the template. |
Options |
Object | The target agent_id, conversation_id or documentation_id for rows that do not set their own, and the optional force flag. |
Items |
Array | One row per record to delete. Each row carries only the record's agent_id, conversation_id or documentation_id; send an empty row {} to delete the record named in Options. Required. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One row per input row containing Flowgear.IsSuccess, Flowgear.Message and Flowgear.Request. Check Flowgear.IsSuccess for each row. |
Route Values on Items
Create, Update and Delete let each row name its own record, so one step can duplicate, update or delete many different records without a For Each.
- A row's
agent_id,conversation_idordocumentation_idapplies to that row only. Rows that leave it out, or set it tonull, use the value inOptions, so you can leave theOptionsvalue empty when every row has its own. - Route values are sent in the URL only, not in the request body.
Flowgear.Requeststill shows the whole row. - If a route value is missing from both the row and
Options, is empty, or is an object or a list, that row fails without being sent, and later rows still run. - When duplicating, updating or deleting, a row with any other field that is not
nulland is not part of the request body fails, so a misspelt route value can't fall back to the record named inOptions.forceis set inOptionsonly. Create,UpdateandDeletefail withItems was not provided.whenItemsis not connected. Connected but emptyItemssends no requests.
Usage Notes
- Templates for update and delete operations do not fill in any values, so the target and any changes must be chosen explicitly. Templates for read and create operations fill in only ElevenLabs default values for
Options. - A
nullfield in anItemsrow is treated as absent and is not sent. Workflow mappings sendnullfor every mapped field a row lacks, so an update changes only the fields the row sets, and a field can't be cleared by sendingnull. - Lists of text or numbers, such as the knowledge base
typesfilter, are entered as comma-separated values, for exampleurl,text. Put a value in double quotes if it contains a comma. - Settings without a fixed structure, such as
conversation_configwhen updating an agent, are entered as JSON text, for example{"agent":{"first_message":"Hi"}}. - Structured conversation filters follow the ElevenLabs formats:
evaluation_paramsusescriteria_id:result(for examplecriteria_1:success), anddata_collection_paramsanddynamic_variable_paramsusename:op:value(for examplecustomer_tier:eq:gold). - A failed row reports the ElevenLabs reason in
Flowgear.Message, for example404 document_not_found: Document with id … not found.Validation failures name the field that failed, such as422 body.text: …. Later rows are still processed. - An invalid API key, missing permissions or a used-up plan quota stops the Node with an error instead of returning failed rows. ElevenLabs reports a used-up quota as
401 quota_exceeded. - When ElevenLabs is busy, the Node retries twice, waiting as long as ElevenLabs asks, up to 60 seconds. If ElevenLabs asks for a longer wait, that row fails, or a read stops with an error, instead of waiting. A write that fails with a server error or times out is not retried, because it may already have been applied; check ElevenLabs before running it again.
- ElevenLabs reports every missing record as
document_not_found, including agents and conversations.
Known Issues
- Knowledge base documents cannot be created from an uploaded file.
- Text-to-speech, voices and other audio features are not included.
- The create agent template includes the full agent configuration, so it is large; many nested fields show placeholder samples.