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.,
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-templates
directory - Make sure the required connectors are installed from the
connectors
directory - 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-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 definitions
To 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