FlowRunner
PricingContact
Theme
Start Free

Chatsistant

AI

Create and operate multi-agent AI chatbots with Chatsistant, training them on URLs, files, and question-and-answer pairs. Agents keep the knowledge base fresh and route conversations between specialized bots.

2 triggers 29 actions API key available
A new enterprise account closes and its onboarding flow starts
Agent calls Create Chatbot and seeds it with that customer's own material through Upload File Source and Create URL Source
Agent polls List Data Sources until every source reaches success rather than an error status
Agent creates the User Facing agent scoped to the customer's tagged sources and the Human Escalation agent that routes to their account team
Agent confirms both agents were switched on, because Chatsistant creates every agent disabled
Agent posts the resulting agent roster and a test session link to the account team
The account owner runs three real questions through the bot and approves the escalation target before the widget goes live

What This Integration Enables

Most platforms in this category give you one bot and one prompt, and everything the bot needs to do gets crammed into that prompt. Chatsistant does not model it that way. A chatbot is a container and the work is split across typed agents: User Facing agents answer visitors and one is selected per query, Background agents watch every conversation and apply tags without ever replying, a Human Escalation agent routes the visitor to a person, Pre-Canned Response returns a fixed message, and Spam Defense filters abuse. Human Escalation and Spam Defense are capped at one each per chatbot, which tells you Chatsistant treats them as roles rather than as features you sprinkle on.

That structure is what makes the connector genuinely useful to a FlowRunner agent, because roles can be provisioned, scoped and audited as objects. An agent can stand up a chatbot per customer, load only that customer's documents, tag them, and point a User Facing agent at just that tagged subset. It can add a Background agent whose only job is to label conversations so downstream routing has something to route on. It can enumerate the full roster with List Agents and see which agents are enabled, which sources each one may cite, and what the escalation path actually is. Newly created agents start disabled, so nothing goes live until something explicitly enables it. The escalation agent is the part worth dwelling on: a bot with a first class route to a person is a bot that can stop, and stopping is the entire premise of the digital andon cord.

Without FlowRunner

One bot doing every job A single prompt tries to answer, triage, and filter abuse at the same time
Escalation bolted on afterwards Reaching a person depends on the visitor guessing the right words
Per customer setup done by hand Standing up a scoped bot for a new account is a morning of clicking

With FlowRunner

Roles split across typed agents Answering, tagging, escalation and spam filtering are separate agents with separate prompts
Escalation is a configured route One agent exists specifically to move the visitor to a person, with its own announcement copy
Provisioning runs as a flow Bot, sources, tags and agent roster are created from the account record and reviewed before launch

Use Case Scenarios

A scoped bot per customer, provisioned from the account record

An enterprise account closes in HubSpot. The agent calls Create Chatbot with the visibility and per device throttle the contract requires, uploads that customer's runbooks and contract PDFs with Upload File Source, and adds their documentation pages with Create URL Source. Ingestion is asynchronous, so the flow polls List Data Sources until each entry reaches success, watching for the storage and token error statuses that mean the plan has hit a limit. It then creates a source tag for the account, drops every source into it with Create Source Tag, and creates a User Facing agent scoped to exactly that tag. The bot cannot answer from another customer's documents because it was never given them, which is a cleaner isolation story than any prompt instruction.

Background agents that label the conversation without joining it

A Background agent runs on every conversation applying tags, and it never replies. On New Message fires with the visitor's query, the chatbot's answer and its citation data. The FlowRunner agent reads the tags the Background agent applied, and routes on them: billing questions open a task in Linear for the finance owner, integration questions post to the engineering channel in Slack, and anything tagged as a cancellation signal goes to the account manager the same hour. The classification happens inside Chatsistant, on the full conversation, without a second model call and without the visitor ever seeing a triage question.

Retiring a source without leaving the bot answering from a ghost

A pricing page is replaced. The agent finds the old source with List Data Sources, checks List Source Tags to see which tags hold it and therefore which User Facing agents are scoped to it, and adds the replacement with Create URL Source or a Create Q&A Source pair for the numbers that must never be paraphrased. Before it calls Delete Data Source it posts what it found: which agents cite the source, how many tokens it holds, and what will replace it. The knowledge owner confirms. The reason the confirmation exists is that a Chatsistant chatbot stops answering from a deleted source immediately, with no warning to anyone and no way back, and the failure is silent rather than loud.

Human-in-Loop Highlight

The gate here is not on a knowledge source. It is on the Human Escalation agent, and it is the one operation in this connector an automation should never perform unattended.

A Chatsistant chatbot is allowed exactly one Human Escalation agent. That agent is the only configured route a visitor has out of the conversation and into a person, and it carries its own live chat announcement settings. Delete Agent removes it permanently along with its prompt and settings. Update Agent can switch it off with a single boolean. Neither call fails, neither raises anything, and the chatbot afterwards looks completely healthy: it keeps answering every question with the same confidence it had before. The only difference is that a customer asking for help no longer gets any. That failure is invisible from the outside and can persist for weeks.

So any flow that manages the agent roster stops in front of it. An agent doing a quarterly cleanup enumerates the roster with List Agents, identifies the agents that are disabled, unused or duplicated, and posts the proposed changes with the escalation path called out separately: "Proposing to delete two disabled Pre-Canned Response agents on the EU support bot. Not touching the Human Escalation agent, which is the only route to a person on this chatbot and currently announces to the EU support queue. Confirm the deletions?" If the change genuinely does target the escalation agent, the message says so in the first line and names the queue that is about to lose its inbound path. A person approves that one explicitly, or it does not happen. Deleting the only User Facing agent gets the same treatment for the mirror image reason: it leaves the chatbot unable to answer anything at all.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

29 actions

Chatbots

5
  • Create Chatbot Creates a chatbot on the account with its visibility, the per device message throttle applied to the embedded widget, and whether answers cite the sources they came from. It starts with no knowledge, so data sources are added afterwards.
  • List Chatbots Returns every chatbot on the account with its UUID, timestamps and meta block covering visibility, rate limiting and citation settings. The usual way to discover the UUIDs other operations need.
  • Get Chatbot Retrieves one chatbot by UUID with its current visibility, per device rate limit, rate limit message and citation setting. Used to audit configuration before changing it.
  • Update Chatbot Updates a chatbot's name, visibility, throttle, rate limit message or citation setting, changing only the fields supplied. Switching visibility to Private immediately stops the embedded widget loading on external sites.
  • Delete Chatbot Permanently deletes a chatbot along with its agents, data sources, chat sessions and messages. This cannot be undone, so flows export transcripts first.

Chat Sessions

4
  • Create Chat Session Opens a session on a chatbot. A session holds the ordered message history and keeps context, so one must exist before any message is sent. Initial Variables seeds it with a flat object such as a customer id or plan name that agents can reference later.
  • List Chat Sessions Returns every session recorded against a chatbot with its UUID, timestamps and meta block. The meta carries the visitor's submitted lead form and, where identity verification with data saving is on, their verified details.
  • Get Chat Session Retrieves one session by UUID including the meta block holding any lead form submission and verified identity data. Paired with List Messages to reconstruct a full transcript with its visitor context.
  • Delete Chat Session Permanently deletes a session and every message inside it. Used to honour data deletion requests or clear test conversations.

Messages

4
  • Send Message Sends a question into an existing session and returns the assistant's answer. Chatsistant streams this endpoint, so the reply arrives as accumulated text; List Messages afterwards returns the stored record with its citations.
  • List Messages Returns every message in a session in order with the visitor's query, the assistant's response, the finish reason, the citation data behind the answer and message metadata. This is the reliable way to read an answer's citations.
  • Delete Message Permanently deletes one message from a session, removing both the visitor's query and the assistant's response. Used to scrub personal data from a stored transcript.
  • Delete Messages Deletes several messages in one call by UUID. More efficient than repeated single deletes when scrubbing a long transcript.

Knowledge Sources

8
  • Create URL Source Adds a web page to a chatbot's knowledge base by URL. Fetching and chunking are asynchronous, so the source starts in a downloading or embedding status and List Data Sources reports when it reaches success. A reference link can be attached for citations to point at instead of the scraped URL.
  • Create Q&A Source Adds a question and answer pair so the chatbot answers that question exactly as written. The right choice for policies, pricing and anything the bot must never paraphrase.
  • Upload File Source Downloads a document from a URL and uploads it as a training file. Chunking and embedding are asynchronous, and the storage and token error statuses signal that the account has hit a subscription limit.
  • List Data Sources Returns the sources trained into a chatbot with title, type, token count, file size and ingestion status. Statuses run from downloading, chunking and embedding through success, with distinct error values for storage and token limits.
  • Update Data Source Renames a knowledge source. Titles are generated automatically on ingest and the title is what appears in citations, so rewriting it is how citations are made readable to end users.
  • Delete Data Source Permanently removes one source from a chatbot, freeing the tokens and storage it consumed. The chatbot stops answering from that content immediately.
  • Delete Data Sources Permanently removes several sources in one call by UUID. Used to clear a batch of stale pages or failed uploads without a request per source.
  • Retrain URL Sources Re-crawls URL sources so the chatbot picks up current page content. Only Website Link sources can be retrained; the response returns a per UUID outcome rather than failing the whole call on one bad id.

Source Tags

4
  • Create Source Tag Creates a colour coded tag on a chatbot for organising knowledge sources, optionally populating it immediately. Tags are how a subset of the library is carved out for a specific agent.
  • List Source Tags Returns every tag with its name, colour and current data source membership. Used to audit which parts of the knowledge base are grouped where.
  • Update Source Tag Renames a tag, changes its colour, or replaces its membership. The source list replaces the tag's current contents rather than adding to it, so every source that should remain must be included.
  • Delete Source Tag Deletes a tag from a chatbot. Only the grouping is removed; the sources stay in the knowledge base and the chatbot keeps answering from them.

Agents

4
  • Create Agent Adds an agent to a chatbot. User Facing agents answer visitors and one is selected per query, Background agents watch conversations and apply tags without replying, Human Escalation routes the visitor to a person and only one is allowed, Pre-Canned Response returns a fixed message, and Spam Defense filters abuse and is also capped at one. New agents are created disabled.
  • List Agents Returns every agent on a chatbot with its type, prompt, description, enabled state, model and temperature, the sources it is scoped to, its tool functions and extracted variables. Human Escalation agents additionally return their live chat announcement settings.
  • Update Agent Updates an agent's name, prompt, description, model, temperature or enabled state, plus the parts specific to its type. Enabling an agent here is what puts a newly created one into service, and disabling one takes it out.
  • Delete Agent Permanently removes an agent along with its prompt, variables and tool functions. Knowledge sources are unaffected, but deleting the only User Facing agent leaves the chatbot unable to answer queries at all.

Triggers

2 triggers

Event Triggers

2
  • On New Chat Session Fires when a visitor starts a new conversation with the chosen chatbot, emitting the session with its lead form submission and verified identity data where available. The first poll records a baseline without firing, so existing sessions are never replayed, and sessions are emitted oldest first.
  • On New Message Fires when a new message is exchanged in any conversation on the chosen chatbot, emitting the visitor's query alongside the chatbot's answer, its citation data and the session it belongs to. Only sessions touched since the previous poll are re-read, and a scan limit caps how many are inspected per cycle.

Frequently Asked Questions

What can FlowRunner do with Chatsistant?

FlowRunner agents can run Create Chatbot, List Chatbots, and Get Chatbot in Chatsistant, plus 26 more actions.

Does connecting Chatsistant to FlowRunner require OAuth?

No. Chatsistant connects to FlowRunner with an API key, no OAuth flow required.

Can Chatsistant trigger a FlowRunner workflow automatically?

Yes. Chatsistant supports 2 triggers that can start a FlowRunner workflow automatically.

Start building with Chatsistant

$100 in credits. No card required. Connect in minutes.