Skip to content

Onboarding Agent Template

The Onboarding Agent is one of the templates available in Studio's Agent Templates marketplace. It is not installed automatically — you pick and install it into a project like any other template. This page is a behind-the-scenes look at how it's built, useful both if you install it as-is and as a reference for building your own agents.

Key Features

Data Synchronization
Automatically sync sports data from multiple providers (NBA, NFL, MLB, NHL, Soccer).
Chat Assistance
Interactive chat interface for answering developer questions during onboarding.
Content Generation
Generate team summaries, game previews, and other content from synchronized data.
Scheduled Tasks
Automate recurring tasks with configurable scheduler agents.

Implementation Guide

This section covers how the template is built and configured. Understanding these components will help you customize it after installing, or use it as a reference for building your own agents.

1. Installation

The template is installed using the _install.yml manifest:

yaml
setup:
  title: "Machina Studio Onboarding"
  description: AI-powered onboarding for Machina Studio.
  category:
    - special-templates
  estimatedTime: 5 minutes
  features:
    - AI Agent to onboard new developers.
    - AI Reporter to generate onboarding materials.
  integrations:
    - sportradar

2. Folder Structure

The template creates a standard folder structure for organizing your data:

yaml
- Catalogue: Game schedules and sports data
- Chat Threads: User messages and conversations
- Embeddings: AI-generated content snippets

3. Data Synchronization

Configure data synchronization for different sports leagues:

NBA Team Sync

yaml
workflow:
  name: "sync-nba-team"
  title: "Sync NBA Team"
  description: "Workflow to sync nba team."
  inputs:
    team_id: "$.get('team_id') or None"
  tasks:
    - type: "connector"
      name: "task-load-team-events"
      connector:
        name: "sportradar-nba"
        command: "get-teams/{team_id}/{data_type}"
        command_attribute:
          team_id: "$.get('team_id')"
          data_type: "'profile.json'"

Soccer Team Sync

yaml
workflow:
  name: "sync-soccer-team"
  title: "Sync Soccer Team"
  description: "Workflow to sync soccer team."
  inputs:
    team_id: "$.get('team_id') or None"

4. Chat Processing

The template includes a thread executor for processing chat messages:

yaml
workflow:
  name: "thread-executor"
  title: "Thread Executor"
  description: "Workflow to execute a thread."
  tasks:
    # Load pending thread
    - type: "document"
      name: "load-pending-thread"
      config:
        action: "search"
        search-limit: 1
        search-vector: false
    
    # Generate response using AI
    - type: "prompt"
      name: "thread-executor-prompt"
      connector:
        name: "machina-ai-fast"
        command: "invoke_prompt"
        model: "llama-3.3-70b-versatile"

5. Scheduler Configuration

Set up schedulers to automate recurring tasks:

yaml
agent:
  name: "scheduler-thread"
  title: "Thread Executor Scheduler"
  description: "Scheduler responsible for thread executor."
  context:
    config-frequency: 0.03  # Runs every ~2 seconds
  workflows:
    - name: "thread-executor"
      description: "Workflow Thread Executor"

Customization Options

Once installed, the agent comes pre-configured with default settings, but you can customize it in numerous ways to better suit your development needs:

Data Sources

  • Configure different Sportradar connectors based on your sports focus
  • Add custom data sources by creating new connector configurations

AI Models

  • Switch between different language models:
    • google-genai / gemini-2.5-pro on Vertex AI for highest quality responses
    • google-genai / gemini-2.5-flash for a cheaper, faster tier
    • machina-ai-fast / llama-3.3-70b-versatile (Groq) for fastest processing — what the template ships with
  • The template's prompt tasks keep alternative models commented out inline, ready to swap in.

Sync Frequency

  • Adjust scheduler frequencies based on your data freshness requirements
  • Configure different schedules for different data types

Content Generation

  • Customize prompt schemas to generate different types of content
  • Modify mapping configurations to transform data for your specific needs

Sample Workflows

This template already includes these pre-configured workflows that you can study, modify, or use as templates for creating new ones:

  • chat-completions.yml: Process chat messages and generate responses
  • thread-executor.yml: Execute chat threads with context-aware responses
  • sync-nba-team.yml: Synchronize NBA team data
  • sync-soccer-team.yml: Synchronize soccer team data
  • embed-nba.yml: Generate embeddings for NBA content
  • soccer-embeddings.yml: Generate embeddings for soccer content

You can view and edit these workflows directly in your project to see how they're implemented.

Next Steps

Now that you understand how this template is built, you can:

  • Customize It After Installing: Modify the workflows, connectors, and prompts to better suit your specific needs
  • Create New Specialized Agents: Use the principles demonstrated in this template to build additional agents for different purposes
  • Explore Advanced Features: Dive deeper into Workflows to understand how to enhance your agent's capabilities
  • Add Data Sources: Learn about Connectors to integrate additional sports data providers
  • Transform Data: Review Mappings to process and transform data for your specific use cases
  • Enhance Content Generation: See Prompts to improve the quality and relevance of AI-generated content

This template is just one starting point for what's possible with Machina Sports. Use this knowledge to build more sophisticated agents that can automate your sports data workflows and content generation needs.