Skip to content

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 tool
  • tool_description — Brief description of what the tool does
  • code_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 agent
  • agentic_application_description — High-level description of the agent's purpose
  • agentic_application_workflow_description — Detailed workflow explanation
  • agentic_application_type — Agent template type (e.g., react_agent, meta_agent, hybrid_agent)
  • system_prompt — Configuration object for the agent's system prompt
  • tool_names — Array of tool names the agent can access
  • validation_criteria — Array of validation rules for the agent
  • welcome_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 workflow
  • workflow_description — Description of the workflow's purpose
  • always_onboard — Boolean flag to control automatic onboarding
  • workflow_definition — Object containing nodes and edges

Node Configuration:

  • node_id — Unique identifier for the node
  • node_type — Type of node (e.g., input, agent, output)
  • node_name — Display name for the node
  • position — X/Y coordinates for visual representation
  • config — Node-specific configuration (schema, agent settings, etc.)

Edge Configuration:

  • edge_id — Unique identifier for the connection
  • source_node_id — ID of the source node
  • target_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 tool
  • tool_description — Brief description of what the MCP tool does
  • mcp_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

  1. Edit Configuration — Open src/onboard/sample_data.json
  2. Add Your Data — Insert tools, agents, or workflows into the respective arrays
  3. Start Server — The onboarding module automatically loads the data on startup
  4. 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.