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.

  1. 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.
  2. Create an ElevenLabs Agents Connection and enter the ApiKey.
  3. 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_id or documentation_id applies to that row only. Rows that leave it out, or set it to null, use the value in Options, so you can leave the Options value empty when every row has its own.
  • Route values are sent in the URL only, not in the request body. Flowgear.Request still 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 null and is not part of the request body fails, so a misspelt route value can't fall back to the record named in Options. force is set in Options only.
  • Create, Update and Delete fail with Items was not provided. when Items is not connected. Connected but empty Items sends 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 null field in an Items row is treated as absent and is not sent. Workflow mappings send null for every mapped field a row lacks, so an update changes only the fields the row sets, and a field can't be cleared by sending null.
  • Lists of text or numbers, such as the knowledge base types filter, are entered as comma-separated values, for example url,text. Put a value in double quotes if it contains a comma.
  • Settings without a fixed structure, such as conversation_config when updating an agent, are entered as JSON text, for example {"agent":{"first_message":"Hi"}}.
  • Structured conversation filters follow the ElevenLabs formats: evaluation_params uses criteria_id:result (for example criteria_1:success), and data_collection_params and dynamic_variable_params use name:op:value (for example customer_tier:eq:gold).
  • A failed row reports the ElevenLabs reason in Flowgear.Message, for example 404 document_not_found: Document with id … not found. Validation failures name the field that failed, such as 422 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.