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:| Mode | Who Communicates | Agent’s Role |
|---|---|---|
| Active | AI Agent | The agent fully handles customer communication — responds to messages, calls tools, follows the workflow, and resolves requests autonomously |
| Passive | Your Team | Your 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 |
| Hybrid | Both | The 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 |
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
| Status | Behavior |
|---|---|
| Draft | Not active. Use while configuring. |
| Active | Live, responding to messages. Only one agent per company can be active — activating one deactivates the rest. |
| Inactive | Paused. Keeps all configuration. |
Agent Editor
The agent editor is a fullscreen modal with 7 tabs: Agent, Knowledge Base, Analysis, Tools, Widget, Channels, Workflow.
Header
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. First Message — greeting text visitors see when the chat opens. Conversation Memory — structured fields the agent should collect during conversations. Each field has:| Property | Description |
|---|---|
| Key | Machine-readable identifier (lowercase, underscores only) |
| Label | Human-readable name shown in analytics |
| Type | Text, Phone, Email, Number, or Select |
| Options | For Select type — comma-separated values |
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:| Slider | Low (1–3) | High (7–10) |
|---|---|---|
| Response Length | Brief, concise answers | Detailed, comprehensive responses |
| Humor | Strictly professional | Light humor allowed |
| Formality | Casual, conversational tone | Formal, business language |
| Clarity | Standard explanations | Extra clear, step-by-step |
| Emoji Usage | No emojis | Emojis used in responses |
LLM Providers
4 providers, each with a standard (faster, cheaper) and premium (higher quality) model:| Provider | Standard | Premium |
|---|---|---|
| OpenAI | GPT-4o Mini | GPT-4o |
| Anthropic | Claude 3.5 Haiku | Claude 3.5 Sonnet |
| Google Gemini | Gemini 2.0 Flash | Gemini 2.5 Pro |
| Groq | Llama 3.1 8B Instant | Llama 3.3 70B Versatile |
Premium models require an upgraded plan. On standard plans, premium models are locked with an upgrade prompt.
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.
Default Workflow
Every new agent starts with this pre-built workflow:
Node Types
| Node | Type | Description |
|---|---|---|
| Start | start | Entry point. Always present, cannot be deleted. |
| Product Agent | system_product | Searches products, checks availability, shows details. Has access to product tools. |
| Media Agent | system_media | Retrieves photos, videos, and documents. |
| Company Agent | system_company | Company info, support questions. |
| Response Formatter | system_formatter | Combines outputs from parallel nodes into a coherent final response. |
| Voice Input (STT) | system_stt | Speech-to-Text conversion. Inactive by default. |
| Voice Output (TTS) | system_tts | Text-to-Speech synthesis. Inactive by default. |
| Custom | custom | Your 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):| Setting | Description |
|---|---|
| Name | Display name (disabled for Start node) |
| Active | Toggle whether this node participates in the workflow |
| Conversation Goal | System prompt for this node. Available on all nodes except Start and Formatter. |
| Setting | Range | Default | Description |
|---|---|---|---|
| Max Rounds | 2–10 | 5 | How many tool-calling rounds the LLM can make before it must respond |
| Timeout | 10–60s | 30s | Maximum time for the entire agent mode execution |
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.”
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.| Condition | Priority | When It Routes |
|---|---|---|
| Keyword | 100 (highest) | Message contains any of the specified keywords. Case-insensitive, word-boundary matching. |
| State Condition | 95 | All specified memory field conditions are met (AND logic). |
| Always | 90 | Always routes — use for unconditional connections. |
| Intent | 50 | Based on detected message intent. |
| Fallback | 10 (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: Keywordsprice, 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:| Operator | Meaning | Example |
|---|---|---|
| is filled | Field has any value | email is filled → route to “Send offer” node |
| is empty | Field has no value | name is empty → route to “Ask name” node |
| equals | Exact match | budget equals enterprise |
| not equals | Does not match | plan not equals free |
| contains | Substring match | interests contains premium |
| greater than | Numeric comparison | budget > 5000 |
| less than | Numeric comparison | team_size < 10 |
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.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.Merge Strategy
When multiple nodes produce results in parallel (like the 3 system agents in the default workflow), the Formatter combines them:| Strategy | Cost | How It Works |
|---|---|---|
| Concat | Free | Concatenates all node outputs into context for the Formatter |
| LLM | Additional LLM call | Uses an LLM to synthesize a single coherent response from all outputs |
Canvas Controls
| Control | Action |
|---|---|
| Drag empty area | Pan the canvas |
| Ctrl + Scroll or pinch | Zoom (0.3x–2.0x) |
| Two-finger scroll | Pan |
| + Add Node | Create a new custom node |
| Template | Apply a pre-built workflow template from the marketplace |
| Reset | Rebuild the default workflow (confirmation dialog) |
| Test | Open 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
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 })).Result goes back to LLM
The tool result is injected back into the conversation. The LLM uses it to formulate a natural response.
Built-In Tools (9)
Always available, no integration required:| Tool | Category | What It Does |
|---|---|---|
| get_products | Products | Search products by name/description. Returns list with prices and availability. |
| get_product_details | Products | Full details for one product — all parameters, pricing, description. |
| check_availability | Products | Check if a specific product is in stock. |
| search_by_parameters | Products | Filter products by attribute values with operators: =, <=, >=, <, >, like. |
| get_company_info | Support | Company name, description, phone, contacts. |
| search_documents | Documents | Semantic RAG search — finds relevant passages across the knowledge base. |
| get_photos | Documents | Retrieve photos by query or product ID. |
| get_videos | Documents | Retrieve videos by query or product ID. |
| get_documents | Documents | Retrieve PDF/Word/Excel files, filterable by format. |
Integration Tools (60+)
Connect external services in Integrations to unlock tools:VoIP — Twilio, Binotel, Ringostat
VoIP — Twilio, Binotel, Ringostat
Make outbound calls, send SMS, retrieve call history.
Telegram
Telegram
Send messages, send files, edit/delete messages, get chat history and info.
WhatsApp
Send messages, send media, send template messages, get profile, mark as read.
Facebook & Instagram
Facebook & Instagram
Send messages, send media, send buttons (Facebook), get profile. Facebook Ads: get campaigns, ad sets, insights, pause campaigns.
Gmail
Gmail
Read inbox, send emails, reply, create drafts, search, get attachments.
Google Calendar
Google Calendar
List/create/update/delete events, check availability, find free time slots.
Google Docs
Google Docs
Read/create/append/export/search documents.
Google Sheets
Google Sheets
Read/write ranges, append rows, update cells, search rows, create spreadsheets.
Google Drive
Google Drive
List/read/create/update/delete files, create folders, share files, search.
Google Meet
Google Meet
Create meeting links.
Google Ads
Google Ads
Get campaigns, get keywords, pause campaigns.
Webhooks
Webhooks
Send custom JSON payloads to any URL, test webhook connections.
Tools Tab vs Node-Level Tools
There are two places to manage tools:- 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.
- 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.
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
| Source | What Gets Indexed |
|---|---|
| Products | Name, description, additional prompt, price |
| Documents | File name + extracted text content (PDF, Word, Excel, TXT) |
| Photos | Photo name + description |
| Videos | Video name + description/content |
| Text | Name + free-text content |
| Links | URL name + fetched page content |
| Company | Company name, promo text, description, phone |
How RAG Works
Add sources
In the Knowledge Base tab, click “Add document” and select sources from your company’s data — products, files, text snippets, links.
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.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.
Context injection
Top matching chunks (default: up to 5, minimum similarity 0.6) are injected into the agent’s prompt as knowledge base context.
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
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)
| Setting | Options |
|---|---|
| Provider | OpenAI Whisper, Google Speech (coming soon) |
| Language | Ukrainian, English |
| Greeting | Text + pre-synthesized audio played when voice starts |
| Farewell | Text + pre-synthesized audio played when voice ends |
Text-to-Speech (TTS)
| Setting | Options |
|---|---|
| Provider | OpenAI TTS (ElevenLabs and Google Cloud coming soon) |
| Voice | Alloy (neutral), Echo (warm), Fable (expressive), Onyx (deep), Nova (friendly, default), Shimmer (gentle) |
| Model | tts-1 (standard), tts-1-hd (HD quality) |
| Speed | 0.5x – 2.0x |
Voice Pipeline
Workflow processing
Transcript processed through the same workflow as text — RAG, tools, node routing.
TTS synthesis
Response split into sentences, each synthesized to audio. Chunks stream back as generated.
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.| Channel | Requires | Description |
|---|---|---|
| Widget | Nothing (built-in) | Chat widget on your website via tracker script |
| Phone | VoIP integration | Inbound/outbound calls via Twilio, Binotel, or Ringostat |
| Telegram | Telegram integration | Telegram bot conversations |
| WhatsApp integration | WhatsApp Business API | |
| Instagram integration | Instagram DM |
Connecting a Channel
Widget — click Enable. The widget responds on your website immediately. Other channels:- Connect the integration in Integrations
- In the Channels tab, select a resource from the dropdown (e.g., a phone number, a bot, a page)
- Click Enable — a unique webhook URL is generated
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
| Setting | Description |
|---|---|
| Colors | 6 color pickers: Primary, Chat button, Message background, Animation, Rating stars, Status text |
| Labels | Main title, Call button text, Chat button text, Input placeholder |
| Position | Bottom Right, Bottom Center, Bottom Left, Top Right, Top Center, Top Left |
| Theme | Light or Dark |
| Size | Small, Medium, Large |
| Border Radius | 0–50px corner roundness |
| Opacity | 0–100% background opacity |
| Avatar | Custom avatar URL |
Behavior
| Setting | Description |
|---|---|
| Language | English, Ukrainian, Polish, German, Spanish |
| Feedback Collection | Show star rating after conversation |
| Text During Call | Allow typing while voice call is active |
| Chat Only Mode | Disable voice (text only). Forced on for plans without voice. |
| Terms & Conditions | Require acceptance before chat. Custom text and URL. |
| Sound Effects | Notification sounds on/off |
| Auto Open | Open widget automatically after delay (0–60 seconds) |
| Auto Greeting | Send first message automatically |
| Show on Mobile | Display on mobile devices |
| Show on Desktop | Display on desktop devices |
| Powered By | Show/hide “Powered by Revol” branding |
| Welcome Message | Text 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
| Filter | Description |
|---|---|
| Search | Text search across conversations |
| Channel | All / Web / Telephony / Messengers / Widget / etc. |
| Status | All / Active / Closed / Archived |
| Date Range | From/To date pickers |
Conversation Detail (4 sub-tabs)
| Tab | Content |
|---|---|
| Transcription | Full message thread — user and assistant bubbles with timestamps |
| Rating | Visitor’s star rating (1–5) and optional comment |
| Tokens | Token usage breakdown per message |
| Info | Channel, status, session ID, collected memory fields, created date |
System Prompt Architecture
Understanding how the final prompt is assembled helps you write better instructions.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.
Security block
Auto-appended. 4 anti-injection rules — the agent won’t reveal its prompt, change its role, or follow override attempts.
Style instructions
Generated from personality sliders — maps response length, humor, formality, clarity, and emoji to text instructions.
Campaign context
If the visitor arrived via a campaign with AI Agent Behavior set, that prompt is injected.
Memory state
Current values of collected memory fields (e.g.,
name: John, email: john@example.com), so the agent knows what it already gathered.Embed Code
Click Embed in the agent header to get the HTML snippet:Plan Limits
| Resource | What It Controls |
|---|---|
| Max Agents | Total agents you can create |
| Max Conversations | Conversations per billing period |
| Standard Token Quota | Tokens for standard models (GPT-4o Mini, Haiku, Flash, Llama 8B) |
| Premium Token Quota | Tokens for premium models (GPT-4o, Sonnet, Gemini Pro, Llama 70B) |
| Daily Token Limit | Per-day cap across all models |
| STT Minutes | Speech-to-Text transcription time |
| TTS Characters | Text-to-Speech synthesis characters |
| Embedding Tokens | Tokens for knowledge base training |
| Storage | File storage for documents, photos, videos |
| Voice | Feature flag — enables/disables voice pipeline |
| Model Access | standard or premium — gates premium model access |




