Repository of templates and connectors for Machina Sports - a platform for creating AI-powered sports content workflows.
This repository is organized into two main directories:
The connectors directory contains all the connectors used by the templates. Each connector follows a standardized naming convention:
- Directory name:
connectors/{connector-name} - Main files:
{connector-name}.{extension}
The agent-templates directory contains all the agent templates, organized by categories:
- Reporter templates (e.g.,
reporter-briefing-en,reporter-image,reporter-polls-en) - Sport-specific templates (e.g.,
sportingbet-nba,sportradar-soccer) - Brand-specific templates (e.g.,
template-estelarbet,template-quizzes-dazn) - General templates (e.g.,
template-gameday,chat-completion)
The repository follows these naming conventions:
Connectors use simple, descriptive names without prefixes:
openai(previouslysdk-openai)groq(previouslysdk-groq)perplexity(previouslyapi-perplexity)sportradar-soccer(previouslyapi-sportradar-soccer)
Environment variables use the $MACHINA_CONTEXT_VARIABLE_ prefix followed by the service name:
$MACHINA_CONTEXT_VARIABLE_OPENAI_API_KEY$MACHINA_CONTEXT_VARIABLE_GROQ_API_KEY$MACHINA_CONTEXT_VARIABLE_PERPLEXITY_API_KEY$MACHINA_CONTEXT_VARIABLE_SPORTRADAR_SOCCER_V4_API_KEY
To install a template:
- Choose a template from the
agent-templatesdirectory - Make sure the required connectors are installed from the
connectorsdirectory - Configure the necessary environment variables in your Machina environment
- Import the template workflows into your Machina instance
The repository includes a wide range of templates for various sports content workflows:
reporter-summary: Generate game summariesreporter-briefing-en/es: Create pre-game briefings in English/Spanishreporter-polls-en/es: Generate interactive polls in English/Spanishreporter-quizzes-en/es: Create sports quizzes in English/Spanishreporter-image: Generate sports-related imagesreporter-websearch: Research web content for sports eventsreporter-recap-pt-br: Create post-game recaps in Portuguese
sportingbet-nba: NBA-specific content workflowssportradar-soccer: Soccer data processing workflowstemplate-superbowl-lix: NFL Super Bowl specific templateskingpool-fantasy: Fantasy sports content
template-estelarbet: Templates for Estelarbet brandtemplate-quizzes-dazn: Quiz templates for DAZNsportingbet-blog: Blog content for Sportingbet
chat-completion: Generic chat completion workflowstemplate-gameday: Game day content generationtemplate-quizzes: Generic sports quiz templates
The repository includes connectors for various services:
openai: OpenAI API integrationgroq: Groq API integrationperplexity: Perplexity API for web searchgoogle-vertex: Google Vertex AI integrationstability: Stability AI for image generation
sportradar-soccer: Soccer data APIsportradar-nba: NBA data APIsportradar-nfl: NFL data APIsportradar-rugby: Rugby data APIsportingbet: Sports betting data
storage: Data storage connectormachina-db: Database connectorexa-search: Search functionalitydocling: Document processing
workflow:
name: "workflow-name"
title: "Workflow Title"
description: "Workflow description"
context-variables:
openai:
api_key: "$MACHINA_CONTEXT_VARIABLE_OPENAI_API_KEY"
sportradar-soccer:
sportradar_api_key: "$MACHINA_CONTEXT_VARIABLE_SPORTRADAR_SOCCER_V4_API_KEY"
inputs:
event_code: "$.get('event_code') or None"
outputs:
workflow-status: "$.get('event-exists') is not True and 'skipped' or 'executed'"
tasks:
# Task definitionsTo contribute to this repository:
- Follow the established naming conventions
- Ensure all environment variables use the
$MACHINA_CONTEXT_VARIABLE_prefix - Document your templates and connectors thoroughly
- Test your workflows before submitting