Chatvolt AI
AIOperate Chatvolt AI agents from FlowRunner, building vector datastores from files, web pages, and question-and-answer pairs. Agents query a grounded knowledge base and keep it current as source material changes.
What This Integration Enables
The design decision that separates Chatvolt AI from the rest of this category is that the knowledge base is not a property of the bot. A datastore is its own object with its own id, its own lifecycle and its own query endpoint. You build it from files, crawled sitemaps, question and answer pairs or raw text, and then you attach it to an agent as a tool. Delete the agent and the datastore survives, still available to every other agent using it. That is why the connector reads differently in a workflow: retrieval is a shared asset you govern once, not a side effect of training a chatbot.
It also means retrieval is usable without a chatbot at all. Query Datastore runs semantic search and returns the matching chunks with no agent and no language model in the path, scoped to specific datasources or to chunks carrying particular custom ids. A FlowRunner agent can use that to check what a question would surface before it is ever asked, to power a search box, or to build its own retrieval flow with the model of its choosing under BYOK. On the conversation side, Chatvolt tracks status, priority, assignee, tags, frustration score and NPS on every thread, and exposes Human Requested as a first class status. Turning AI answering off for one conversation is one call. An assistant that can be switched off mid thread, on the record, per conversation, is a very different operational proposition from one that cannot.
Without FlowRunner
With FlowRunner
Use Case Scenarios
One knowledge base standing behind several agents
A company runs three assistants: one on the public site, one for logged in customers, and one internal. All three answer from the same product documentation, and nobody wants three copies drifting apart. The agent maintains a single datastore. When documentation is published in Confluence, the flow calls Create Datasource with the page URL, or supplies an existing Datasource ID to refresh that page in place rather than creating a duplicate. It polls List Datasources until the status moves off pending and running to synched. Every attached agent picks up the new content at once, and Get Datastore gives the knowledge owner one view of exactly what the whole estate is grounded in, with the indexing status of each document visible including the ones stuck in error.
Retrieval without a bot in the way
An internal tool needs to find the right policy paragraph, not have a conversation about it. The agent calls Query Datastore with the search text and gets back the most similar chunks directly, with no LLM in the path and no conversation created. Results can be restricted to particular datasources or to chunks carrying a custom id, which is how a multi tenant flow keeps one customer's documents out of another customer's results. The chunks feed a summarisation step, a Slack reply, or a search interface. Chatvolt is doing the part it is good at, which is indexed retrieval over your own material, and nothing else.
Taking an assistant off a channel for a controlled window
A pricing change ships on Tuesday and the documentation lands Wednesday. Rather than let the WhatsApp assistant quote the old numbers for a day, the agent uses Set Agent Webhook Status to switch that channel's messaging webhook off, which removes the assistant from WhatsApp without deleting the integration. It posts a note to the support channel that inbound WhatsApp is now unanswered and needs cover. Because that decision trades one bad outcome for another, the flow does not make it alone: it presents the window, the affected channel and the volume that channel typically carries in that window from List Conversations, and the support lead confirms before the switch is thrown and again before it is thrown back.
Human-in-Loop Highlight
Delete Datastore is the gate, and the reason is the shape of the failure rather than the size of it.
When a datastore is deleted, the agents that used it as a tool lose access to that knowledge immediately and fall back on model knowledge alone. They do not stop. They do not error. They do not tell the customer anything has changed. They carry on answering questions about your refund policy and your integration limits from whatever the underlying model happens to believe, in the same tone and with the same confidence they had ten seconds earlier. It is the worst failure mode available in this category, because every visible signal says the system is healthy. Update Agent can produce the same outcome by accident: the tools array you send defines the agent's final tool set, so an update that omits the datastore tool detaches it, and an update that looks partial is in fact a full replacement.
So a flow that touches datastore attachment gathers the blast radius before it asks. It lists the agents in the organization, calls Get Agent on each to read the attached tools, and posts what it found: "Datastore 'Product Docs EU' is scheduled for deletion. Three agents currently attach it as a tool: the public site assistant, the WhatsApp assistant and the internal helper. Deleting it leaves all three answering from model knowledge with no error raised. Confirm deletion, or repoint them at 'Product Docs Global' first?" A person answers that. The agent has done the inventory, which is the tedious part and the part it is better at. What it will not do is quietly turn three grounded assistants into three ungrounded ones, which is exactly the class of decision human-in-the-loop exists to keep on a person's desk.
Agent Capabilities
22 actionsAgents
6- Create Agent Creates an agent and returns the id every other agent operation needs. Behaviour comes from its system prompt and the tools attached to it; attaching a datastore tool is what gives it retrieval over your own documents. Visibility controls reach, with public allowing unauthenticated access.
- Get Agent Retrieves an agent's full configuration including model, temperature, system prompt, visibility, attached tools, interface configuration and inactive hours. Addressable by id or by handle prefixed with an at sign.
- Update Agent Partially updates an agent, so switching a model or tightening a prompt is safe on its own. Tools are the exception: the array supplied becomes the agent's final tool set, so any tool left out is removed.
- Delete Agent Permanently deletes an agent along with its service providers and permissions. Datastores are not removed, so the knowledge base stays available to other agents, but any channel wired to this agent stops responding immediately.
- Query Agent Asks an agent a question and returns its answer with the conversation id, visitor id, message id and the datastore chunks used as sources. Pass a Conversation ID to continue a thread, or restrict retrieval to specific datasources for one call.
- Set Agent Webhook Status Enables or disables the messaging webhook connecting an agent to one of its channels, which is how an agent is taken off or put back on WhatsApp, Telegram, Z-API or Instagram without deleting the integration.
Datastores
5- Create Datastore Creates a datastore, the vector knowledge base an agent retrieves from. Documents are added afterwards and the datastore is attached to agents as a tool.
- List Datastores Returns a paginated list of every datastore in the organization with pagination metadata. Used to discover the datastore id needed for uploads and attachments.
- Get Datastore Retrieves a datastore together with a filtered, paginated view of the datasources inside it, which makes it the natural way to audit what a knowledge base actually contains. The embedded list can be narrowed by indexing status to find documents stuck in error.
- Delete Datastore Permanently deletes a datastore and the indexed content it holds. Agents that used it as a tool lose access immediately and fall back on model knowledge alone, which is why this sits behind an approval.
- Query Datastore Runs semantic search against a datastore and returns the most similar document chunks, with no agent and no language model involved. Used to build a custom retrieval flow, to check what a knowledge base would surface, or to power a search box.
Datasources
5- Upload Datasource File Downloads a file from a URL, including a FlowRunner file URL, and uploads it into a datastore as a training document. Indexing is asynchronous, so the returned status is normally pending or running before it becomes synched. A custom id tags the chunks so later queries can be filtered to one tenant.
- Create Datasource Adds a non file training source: a web page, a whole site crawled from a sitemap, a question and answer pair, or raw text. Supplying an existing Datasource ID turns the call into an update, which is how a page is refreshed in place rather than duplicated.
- List Datasources Returns a paginated list of the training sources in a datastore, each with type, indexing status, group and last synchronisation time. The usual way to confirm that newly added documents finished indexing.
- Get Datasource Retrieves one training source with its type, name, indexing status, last synchronisation time and configuration. The datastore id is required alongside the source id because Chatvolt validates the source belongs to that datastore.
- Delete Datasource Permanently removes a training source and its indexed chunks. Answers that relied on that document stop being grounded in it immediately, while the datastore and its other sources are untouched.
Conversations
6- List Conversations Searches conversations by agent, channel, date range, status, priority, assignee, unread state, tag, whether AI is switched on, CRM scenario or step, frustration score and NPS results. The entry point for support reporting and for finding threads waiting on a human.
- Get Conversation Retrieves one conversation in full: status, priority, channel, whether AI answering is on, the handling agent, participating contacts, assignees, tags, conversation variables, frustration score and NPS results.
- Get Conversation Messages Returns the most recent messages of a conversation with its status and whether AI answering is on. The message count controls how far back to read, so a full transcript can be pulled for summarising or handing to a person.
- Send Conversation Message Sends a message into a conversation as the agent, addressing the recipient by conversation id, phone number or email address, so an outbound message can start even when the conversation id is unknown. Attachments are sent by URL.
- Set Conversation Status Sets the workflow state of a conversation to Resolved, Unresolved, or Human Requested. This is how an automation closes a ticket after a successful resolution or places one in the queue for a person.
- Set Conversation AI Enabled Turns automatic AI answering on or off for a single conversation. Disabling it is the standard way to hand a thread to a human without the agent replying over them, and enabling it returns the thread to the bot afterwards.
Triggers
1 triggersEvent Triggers
1- On New Conversation Fires when a new conversation appears in Chatvolt, emitting the full record including channel, status, priority, participating contacts and the handling agent. Narrow it by Agent, Channel or Status; setting Status to Human Requested turns it into an escalation alert that fires only when a customer asks for a person. The first cycle records existing conversations without firing, so history is never replayed.
Frequently Asked Questions
What can FlowRunner do with Chatvolt AI?
FlowRunner agents can run Create Agent, Get Agent, and Update Agent in Chatvolt AI, plus 19 more actions.
Does connecting Chatvolt AI to FlowRunner require OAuth?
No. Chatvolt AI connects to FlowRunner with an API key, no OAuth flow required.
Can Chatvolt AI trigger a FlowRunner workflow automatically?
Yes. Chatvolt AI supports 1 trigger that can start a FlowRunner workflow automatically.
Start building with Chatvolt AI
$100 in credits. No card required. Connect in minutes.