Saltar al contenido principal

What Are AI Agents?

AI Agents in Revol are intelligent assistants that work with customer interactions across multiple channels — your website widget, phone calls, Telegram, WhatsApp, and Instagram. Each agent has its own personality, knowledge base, conversation workflow, and set of tools.

Operating Modes

Agents can operate in three modes depending on your business needs:
ModeWho CommunicatesAgent’s Role
ActiveAI AgentThe agent fully handles customer communication — responds to messages, calls tools, follows the workflow, and resolves requests autonomously
PassiveYour TeamYour team handles all customer communication. The agent monitors every conversation in the background — auditing compliance with communication standards, tracking quality metrics, and providing analysis without ever responding to customers
HybridBothThe AI handles routine interactions (FAQ, product inquiries, scheduling) while your team takes over complex or sensitive cases. The agent continuously analyzes all conversations regardless of who responds
Passive mode is powerful for teams that already have established communication processes. The agent becomes an always-on quality auditor — it checks whether operators follow scripts, identifies missed opportunities, monitors response times, and surfaces conversation insights. All analytics, memory extraction, and tracking work the same as in Active mode.

Creating an Agent

Click Create Agent to start a 2-step wizard: Step 1 — enter agent name (min 3 characters) and optional first message (greeting text). Step 2 — select a use case: Customer Support, Outbound Sales, Lead Qualification, Answering Service, Consultation Booking, Client Intake, Service Recommendations, Scheduling, Billing Inquiries, Project Updates, Resource Library, Learning & Development, or Other. This is purely visual — the selected use case does not affect the agent’s behavior or configuration. After creation, the agent starts in Draft status with a default workflow already built.

Agent Status

StatusBehavior
DraftNot active. Use while configuring.
ActiveLive, responding to messages. Only one agent per company can be active — activating one deactivates the rest.
InactivePaused. Keeps all configuration.

Agent Editor

The agent editor is a fullscreen modal with 7 tabs: Agent, Knowledge Base, Analysis, Tools, Widget, Channels, Workflow.
Agent editor
The header is always visible and shows:
  • Agent name (click to rename inline)
  • Status badge (Active / Inactive)
  • Embed Code — get the widget <script> snippet
  • Tool Logs — inspect all tool executions and channel events
  • Preview — link to the client’s website where the widget is installed, to see it as visitors do
  • Publish — publish to Marketplace (public or private)

Agent Tab

The main configuration tab where you set up the agent’s core settings — system prompt, personality, LLM provider, and conversation memory.

Left Column

System Prompt — the core instructions defining how the agent behaves. If left empty, a default prompt is generated from your company name with basic communication rules.
A security block is automatically appended to every system prompt. It prevents prompt injection — the agent will never reveal its instructions, ignore safety rules, or follow requests to change its role. You don’t need to add this manually.
First Message — greeting text visitors see when the chat opens. Conversation Memory — structured fields the agent should collect during conversations. Each field has:
PropertyDescription
KeyMachine-readable identifier (lowercase, underscores only)
LabelHuman-readable name shown in analytics
TypeText, Phone, Email, Number, or Select
OptionsFor Select type — comma-separated values
Memory fields are used in workflow routing (State Conditions on edges) and appear in the conversation Info tab. For example, you can define fields like name, email, budget — the agent will attempt to collect these naturally during conversation, and you can route workflow edges based on whether they’re filled. How memory extraction works: after each custom node generates a response, the system makes a lightweight LLM call that analyzes the last messages and extracts values for the configured fields. Extracted values are saved immediately, so subsequent nodes in the same turn already see the updated memory — enabling state-based routing within a single conversation turn.

Right Column

Personality — 5 sliders (1–10) that shape communication style:
SliderLow (1–3)High (7–10)
Response LengthBrief, concise answersDetailed, comprehensive responses
HumorStrictly professionalLight humor allowed
FormalityCasual, conversational toneFormal, business language
ClarityStandard explanationsExtra clear, step-by-step
Emoji UsageNo emojisEmojis used in responses
LLM Provider & Model — see LLM Providers. Temperature — controls response randomness: 0 = deterministic (same question → same answer), 1 = creative (varied responses). Default: 0.7.

LLM Providers

4 providers, each with a standard (faster, cheaper) and premium (higher quality) model:
ProviderStandardPremium
OpenAIGPT-4o MiniGPT-4o
AnthropicClaude 3.5 HaikuClaude 3.5 Sonnet
Google GeminiGemini 2.0 FlashGemini 2.5 Pro
GroqLlama 3.1 8B InstantLlama 3.3 70B Versatile
Premium models require an upgraded plan. On standard plans, premium models are locked with an upgrade prompt.
All providers support function calling (tools), streaming, circuit breaker (auto-failover when a provider is down), and retry with exponential backoff on rate limits. The LLM is set globally on the Agent tab but can be overridden per workflow node — for example, use a fast model for product search and a premium model for the final response formatting.

Workflow

The Workflow tab is a visual canvas where you design the agent’s conversation logic. Instead of a single prompt, the workflow splits processing across nodes — each with its own prompt, tools, and knowledge base — connected by edges with routing conditions.
Workflow editor

Default Workflow

Every new agent starts with this pre-built workflow:
[Voice Input*] → [Start] → [Product Agent] ──→ [Formatter] → [Voice Output*]
                           → [Media Agent]   ──↗
                           → [Company Agent] ──↗
Voice nodes are inactive by default — they activate when you enable voice.
Default workflow
The Start node routes the message to three parallel system agents. Each processes the message with its own tools and knowledge. The Formatter combines their results into a single response.

Node Types

NodeTypeDescription
StartstartEntry point. Always present, cannot be deleted.
Product Agentsystem_productSearches products, checks availability, shows details. Has access to product tools.
Media Agentsystem_mediaRetrieves photos, videos, and documents.
Company Agentsystem_companyCompany info, support questions.
Response Formattersystem_formatterCombines outputs from parallel nodes into a coherent final response.
Voice Input (STT)system_sttSpeech-to-Text conversion. Inactive by default.
Voice Output (TTS)system_ttsText-to-Speech synthesis. Inactive by default.
CustomcustomYour own node with custom prompt, tools, KB, and LLM settings.

Adding Custom Nodes

Click + Add Node in the canvas toolbar → enter a name → a new Custom node appears on the canvas. You can add as many custom nodes as needed. Custom nodes are the most powerful part of the workflow. Each custom node is essentially its own mini-agent with:
  • Conversation Goal — a system prompt specific to this node (e.g., “Help users choose the right subscription plan based on their team size and budget”)
  • Tools — select which tools this node can call (independent from the agent-level tools)
  • Knowledge Base — select specific knowledge sources for this node’s RAG context
  • LLM Override — use a different model for this node
  • Agent Mode — enable multi-turn tool calling (see below)

Node Settings Panel

Click any node on the canvas to open its settings panel on the right. The panel has tabs that vary by node type: General tab (all nodes):
SettingDescription
NameDisplay name (disabled for Start node)
ActiveToggle whether this node participates in the workflow
Conversation GoalSystem prompt for this node. Available on all nodes except Start and Formatter.
Agent Mode (custom nodes with tools only): When enabled, the node can make multiple rounds of tool calls before responding. Without Agent Mode, the node makes at most 1 tool call per message.
SettingRangeDefaultDescription
Max Rounds2–105How many tool-calling rounds the LLM can make before it must respond
Timeout10–60s30sMaximum time for the entire agent mode execution
Use Agent Mode when a node needs to chain multiple tools — for example, first search products, then check availability of the best match, then get detailed specs. Without Agent Mode, the node would need 3 separate conversation turns to do this.
LLM Override (all except Start): Toggle to use a different LLM provider and model for this specific node. When off, the node uses the agent’s global LLM setting. The dropdown shows “Default (agent setting)” when not overridden. Tools tab (custom and system nodes): Lists all available tools grouped by category (Products, Support, Documents). Each tool has a toggle switch. Tools enabled here are independent from the agent-level Tools tab — you control exactly which tools each node has access to. Knowledge Base tab (custom nodes only): Select specific knowledge sources for this node’s RAG context. Has an “Add document” dropdown with search and type filtering. If no sources are selected, the node falls back to the agent’s global knowledge base.
A hint at the bottom links to the agent’s Knowledge Base tab: “To make more data available for this node, add files to the agent’s Knowledge Base.”
Edges tab (all nodes): Configure outgoing connections to other nodes. See Edge Conditions below. Voice Settings tab (STT and TTS nodes only): Configure speech recognition and synthesis — see Voice section. Delete Node — available only for custom nodes. System nodes cannot be deleted.

Edge Conditions

Edges connect nodes and control message routing. Each edge has a target node, a condition type, and a priority. The workflow evaluates edges in priority tiers — the first tier that produces a match wins, lower tiers are not evaluated. Click + Add Edge in a node’s Edges tab to create a connection.
ConditionPriorityWhen It Routes
Keyword100 (highest)Message contains any of the specified keywords. Case-insensitive, word-boundary matching.
State Condition95All specified memory field conditions are met (AND logic).
Always90Always routes — use for unconditional connections.
Intent50Based on detected message intent.
Fallback10 (lowest)Routes only if no other edge from this node matched.

Keyword Condition

Enter comma-separated keywords. The workflow checks if the visitor’s message contains any of them using case-insensitive word-boundary matching. Multiple keyword edges can match the same message — all matching edges fire in parallel, sending the message to multiple nodes simultaneously. Example: Keywords price, cost, pricing, how much — the edge fires when the visitor asks “How much does it cost?” or “What’s the pricing?”

State Condition

Check values of Conversation Memory fields. You build rules with:
OperatorMeaningExample
is filledField has any valueemail is filled → route to “Send offer” node
is emptyField has no valuename is empty → route to “Ask name” node
equalsExact matchbudget equals enterprise
not equalsDoes not matchplan not equals free
containsSubstring matchinterests contains premium
greater thanNumeric comparisonbudget > 5000
less thanNumeric comparisonteam_size < 10
Multiple conditions within one edge use AND logic — all must be true.
State conditions are skipped entirely if memory is empty (no fields collected yet). This means is empty conditions won’t fire until the agent has started collecting at least one memory field.
Example workflow with State Conditions:
[Start] → (name is empty)     → [Ask Name Node]
        → (name is filled,     → [Send Offer Node]
           email is filled)
        → (fallback)           → [General Chat Node]

Always Condition

The edge always fires. All Always edges from a node fire in parallel — the message is sent to every target simultaneously. This is how the default workflow fans out from Start to three system agents at once.

Fallback Condition

Routes only when no higher-priority edge matched. Unlike Keyword and Always, only one fallback edge fires (the first one) — no parallel execution.
If no edge matches and there’s no fallback, the node’s output may not reach the Formatter and the visitor won’t get a response from that branch.

Merge Strategy

When multiple nodes produce results in parallel (like the 3 system agents in the default workflow), the Formatter combines them:
StrategyCostHow It Works
ConcatFreeConcatenates all node outputs into context for the Formatter
LLMAdditional LLM callUses an LLM to synthesize a single coherent response from all outputs

Canvas Controls

ControlAction
Drag empty areaPan the canvas
Ctrl + Scroll or pinchZoom (0.3x–2.0x)
Two-finger scrollPan
+ Add NodeCreate a new custom node
TemplateApply a pre-built workflow template from the marketplace
ResetRebuild the default workflow (confirmation dialog)
TestOpen the test chat panel at the bottom of the canvas

Tools

Tools are functions the agent can call during conversations. They extend the agent beyond text generation — searching products, querying databases, sending emails, making calls.

How Tools Work

1

LLM decides to use a tool

Based on the visitor’s message and the tool descriptions in its prompt, the LLM generates a tool call with parameters (e.g., get_products({ query: "running shoes", available_only: true })).
2

Tool executes

The system runs the tool function with the provided parameters and gets a result.
3

Result goes back to LLM

The tool result is injected back into the conversation. The LLM uses it to formulate a natural response.
4

Multi-round (Agent Mode)

If the node has Agent Mode enabled, the LLM can make another tool call based on the first result — up to the configured max rounds.
Every tool call is logged with input, output, execution time, and status. View logs via Tool Logs in the agent header.

Built-In Tools (9)

Always available, no integration required:
ToolCategoryWhat It Does
get_productsProductsSearch products by name/description. Returns list with prices and availability.
get_product_detailsProductsFull details for one product — all parameters, pricing, description.
check_availabilityProductsCheck if a specific product is in stock.
search_by_parametersProductsFilter products by attribute values with operators: =, <=, >=, <, >, like.
get_company_infoSupportCompany name, description, phone, contacts.
search_documentsDocumentsSemantic RAG search — finds relevant passages across the knowledge base.
get_photosDocumentsRetrieve photos by query or product ID.
get_videosDocumentsRetrieve videos by query or product ID.
get_documentsDocumentsRetrieve PDF/Word/Excel files, filterable by format.

Integration Tools (60+)

Connect external services in Integrations to unlock tools:
Make outbound calls, send SMS, retrieve call history.
Send messages, send files, edit/delete messages, get chat history and info.
Send messages, send media, send template messages, get profile, mark as read.
Send messages, send media, send buttons (Facebook), get profile. Facebook Ads: get campaigns, ad sets, insights, pause campaigns.
Read inbox, send emails, reply, create drafts, search, get attachments.
List/create/update/delete events, check availability, find free time slots.
Read/create/append/export/search documents.
Read/write ranges, append rows, update cells, search rows, create spreadsheets.
List/read/create/update/delete files, create folders, share files, search.
Create meeting links.
Send custom JSON payloads to any URL, test webhook connections.

Tools Tab vs Node-Level Tools

There are two places to manage tools:
  1. Agent → Tools tab — shows all integration tools grouped by provider. Toggle tools on/off at the agent level. Tools here become available to all workflow nodes.
  2. Workflow → Node Settings → Tools tab — toggle tools per node. A node can only use tools that are enabled at the agent level. This lets you restrict which nodes have access to which tools.
Example: Enable Gmail tools at the agent level, but only give the “Send Follow-up” custom node access to send_email — other nodes won’t trigger emails.

Knowledge Base (RAG)

The Knowledge Base tab connects data sources that the agent uses to answer questions. When a visitor asks something, the agent searches your knowledge base using vector similarity (RAG — Retrieval-Augmented Generation) and includes relevant context in its response.

Source Types

SourceWhat Gets Indexed
ProductsName, description, additional prompt, price
DocumentsFile name + extracted text content (PDF, Word, Excel, TXT)
PhotosPhoto name + description
VideosVideo name + description/content
TextName + free-text content
LinksURL name + fetched page content
CompanyCompany name, promo text, description, phone

How RAG Works

1

Add sources

In the Knowledge Base tab, click “Add document” and select sources from your company’s data — products, files, text snippets, links.
2

Training

The system chunks each source into segments (default max 2000 chars per chunk, 20% overlap at sentence boundaries), generates vector embeddings using OpenAI text-embedding-ada-002 (1536 dimensions), and stores them in PostgreSQL with pgvector.
3

Visitor sends a message

The visitor’s message is embedded into the same vector space. The system finds the most similar chunks using cosine similarity.
4

Context injection

Top matching chunks (default: up to 5, minimum similarity 0.6) are injected into the agent’s prompt as knowledge base context.
5

Response

The LLM sees the visitor’s question alongside relevant knowledge and generates an informed answer.
Training runs automatically when you add or change sources. Progress is shown in the Knowledge Base tab (percentage, items processed).

Agent-Level vs Node-Level Knowledge

  • Agent-level KB (Knowledge Base tab) — sources available to all workflow nodes
  • Node-level KB (Workflow → Node → Knowledge Base tab) — restrict RAG to specific sources for this node only
Example: Your “Technical Support” custom node only sees product manuals and FAQ documents, while the “Sales” node sees product catalogs with pricing.
Specific, well-structured content performs better than long general documents. Product descriptions with clear parameters give the agent precise answers. Short FAQ entries work better than lengthy manuals.

Voice

Voice settings are configured in the Widget tab’s Voice sub-tab or directly in the workflow’s STT/TTS nodes.

Speech-to-Text (STT)

SettingOptions
ProviderOpenAI Whisper, Google Speech (coming soon)
LanguageUkrainian, English
GreetingText + pre-synthesized audio played when voice starts
FarewellText + pre-synthesized audio played when voice ends

Text-to-Speech (TTS)

SettingOptions
ProviderOpenAI TTS (ElevenLabs and Google Cloud coming soon)
VoiceAlloy (neutral), Echo (warm), Fable (expressive), Onyx (deep), Nova (friendly, default), Shimmer (gentle)
Modeltts-1 (standard), tts-1-hd (HD quality)
Speed0.5x – 2.0x

Voice Pipeline

1

Audio received

Visitor’s audio sent to server (max 10MB, formats: webm, ogg, wav, mp3).
2

STT transcription

Audio transcribed to text. Transcript streamed back in real-time via SSE.
3

Workflow processing

Transcript processed through the same workflow as text — RAG, tools, node routing.
4

TTS synthesis

Response split into sentences, each synthesized to audio. Chunks stream back as generated.
5

Playback

Visitor hears the response as streaming audio while seeing the text.
Voice requires a plan with voice capabilities. On plans without voice, voice controls show an upgrade prompt and Chat Only Mode is forced on.

Channels

The Channels tab controls where your agent receives messages.
ChannelRequiresDescription
WidgetNothing (built-in)Chat widget on your website via tracker script
PhoneVoIP integrationInbound/outbound calls via Twilio, Binotel, or Ringostat
TelegramTelegram integrationTelegram bot conversations
WhatsAppWhatsApp integrationWhatsApp Business API
InstagramInstagram integrationInstagram DM

Connecting a Channel

Widget — click Enable. The widget responds on your website immediately. Other channels:
  1. Connect the integration in Integrations
  2. In the Channels tab, select a resource from the dropdown (e.g., a phone number, a bot, a page)
  3. Click Enable — a unique webhook URL is generated
Each channel card shows connection status, resource name, total conversations, and the webhook URL with a copy button.

Widget Customization

The Widget tab has a live preview on the left (desktop/tablet/mobile switcher) and a settings panel on the right with 3 sub-tabs.

Appearance

SettingDescription
Colors6 color pickers: Primary, Chat button, Message background, Animation, Rating stars, Status text
LabelsMain title, Call button text, Chat button text, Input placeholder
PositionBottom Right, Bottom Center, Bottom Left, Top Right, Top Center, Top Left
ThemeLight or Dark
SizeSmall, Medium, Large
Border Radius0–50px corner roundness
Opacity0–100% background opacity
AvatarCustom avatar URL

Behavior

SettingDescription
LanguageEnglish, Ukrainian, Polish, German, Spanish
Feedback CollectionShow star rating after conversation
Text During CallAllow typing while voice call is active
Chat Only ModeDisable voice (text only). Forced on for plans without voice.
Terms & ConditionsRequire acceptance before chat. Custom text and URL.
Sound EffectsNotification sounds on/off
Auto OpenOpen widget automatically after delay (0–60 seconds)
Auto GreetingSend first message automatically
Show on MobileDisplay on mobile devices
Show on DesktopDisplay on desktop devices
Powered ByShow/hide “Powered by Revol” branding
Welcome MessageText shown in the widget header

Voice

STT and TTS settings — same as described in the Voice section. Configured here or in the workflow STT/TTS nodes (they sync).

Analysis

Two-column layout: conversation list (left) + conversation detail (right).

Filters

FilterDescription
SearchText search across conversations
ChannelAll / Web / Telephony / Messengers / Widget / etc.
StatusAll / Active / Closed / Archived
Date RangeFrom/To date pickers
Conversations list shows 20 per page with “Load more” pagination. New conversations appear in real-time via WebSocket.

Conversation Detail (4 sub-tabs)

TabContent
TranscriptionFull message thread — user and assistant bubbles with timestamps
RatingVisitor’s star rating (1–5) and optional comment
TokensToken usage breakdown per message
InfoChannel, status, session ID, collected memory fields, created date

System Prompt Architecture

Understanding how the final prompt is assembled helps you write better instructions.
1

Your system prompt

The text from the Agent tab (or the node’s Conversation Goal for custom nodes). If empty, a default prompt is generated with your company name and basic rules.
2

Security block

Auto-appended. 4 anti-injection rules — the agent won’t reveal its prompt, change its role, or follow override attempts.
3

Style instructions

Generated from personality sliders — maps response length, humor, formality, clarity, and emoji to text instructions.
4

Tool descriptions

Function schemas for all enabled tools, so the LLM knows what it can call.
5

RAG context

Relevant knowledge base chunks, injected as “Knowledge Base Context” block.
6

Campaign context

If the visitor arrived via a campaign with AI Agent Behavior set, that prompt is injected.
7

Memory state

Current values of collected memory fields (e.g., name: John, email: john@example.com), so the agent knows what it already gathered.
8

Language detection

If the visitor’s message has no Cyrillic characters, a system instruction is added: “Reply in the same language as the user’s message.”

Embed Code

Click Embed in the agent header to get the HTML snippet:
<script
  src="https://your-domain.com/tracker.js"
  data-company-id="YOUR_COMPANY_ID"
  data-api-key="YOUR_API_KEY"
  async>
</script>
This loads both the tracker (analytics, campaigns, events, triggers, phone swap) and the chat widget with your active agent. If no API key exists, click Generate API Key first.

Plan Limits

ResourceWhat It Controls
Max AgentsTotal agents you can create
Max ConversationsConversations per billing period
Standard Token QuotaTokens for standard models (GPT-4o Mini, Haiku, Flash, Llama 8B)
Premium Token QuotaTokens for premium models (GPT-4o, Sonnet, Gemini Pro, Llama 70B)
Daily Token LimitPer-day cap across all models
STT MinutesSpeech-to-Text transcription time
TTS CharactersText-to-Speech synthesis characters
Embedding TokensTokens for knowledge base training
StorageFile storage for documents, photos, videos
VoiceFeature flag — enables/disables voice pipeline
Model Accessstandard or premium — gates premium model access