Restly Guide & Documentation Center

Find complete explanations on how Restly works, menu management, the purpose of each input column, and system integration guides.


Overview Dashboard

System Health & Multi-Agent Orchestration Framework

Main page to monitor server health, LLM token quota usage, total active chats, and Redis and Qdrant connection status.

The Overview Dashboard page is the central hub for monitoring your Restly system status in real-time. This page displays server health metrics, LLM token usage statistics, database cache status, and a complete list of your currently active agents and cache data.

1. System Status & Sync (Header):

At the top right, there are status indicators for the main components:

  • API Online: Indicates that the FastAPI backend server is running normally.
  • Redis Connected: Indicates that the Redis in-memory database is active to speed up chat responses.
  • Qdrant Connected: Indicates that the Qdrant vector database is ready for semantic document search.

Qdrant Synchronization: A special button to force the server to sync updated data from your external APIs into the Qdrant vector database so the AI assistant gets the freshest data.

Real-Time Progress Bar: When sync is running, a progress bar will appear in real-time to monitor the status of each tool (SYNCING, SUCCESS, or FAILED).

2. Metric Statistics Cards:

There are 8 main metric cards for system monitoring:

Restly Agents:

The total number of registered AI agents.

Total Log Tasks:

The accumulated number of chat history rows in the database.

Redis Cache Keys:

The number of active chat session keys and total Redis memory used.

Qdrant Cache:

The number of vector index points and Qdrant memory capacity.

Token Limit:

Accumulated Gemini API token usage against a 5.0M token limit.

Avg Latency:

The average response latency of the AI server when replying to chats.

Avg Tokens:

The average number of tokens consumed per chat session.

Cache Hit Ratio:

The percentage of chats answered directly from cache to save LLM tokens.

3. Activity Charts & Detail Tables:

Activity Chart (24 Hours): A bar chart visualization of incoming chats per hour, complete with hover tooltips for log details & tokens.

Agent Status Table: List of all agents, their folder routes, LLM model used, chat count, description, and operational status.

Qdrant Vector Details Table: Details of vector database collections, associated tools, number of data points, and memory size.

Redis Keys Detail Table: Real-time audit of chat session cache keys, data types, and time-to-live (TTL).

Restly Agent

Create & Configure Virtual Assistants

Where you register, edit, select Large Language Models (LLM), and secure the API Keys for your virtual assistants.

The Manage Restly Agents menu is used to create, configure, and manage your virtual assistants (AI Agents). Here you can define the agent name, artificial intelligence model, and secure API Key credentials.

1. Search, Filter, & Navigation:

Quick Search: The search box in the top left allows you to search for agents quickly by agent name or folder slug.

Status Filtering: You can filter the agent list by operational status: All Status, Active, Inactive, or Maintenance.

2. Agent Creation & Modification Parameters:

Agent Name & Folder Name (Slug):

The formal name of your AI agent. When creating a new agent, the system automatically generates a unique Folder Name (Slug) using lowercase letters and hyphens based on the agent's name. This folder slug becomes the technical route for chat access (e.g., /sales-agent) and cannot be changed once created.

LLM Model:

Choose an AI model from Google Gemini or Gemma. You can also select the Custom Model ID... option to enter another model ID manually if needed.

Gemini API Key:

Your official access token from Google AI Studio. Restly automatically secures this key in the database using industry-standard AES-256 encryption (Encryption at Rest). You can toggle the eye icon to show or hide the value.

Maintenance Status:

Can be set when editing an agent. If set to True, the agent will show an orange "Maintenance" status and temporarily block public interaction.

3. Management Actions:

Each agent card is equipped with two action buttons at the bottom right:

  • Pencil Icon: Opens the edit form to modify description, LLM model, API Key, or change maintenance status.
  • Trash Icon: Deletes the agent and its folder route from the local server permanently.

Restly Tool

Connect AI Agents with External Systems

Connect AI Agents with your data or external APIs so agents can search for products, call transactions, or check external data and connect your custom tools as dynamic API endpoints for LLM instantly.

The Dynamic Tool Configuration menu is used to connect AI Agents with external data sources. With this feature, AI Agents can perform actions like RAG (searching internal documents/SOPs) or call your system's external APIs dynamically.

1. Search, Filter, & Navigation:

Quick Search: Search for tools instantly by tool name or function description.

Agent & Status Filter: Filter the tools by their target AI Agent or operational status (Active or Inactive).

2. Tool Creation & Modification Parameters:

Tool Name :

The technical function name that will be read by the Large Language Model (LLM). The system automatically formats the input into lowercase letters without spaces (using underscores, e.g., check_item_stock).

Schema Type & Parameter Examples:

Determines the type of tool integration. Here are the 4 choices and guidelines for parameter configuration:

1. RAG (Vector Memory)

Used to train the AI with internal SOPs or knowledge base documents. You can upload files directly (.pdf, .txt, .docx, .xlsx) to automatically extract text and store it in the Qdrant vector database.

2. Custom (Simple Key-Value)

Simple parameter mapping where each key holds a string description to guide the AI. Generates parameters of type string and optional.

{
  "item_name": "Name of the item sought by the buyer",
  "category": "Product category (optional)"
}
3. Dynamic (Flexible Object Structure)

Allows setting specific data types (string|integer|number|boolean), required status (required), description, and default values.

{
  "category": {
    "type": "string",
    "description": "Product category name",
    "required": true
  },
  "limit": {
    "type": "integer",
    "description": "Search limit count",
    "required": false,
    "default": 10
  }
}
4. JSON Schema (Formal Industry Standard)

Standard JSON Schema specification format with a properties object and a required array for advanced parameter validation.

{
  "type": "object",
  "properties": {
    "item_name": {
      "type": "string",
      "description": "The product name to search for"
    },
    "max_price": {
      "type": "number",
      "description": "Maximum price limit"
    }
  },
  "required": ["item_name"]
}
URL API Endpoint / Memory Data Content:

If using RAG, this field holds the document text. For other schema types, fill this with the external API URL endpoint of your system that Restly will call.

HTTP Method & Payload Type (API Only):

How Restly sends data to your server (e.g., GET, POST, etc.) and the payload format (Form Data or JSON Body).

  • Vector Cache (Qdrant): Automatically copies API responses into the local Qdrant vector database for instant semantic search.
  • Disabled (Direct API): Always calls your API server in real-time for every chat request.

Restly Prompt

Configure Rules, Character, & Persona

Configure the personality, character, speaking style, and behavioral constraints that the AI Agent must follow during chat.

The System Prompt Editor menu is used to configure the base instructions (System Prompt) that dictate the behavior, personality, tone of voice, and knowledge boundaries of each of your AI Agents.

1. Editor Flow & Interface:

Select AI Agent (Left Side): A list of all your AI Agents is displayed in the left column. Click an agent to open its prompt editor workspace on the right side.

Workspace & Saving (Right Side): Write detailed system instructions in the textarea. Click the Save Prompt button in the top right to save changes directly to the server.

2. Dynamic Variable Injection System:

You can insert special variable tokens using single curly braces { } in your instructions. These tokens will be replaced dynamically when the AI Agent runs:

  • {agent_name}: Will be replaced with the technical folder name of the active agent.
  • {tool_list}: Will be replaced automatically with a list of technical names and descriptions of all active tools owned by that agent.

Important: Ensure you use single curly braces (e.g., {agent_name}, not {{agent_name}}) for the system to translate them correctly.

3. Prompt Examples & Templates:

Click the Variable Injection System info banner at the top of the editor to open a help modal. Inside, you can find and copy ready-made prompt templates for various virtual assistant scenarios, complete with one-click copy buttons.

Restly Opening

Greeting Message for First-Time Users

Editor to set the greeting message sent when the chat window is opened by the user, with support for Markdown.

The Opening Prompt Editor menu is used to design the greeting message that will be sent automatically when a user first opens the chatbox of your AI Agent.

1. Editor Workflow:

Select AI Agent (Left Side): Choose an active AI Agent from the list on the left to display its opening message editor on the right.

Writing & Saving (Right Side): Type a warm welcome message in the textarea, then click Save Opening in the top right to save changes.

2. Writing Guide & Text Formatting:

A good opening greeting guides visitors on what topics they can ask about. This page supports standard Markdown formatting to make the message look more engaging:

Bold Text:

Use double asterisks to emphasize key phrases. Example: **Welcome to our Customer Support!**

Bullet Lists:

Use hyphens/dashes to create a list of service options that the user can choose. Example:

- Type 1 to Check Product Stock
- Type 2 to Contact Support

Restly Log

Chat Audit & Token Cost Tracking

Detailed history page to monitor user chats, AI responses, token usage costs, and raw JSON payload data for debugging.

The Chat History Logs page is used to audit, evaluate, and monitor the response quality and token cost efficiency of your AI Agents in detail.

1. Search & Navigation:

You can search for chat keywords or filter specific conversations instantly using the search box in the top left. The pagination system at the bottom splits log rows (10 per page) to keep the dashboard tidy.

2. Log Summary Columns:

Each conversation row presents summary information as follows:

  • Timestamp: The precise time the message was sent by the user.
  • Agent Name: The identity of the agent route serving the conversation.
  • Message & Reply Preview: Snippet of the user message and AI reply.
  • Tokens: The amount of API tokens consumed to track costs.
  • Status: Execution status indicator (Success).

3. Payload Detail Expansion (Raw Debug):

Press the arrow icon on the left of the timestamp to open the expansion row. This section is highly useful for development teams as it displays the full User Message and Agent Response in raw, monospaced format.

Restly Tags

Group Agents into Major Categories

Group your AI agents under specific tags or labels to make them easier to search and manage if there are many of them.

The Manage Restly Tags menu is used to create category labels associated with your AI Agents. These categories help filter information, trigger reference documents, or group chat sessions.

1. Workspace & Agent Selection:

Select AI Agent (Left Side): Click an AI Agent name in the left column list to display the tags bound to that agent in the right column.

Add New Tag (Right Header): Click this button to open the modal dialog to create a new tag.

2. Table List & Actions:

The right column shows a summary tag table containing the following details:

  • Tag Name & Icon: The visual category name and its representative icon.
  • Status (Active/Inactive): Interactive status badge. You can click the status badge directly to toggle the tag's active state instantly without opening an edit dialog.
  • Pencil Icon: Opens the edit dialog to change the name, icon, or status of the tag.
  • Trash Icon: Permanently deletes the tag (requires confirmation).

Restly Chat

Interactive AI Behavior Playground

A live testing playground to chat with your AI Agents to ensure responses and tool calls work normally.

The Chat Simulation page is an interactive playground to test the responses, persona, and tool/RAG functions of your AI Agents before deploying them publicly.

1. Chat Session Management (Left Side):

You can start a new session using the New Chat button in the top left. Your past chat threads will be saved automatically in the history column on the left so you can reload them at any time.

2. Chat Area & Quick Tags (Center):

Agent Selection: You can switch the active testing agent instantly using the agent dropdown at the top of the chat area.

Message Bubbles: Conversations are displayed in bubbles supporting Markdown formatting (bold, italic, lists, etc.).

Quick Tags: Below the message input box, there are quick tag buttons for the categories you created. Click any to send a preset query instantly without typing.

3. Real-Time Telemetry Monitor (Right Side):

The right column presents key telemetry panels to audit AI performance behind the scenes:

  • API Metadata: Displays active agent info, reply latency, and input/output token usage details.
  • Exec Tracer: Real-time execution tracer visualizing LangGraph API triggers or Qdrant document vector queries.

Restly Config

Tune Parameters & Semantic Search Sensitivity

Configure similarity threshold settings, database search fields, display fields for LLM, and logic bypass keywords.

The Restly Config page is used to tune the sensitivity of vector searches and restrict the data columns that your AI Agents are allowed to retrieve and present.

1. Workspace & Agent Selection:

Select an AI Agent in the left column to display its accuracy settings on the right. Click Save Settings after modifying data.

2. Accuracy Tuning Parameters:

Similarity Threshold:

Slider to set semantic vector search sensitivity (value from 0.0 to 1.0). The recommended range is 0.70 to 0.75. Setting it too high may cause the AI to reject answers due to minor spelling differences. Setting it too low might return less relevant reference documents.

LLM Display Fields:

Specifies the database column names allowed to be read and sent to the Large Language Model (LLM). This feature is critical to prevent leaks of sensitive data (like passwords or profit margins). Ensure essential columns like product_name and price are whitelisted so the AI can show them to customers.

Configuration Status (Active):

If set to inactive, the system will ignore these settings and fallback to system defaults.

Restly Cache Explorer (Manajemen Cache)

Inspeksi Kunci Sesi & Memori Redis/Qdrant

Memantau kapasitas RAM server, kunci sesi Redis (exact match & checkpoints), serta data ingatan Semantic Cache Qdrant per-Agen.

Halaman Restly Cache Explorer (Pusat Manajemen Cache) menyediakan antarmuka terpadu untuk memantau dua lapisan penyimpanan memori berkecepatan tinggi yang digunakan oleh sistem Agen AI:

1. Tab Redis Cache (Exact Match & Checkpoints):

Conversation Checkpoints: Menyimpan state memori alur percakapan terperinci dari LangGraph secara real-time.

Exact Match Cache: Menyimpan cache jawaban instan untuk pertanyaan yang 100% sama persis guna memotong latensi LLM.

Pembersihan: Dapat dihapus secara massal per-user atau global menggunakan tombol Flush Cache.

2. Tab Semantic Cache (Qdrant Vector Cache):

Pencarian Semantik: Menyimpan pencarian cerdas berbasis vektor AI di Qdrant. Pertanyaan yang secara makna mirip akan langsung mendapatkan jawaban dari cache tanpa memanggil LLM kembali.

Eviction & Kendali Penuh: Dilengkapi dengan batasan kuota otomatis berbasis paket (FIFO Eviction) dan kontrol visual untuk mencari cache, menghapus cache tertentu secara eceran (satuan), maupun membersihkan seluruh cache semantik per-Agen.

Deploy Secure Custom Tools

How to Deploy Custom Python Tools as Secure AI Agent Endpoints

Step-by-step guide on wrapping Python functions as secure API endpoints for your custom AI Agent.

When building an AI agent, one of the biggest challenges is how to securely connect it to your internal systems (such as data, CRM systems, or dispatch systems). Restly solves this problem by providing a secure proxy layer.

# Quick FastAPI example to expose as tool:
@app.get("/api/check-stock")
async def check_stock(product_id: str):
    return {"stock": 42, "status": "in_stock"}

Steps to Connect Custom Tool to Restly:

  1. Deploy Your API Endpoint: Host your Python/Node.js logic on your backend.
  2. Register on Restly Dashboard: Go to Restly Tool, input the endpoint URL and declare the schema parameters (e.g., product_id).
  3. Attach to Agent: Enable the tool on your chosen agent via the Restly Agent tab.

Why Restly Security Matters:

Directly calling internal APIs from the client-side app exposes sensitive authorization headers. Restly runs securely in the backend, injecting required API keys in-flight, preventing users or malicious scrapers from intercepting your credentials.

Smart AI Chat Routing

Cost-Efficient AI Gateway: Smart Routing between GPT-4 & Gemini

Learn how Restly's smart routing automatically routes user prompts based on complexity to reduce LLM API billing.

How Restly Optimizes Your Budget:

  • Complexity Assessment: Every prompt is analyzed semantically utilizing vector indexes.
  • Fast/Cheap Routing: Common greetings, simple lookups, and short replies are routed to cost-effective models (e.g., Gemini Flash).
  • Advanced Routing: Complex logical reasoning, script generation, and structured queries are escalated to premium models.

The Savings Impact:

Implementing dynamic routing typically yields a **60% to 80% decrease** in monthly API expenses while preserving top-tier response quality for hard tasks.

AI Agent Security

Protecting AI Agent Tools from Prompt Injection Attacks

Best practice guide on protecting your internal database and APIs when connected to large language models (LLMs).

Prompt Injection attacks happen when malicious user input tricks the LLM into bypassing system rules to execute unintended commands, fetch hidden database rows, or trigger destructive functions.

How Restly Protects Your Backend:

  • Strict Schema Validation: Restly verifies that the parameters generated by the LLM fit your predefined JSON types before forwarding the API request.
  • Credential Masking: Third-party tokens are stored in encrypted format and processed at the backend, never leaked to the client browser.
  • Session Quota & Rate Limits: Limits are enforced dynamically per user session to mitigate DDoS attacks and resource abuse.

Best Practice Advice:

Ensure your external APIs follow the Least Privilege principle: give AI-facing routes only the specific read/write permissions required to complete the task.