Sample Data Auto-Onboarding
Overview
The Sample Data Insertion module automatically reads and loads sample tools, agents, and workflows from the configuration file into the database when the server starts. This enables quick setup and testing without manual data entry.
Key Features:
- Automatic Loading — Sample data is inserted on server startup
- No Code Changes Required — Simply edit the JSON configuration file
- Supports Multiple Resources — Tools, Agents, and Workflows can all be pre-loaded
Configuration File
File Location: src/onboard/sample_data.json
To add new sample tools, agents, or workflows, edit this JSON file. No code modifications are needed—just add your data to the appropriate list (tools, agents, or workflows).
File Structure
The sample_data.json file contains three main sections:
1. Tools
Define reusable tools that agents can use during execution.
Structure:
{
"tools": [
{
"tool_name": "",
"tool_description": "",
"code_snippet": ""
},
{
"tool_name": "",
"tool_description": "",
"code_snippet": ""
}
]
}
Fields:
tool_name— Unique identifier for the tooltool_description— Brief description of what the tool doescode_snippet— Python code that implements the tool functionality
2. Agents
Define agents with specific configurations and behaviors.
Structure:
{
"agents": [
{
"agentic_application_name": "",
"agentic_application_description": "",
"agentic_application_workflow_description": "",
"agentic_application_type": "",
"system_prompt": {},
"tool_names": [],
"validation_criteria": [],
"welcome_message": ""
}
]
}
Fields:
agentic_application_name— Unique name for the agentagentic_application_description— High-level description of the agent's purposeagentic_application_workflow_description— Detailed workflow explanationagentic_application_type— Agent template type (e.g.,react_agent,meta_agent,hybrid_agent)system_prompt— Configuration object for the agent's system prompttool_names— Array of tool names the agent can accessvalidation_criteria— Array of validation rules for the agentwelcome_message— Initial message displayed when the agent starts
3. Workflows
Define multi-node workflows that orchestrate agents and data flow.
Structure:
{
"workflows": [
{
"workflow_name": "",
"workflow_description": "",
"always_onboard": true,
"workflow_definition": {
"nodes": [
{
"node_id": "",
"node_type": "",
"node_name": "",
"position": { "x": 100, "y": 100 },
"config": {
"input_schema": {
"query": { "type": "string", "raw": null }
},
"description": {
"query": { "text": "The user's chat message" }
}
}
},
{
"node_id": "",
"node_type": "",
"node_name": "",
"position": { "x": 300, "y": 100 },
"config": {
"agent_name": "",
"tool_verifier": false,
"plan_verifier": false,
"accessible_inputs": { "input_keys": ["all"] }
}
},
{
"node_id": "",
"node_type": "",
"node_name": "",
"position": { "x": 500, "y": 100 },
"config": {
"output_schema": {
"message": "text goes in this place",
"code_snippet": "code snippet goes in this place"
}
}
}
],
"edges": [
{
"edge_id": "",
"source_node_id": "",
"target_node_id": ""
},
{
"edge_id": "",
"source_node_id": "",
"target_node_id": ""
}
]
}
}
]
}
Workflow Fields:
workflow_name— Unique identifier for the workflowworkflow_description— Description of the workflow's purposealways_onboard— Boolean flag to control automatic onboardingworkflow_definition— Object containing nodes and edges
Node Configuration:
node_id— Unique identifier for the nodenode_type— Type of node (e.g.,input,agent,output)node_name— Display name for the nodeposition— X/Y coordinates for visual representationconfig— Node-specific configuration (schema, agent settings, etc.)
Edge Configuration:
edge_id— Unique identifier for the connectionsource_node_id— ID of the source nodetarget_node_id— ID of the destination node
4. MCP Tools
Define Model Context Protocol (MCP) tools that agents can use to interact with external services and data sources.
Structure:
{
"mcp_tools": [
{
"tool_name": "",
"tool_description": "",
"mcp_type": "",
"code_content": ""
}
]
}
Fields:
tool_name— Unique identifier for the MCP tooltool_description— Brief description of what the MCP tool doesmcp_type— The MCP server type (e.g.,file,url,module)code_content— Configuration or code content required to connect and run the MCP tool
Usage
- Edit Configuration — Open
src/onboard/sample_data.json - Add Your Data — Insert tools, agents, or workflows into the respective arrays
- Start Server — The onboarding module automatically loads the data on startup
- Verify — Check the database or UI to confirm your sample data was loaded
Best Practice
Keep your sample data organized and well-documented. Use clear naming conventions and descriptions to make the data easy to understand and maintain.
Important
Ensure all referenced tools exist before creating agents that depend on them. Workflows should reference valid agent names.
Viber Agent
The Viber Agent is a built-in AI assistant that is always onboarded by default. It helps users easily create simple AI agents that match their needs — all through natural conversation.
What it does:
- Understands your intent — Interprets what you want to build from plain conversational descriptions or shared documents, without requiring technical specifications.
- Guides you end-to-end — Walks you through the entire agent creation process step by step, from defining the purpose to configuring tools and knowledge.
- Suggests capabilities — Recommends the right tools (abilities) and knowledge bases that best fit the agent you want to create.
Note
The Viber Agent does not need to be added to sample_data.json. It is always available in the platform as a default system agent.