AI Agents for Business: Platform, Components, Channels
Introduction
AI agents are not just chatbots that respond according to a script. They are intelligent systems that understand context, connect to your databases and documents, call APIs, and make decisions. For business, this means: less routine, faster responses, lower costs, higher quality.
We identify four types of agents that cover the key needs of any company:
| Type | What it does |
|---|---|
| Support Agent (FAQ) | Answers questions based on the knowledge base, regulations, documents |
| Consultant Agent (salesperson) | Helps choose a product, compares, places an order, performs cross-sell |
| Employee Assistant | Processes vacation requests, resets passwords, searches for orders, conducts onboarding |
| Data Analyst | Turns a business question into SQL, returns the answer + a chart |
But behind each of these agents is a common platform — and it is precisely this platform that determines whether the agent will be convenient, secure, and manageable. In this document, we break down the platform's business components and delivery channels.
Business Components of the Platform
1. Dialogue Analytics
Without analytics, an agent is a black box. Businesses need to understand what is happening inside.
What analytics provides:
| Capability | Why business needs it |
|---|---|
| Requests dashboard | How many dialogues, in which channels, at what time. Peak loads for resource planning |
| Breakdown by agents | Load and activity for each agent |
| Escalation funnel | How many dialogues the agent resolved on its own, how many went to an operator |
| Lexical topics | What is asked about most often — frequent words in questions, without manual labeling (without embeddings) |
| Dialogue search | Full-text search across the entire history — compliance, incident investigation, training |
| Blind spots | Tools that often return empty or fail: what needs improvement |
| User ratings | Like/dislike on agent responses — a signal for improvement |
Analytics is opt-in: by default, no agent is tracked; it is enabled globally or for a specific template.
Example of what this might look like (numbers are illustrative):
📊 Dashboard for July 2026
├─ Total dialogues: 8,230
│ ├─ Resolved by agent: 5,760 (70%)
│ ├─ Escalated: 1,810 (22%)
│ └─ Not resolved (not in the database): 660 (8%) ⚠️
├─ Top 5 topics:
│ 1. Order status — 2,140
│ 2. Return/defect — 1,520
│ 3. Delivery to regions — 980
│ 4. Product comparison — 890
│ 5. Warranty — 720
├─ Average response time: 1.2 sec
└─ Average user rating: 4.7 / 5
2. Security
An AI agent works with company data — documents, the customer database, financial information. Security is not an option, but a foundation.
Levels of protection:
| Level | What it includes |
|---|---|
| Isolation | An agent does not read another agent's context and does not spend its budget. Memory and state are scoped to the user/session. One instance — one perimeter (multi-tenancy by clients is not claimed) |
| Access control | Admin tokens and web users are restricted by a list of templates (scoped operator). Admin API fails closed |
| Personal data protection | The guard hook detects email, phone numbers, cards, IBAN, passports, INN, SNILS, API keys, PEM; actions — redact/deny/rework. pseudonymize reversibly replaces values with tokens and stores them in a local encrypted vault |
| Action audit | Access log of every HTTP request and event journal (tool calls, budgets, errors, operator decisions). Token values are not logged |
| Action approval | Sensitive tools are gated by human-in-the-loop in the core — the agent cannot bypass approval, including through prompt injection |
| Secrets and encryption | Secrets only in .env, in YAML — only the variable name; TLS at the server level; connector OAuth tokens are encrypted (AES-256-GCM) |
| Execution isolation | Tools run in a sandbox (filesystem and network limits). Database access — via sql_tool with a configurable readonly (write is allowed by default); shell_tool runs only the author's CLI |
Example: how personal data masking works
User: My passport is 4512 345678, check the order
Agent (sees): My passport [PASSPORT_MASKED], check the order
In the logs: [PASSPORT_MASKED] — the original data is not
stored, only the fact that personal data was detected
3. Knowledge Base and Data
An agent is only as good as its knowledge is up to date. Sources are divided into two types: a search archive and live data through tools.
How the agent acquires knowledge:
| Method | How it works | For which data |
|---|---|---|
| Search archive | The site is crawled (agent-os scrape) into a full-text archive (BM25). The rag hook injects relevant fragments into the context, archive_tool searches the archive |
Regulations, instructions, FAQ, site content |
| Documents on demand | PDF, Word/Excel/PowerPoint are read by tools at the moment of access (pdf_tool, office_tool) — without prior indexing |
Orders, policies, contracts |
| Live data (API) | site_tool and OAuth connectors call REST APIs in real time; sql_tool — queries to PostgreSQL/MySQL; duckdb_tool — the agent's own DB |
Products, prices, order statuses |
| RSS / JSON | rss_tool and json_tool search feeds and files |
News, exports |
Updating. The archive is rebuilt by the crawler — manually, by script, or via cron. There is no automatic indexing of documents (Confluence, Google Docs, 1C) and no versioning of the knowledge base.
4. Quality control
The agent must not just answer, but answer well. Quality is maintained by controllable mechanisms.
| Mechanism | What it does |
|---|---|
| Answer grounding | The groundedness hook verifies the answer's claims against the archive and tool results; link_check checks links |
| Schema and format | schema_guard validates the answer and tool arguments against JSON Schema; format_guard monitors links |
| Loop breaking | loop_guard stops looping tool calls |
| User ratings | Like/dislike on an answer (feedback), statistics for the administrator |
| Observability | Hook metrics by point, timings, provider circuit breaker, Prometheus /metrics |
| Benchmarks | Agent runs on a set of scenarios (bench) with a history of results |
| Blind spot analysis | Tools and questions where the agent most often fails (dialogue analytics) |
5. Integration layer
The agent does not exist in a vacuum — it connects to the company's IT landscape.
Built-in integrations:
| System | What it provides |
|---|---|
Drive, Sheets, Docs, Slides and Calendar (google_tool, calendar_tool) |
|
| Yandex | Yandex.Disk and Yandex.Calendar (yandex_tool) |
| Databases | PostgreSQL and MySQL via sql_tool; the agent has its own DuckDB |
| File storage | S3, WebDAV, FTP (storage_tool) |
IMAP receiving and SMTP sending (email) |
|
| Messengers | Telegram, VK, Yandex Messenger (channels and sinks) |
| Arbitrary APIs | site_tool (REST, OAuth2, HMAC signature) and OAuth connectors (oauth_connect/connector_request) |
| MCP servers | Any tools according to the Model Context Protocol standard (mcp_tool) |
Planned: 1C/ERP, amoCRM/Bitrix24, Active Directory/LDAP, ClickHouse, Jira/Kaiten/Notion, payment gateways (YuKassa, etc.), delivery services (CDEK, PEK, Russian Post), WhatsApp Business API. They do not yet have native support — some are achievable only via arbitrary HTTP through site_tool.
Delivery channels
The agent must be where the user is. It is not the user who goes to the agent, but the agent who goes to the user.
1. Website widget
The most obvious channel for external clients.
| Characteristic | Description |
|---|---|
| Where | Company website, online store, personal account, government services portal |
| What it looks like | A floating "Chat with AI" button in the bottom-right corner. Clicking it opens a dialogue window |
| Customization | Colors, logo, welcome message, agent avatar |
| Escalation | If the agent did not resolve it → transfer to a live operator (chat, call, ticket) |
| Context | The agent sees which page the user is on and can use this in its answer |
| Analytics | Every session is recorded, the traffic source is known |
Placement example:
University website
├─ Home — widget with an offer: "I will answer questions
│ about admissions, schedules and student life"
├─ Admissions campaign page — the widget automatically suggests:
│ "Would you like to know the passing score for your faculty?"
└─ Student personal account — widget in context: "Need a certificate
of enrollment? I can help you arrange it"
2. Telegram bot
The most popular channel in Russia for internal communications and support.
| Characteristic | Description |
|---|---|
| Where | A separate bot @CompanyHelperBot or one built into the corporate chat |
| For whom | Employees (HR, IT, documents), clients (support, orders), partners |
| Advantages | No installation required — everyone has Telegram. Push notifications. Familiar interface |
| Documents | Sending PDFs, images, tables directly into the chat |
| Buttons | Quick actions: "My payslip", "Order status", "Request leave" |
Scenario for manufacturing (a production company):
A shop-floor employee opens Telegram on a smartphone → @CompanyHelperBot
→ "Request time off" → one button → done.
No need to: find a computer, log into 1C, remember a password,
figure out the interface.
3. VK, Yandex Messenger, email and API
Besides the widget and Telegram, the agent connects to other channels:
| Channel | Characteristic |
|---|---|
| VK | Community bot via Long Poll: messages, attachments, quick actions |
| Yandex Messenger | Yandex 360 bot via getUpdates — for employees on the Yandex platform |
Receiving emails via IMAP and replying via SMTP; email_tool — outgoing |
|
| HTTP API (SSE) | POST /v1/chat/completions — the primary programmatic interface and response streaming |
| Webhook | POST /v1/inbound/:template — an external system launches the agent and synchronously receives the response |
Channel comparison
| Channel | Where it's used | Authorization | Push |
|---|---|---|---|
| Website widget | Website, online store, personal account | Website session | No |
| Telegram | External clients and employees | Separate (phone/token) | Yes |
| VK / Yandex Messenger | Community, corporate environment | Bot/community token | Depends on the platform |
| External correspondence, requests | IMAP account | No | |
| HTTP API | Embedding into your own products | Bearer / user ticket | No |
Additionally: the result of an observer agent's work goes to a sink — webhook, Telegram, VK, Yandex Messenger, email, another agent, or storage (S3/WebDAV/FTP).
Architecture: how it works
flowchart TB
subgraph channels["📱 CHANNELS"]
Widget["Website widget"]
Messengers["Telegram · VK · Yandex"]
Api["HTTP API (SSE)"]
Email["Email"]
end
subgraph triggers["⏰ TRIGGERS — launch without a human"]
Cron["Cron"]
Webhook["Webhook"]
Monitor["Monitor (RSS, etc.)"]
end
Host["🌐 Host — HTTP server<br/>authentication · admin UI"]
subgraph kernel["🧠 CORE — operating system for agents"]
direction TB
Sched["Scheduler<br/>concurrency and queue"]
Processes["Process table<br/>agent = process (PID, state)"]
Ctx["Context (RAM analog)<br/>eviction and compaction"]
Budg["Budgets (cgroups analog)<br/>token bucket · groups"]
Hooks["Lifecycle hooks<br/>guard · rag · memory · cache"]
Ipc["IPC and system calls<br/>spawn · fork · send/recv"]
end
subgraph providers["⚙️ INFERENCE (CPU analog)"]
Router["Model routing<br/>and inference cache"]
Llm["LLM<br/>OpenAI-compatible · DeepSeek · Ollama"]
end
subgraph tools["🔧 TOOLS (I/O devices analog)"]
Web["Network · websites · browser"]
Know["Search archive (BM25) · PDF · documents"]
Db["SQL · DuckDB · files"]
Act["Scripts · subagents · email · S3"]
end
subgraph store["💾 STORAGES"]
Transcripts["Dialogue transcripts"]
Events["Event log (audit)"]
State["State store"]
end
subgraph modules["🧩 MODULES — features on top of the core"]
Wf["Workflow (DAG)"]
Analytics["📊 Dialogue analytics"]
Approvals["Approvals · escalation"]
Connectors["Connectors (OAuth)"]
end
Widget --> Host
Messengers --> Host
Api --> Host
Email --> Host
Cron --> Host
Webhook --> Host
Monitor --> Host
Host --> Sched
Sched --> Processes
Processes --> Ctx
Processes --> Budg
Processes --> Hooks
Processes --> Ipc
Hooks --> Router
Router --> Llm
Processes --> Web
Processes --> Know
Processes --> Db
Processes --> Act
Processes --> Transcripts
Processes --> Events
Processes --> State
Events -.-> Analytics
Hooks -.-> Approvals
Ipc -.-> Wf
Act -.-> Connectors
Key principles:
- An agent is a process. Each agent runs as an independent process with its own PID, context, set of tools, and budget. An agent template (
agent.yaml) is a recipe; the process is created lazily, on the first request. Workflows and subagents are also processes, withspawn/forksemantics. - The core is order. A single asynchronous runtime schedules all processes, maintains the concurrency limit, and distributes budgets (token bucket, groups per user and session). The core mediates every tool call: validates arguments, enforces time limits, logs, and calculates cost.
- The model is a replaceable processor. The core does not perform inference itself but schedules it on a pluggable provider (OpenAI-compatible API, DeepSeek, Ollama). Model routing selects the model for the request, and the inference cache eliminates repeated calls.
- Controllability through hooks. Hooks intercept the lifecycle at points "before/after a message, tool call, inference, token stream, context compaction." This is where DLP and PII masking (
guard,pseudonymize), answer grounding (groundedness), memory (memory), RAG (rag), caches (faq_cache,tool_cache), and loop breaking (loop_guard) live. - Modularity. The core is only a mechanism; features (workflow, cron, channels, analytics, connectors, memory, model routing, documentation) are separate modules connected to the core through a single service seam. A disabled subsystem responds "not configured" rather than breaking the platform.
- Autonomy through triggers. An agent is launched not only by a message: cron — on a schedule, webhook — by an external push, monitor — when new data appears (RSS). The result goes to a sink: webhook, Telegram, email, another agent.
- Control and isolation. An agent does not read someone else's context or spend someone else's budget. All steps are written to transcripts and an event log (audit). The working knowledge base is a BM25 search archive; access to external databases and systems is only through tools, with configurable read-only mode and confirmation.
Conclusion
AI agents for business are not magic and not hype. They are an engineering solution that stitches together three things:
- Model — a large language model that understands natural language.
- Company data — documents, databases, regulations, product catalog.
- Channels — website, Telegram, VK, Yandex Messenger, email — wherever the user is.
The result: employees and customers get an answer in seconds, the business saves millions, and analysts finally do analytics instead of exports.
And all of this — with payback starting from a week.