Fetch Dynamic Prompts from GitHub and Auto-Populate n8n Expressions in Prompt
Who Is This For?
This workflow is designed for AI engineers, automation specialists, and content creators who need a scalable system to dynamically manage prompts stored in GitHub. It eliminates manual updates, enforces required variable checks, and ensures that AI interactions always receive fully processed prompts.
π What Problem Does This Solve?
Manually managing AI prompts can be inefficient and error-prone. This workflow:
β
Fetches dynamic prompts from GitHub
β
Auto-populates placeholders with values from the setVars node
β
Ensures all required variables are present before execution
β
Processes the formatted prompt through an AI agent
π How This Workflow Works
This workflow consists of three key branches, ensuring smooth prompt retrieval, variable validation, and AI processing.
1οΈβ£ Retrieve the Prompt from GitHub (HTTP Request β Extract from File β SetPrompt)
The workflow starts manually or via an external trigger.
It fetches a text-based prompt stored in a GitHub repository.
The Extract from File Node retrieves the content from the GitHub file.
The SetPrompt Node stores the prompt, making it accessible for processing.
π Note:
The prompt must contain n8n expression format variables (e.g., {{ $json.company }}) so they can be dynamically replaced.
2οΈβ£ Extract & Auto-Populate Variables (Check All Prompt Vars β Replace Variables)
A Code Node scans the prompt for placeholders in the n8n expression format ({{ $json.variableName }}).
The workflow compares required variables against the setVars node:
β
If all variables are present, it proceeds to variable replacement.
β If any variables are missing, the workflow stops and returns an error listing them.
The Replace Variables Node replaces all placeholders with values from setVars.
π Example of a properly formatted GitHub prompt:
Hello {{ $json.company }}, your product {{ $json.features }} launches on {{ $json.launch_date }}.
This ensures seamless replacement when processed in n8n.
3οΈβ£ AI Processing & Output (AI Agent β Prompt Output)
The Set Completed Prompt Node stores the final, processed prompt.
The AI Agent Node (Ollama Chat Model) processes the prompt.
The Prompt Output Node returns the fully formatted response.
π Optional: Modify this to use OpenAI, Claude, or other AI models.
β οΈ Error Handling: Missing Variables
If a required variable is missing, the workflow stops execution and provides an error message:
β οΈ Missing Required Variables: ["launch_date"]
This ensures no incomplete prompts are sent to AI agents.
β
Example Use Case
π GitHub Prompt File (Using n8n Expressions)
Hello {{ $json.company }}, your product {{ $json.features }} launches on {{ $json.launch_date }}.
πΉ Variables in setVars Node
{
"company": "PropTechPro",
"features": "AI-powered Property Management",
"launch_date": "March 15, 2025"
}
β
Successful Output
Hello PropTechPro, your product AI-powered Property Management launches on March 15, 2025.
π¨ Error Output (If Missing launch_date)
β οΈ Missing Required Variables: ["launch_date"]
π§ Setup Instructions
1οΈβ£ Connect Your GitHub Repository
Store your prompt in a public or private GitHub repo.
The workflow will fetch the raw file using the GitHub API.
2οΈβ£ Configure the SetVars Node
Define the required variables in the SetVars Node.
Make sure the variable names match those used in the prompt.
3οΈβ£ Test & Run
Click Test Workflow to execute.
If variables are missing, it will show an error.
If everything is correct, it will output the fully formatted prompt.
β‘ How to Customize This Workflow
π‘ Need CRM or Database Integration?
Connect the setVars node to an Airtable, Google Sheets, or HubSpot API to pull variables dynamically.
π‘ Want to Modify the AI Model?
Replace the Ollama Chat Model with OpenAI, Claude, or a custom LLM endpoint.
π Why Use This Workflow?
β
No Manual Updates Required β Fetches prompts dynamically from GitHub.
β
Prevents Broken Prompts β Ensures required variables exist before execution.
β
Works for Any Use Case β Handles AI chat prompts, marketing messages, and chatbot scripts.
β
Compatible with All n8n Deployments β Works on Cloud, Self-Hosted, and Desktop versions.