Validate GitHub configurations with GPT-4o-mini and log issues to sheets and Slack
๐ Description
Ensure your GitHub repositories stay configuration-accurate and documentation-compliant with this intelligent AI-powered validation workflow. ๐ค This automation monitors repository updates, compares configuration files against documentation references, detects inconsistencies, and alerts your team instantlyโstreamlining DevOps and compliance reviews. โก
What This Template Does
- Step 1: Triggers automatically on GitHub push or pull_request events. ๐
- Step 2: Fetches both configuration files (config/app-config.json and faq-config.json) from the repository. ๐
- Step 3: Uses GPT-4o-mini to compare configurations and detect mismatches, missing keys, or deprecated fields. ๐ง
- Step 4: Categorizes issues by severityโcritical, high, medium, or lowโand generates actionable recommendations. ๐จ
- Step 5: Logs all discrepancies to Google Sheets for tracking and audit purposes. ๐
- Step 6: Sends Slack alerts summarizing key issues and linking to the full report. ๐ฌ
Key Benefits
โ Prevents production incidents due to config drift โ Ensures documentation stays in sync with code changes โ Reduces manual review effort with AI-driven validation โ Improves team response with Slack-based alerts โ Maintains audit logs for compliance and traceability
Features
- Real-time GitHub webhook integration
- AI-powered config comparison using GPT-4o-mini
- Severity-based issue classification
- Automated Google Sheets logging
- Slack alerts with detailed issue context
- Error handling for malformed JSON or parsing issues
Requirements
- GitHub OAuth2 credentials with repo and webhook permissions
- OpenAI API key (GPT-4o-mini or compatible model)
- Google Sheets OAuth2 credentials
- Slack API token with chat:write permissions
Target Audience
- DevOps teams ensuring consistent configuration across environments
- Engineering leads maintaining documentation accuracy
- QA and Compliance teams tracking configuration changes and risks
Setup Instructions
- Create GitHub OAuth2 credentials and enable webhook access.
- Connect your OpenAI API key under credentials.
- Add your Google Sheets and Slack integrations.
- Update file paths (config/app-config.json and faq-config.json) if your repo uses different names.
- Activate the workflow โ it will start validating on every push or PR. ๐
Validate GitHub Configurations with GPT-4o Mini and Log Issues to Sheets and Slack
This n8n workflow automates the process of validating GitHub repository configurations using an AI agent (GPT-4o Mini), logging any identified issues to Google Sheets, and notifying a Slack channel. It's designed to help maintain consistent and secure configurations across your GitHub repositories.
What it does
- Triggers on GitHub Events: The workflow is triggered by specific events in your GitHub organization or repositories (e.g., new repository, configuration changes).
- Fetches Repository Information: It retrieves detailed configuration data for the relevant GitHub repository.
- Prepares Data for AI Analysis: Uses a Code node to format the GitHub repository data into a structured prompt for the AI agent.
- Analyzes Configurations with AI (GPT-4o Mini): An AI Agent (configured with an OpenAI Chat Model and Simple Memory) evaluates the GitHub configuration against best practices or predefined rules. It uses a Structured Output Parser to extract findings.
- Filters for Issues: It identifies if the AI agent found any issues or suggestions based on its analysis.
- Logs Issues to Google Sheets: If issues are found, they are appended as new rows to a specified Google Sheet, including details like the repository name, issue description, and suggested remediation.
- Notifies Slack Channel: Simultaneously, a message is posted to a designated Slack channel, alerting the team about the identified GitHub configuration issues.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running n8n instance (cloud or self-hosted).
- GitHub Account & Credential: An n8n credential for GitHub with appropriate permissions to read repository configurations and listen to events.
- OpenAI API Key: An API key for OpenAI (specifically for GPT-4o Mini or a similar chat model) configured as an n8n credential.
- Google Sheets Account & Credential: An n8n credential for Google Sheets with access to the target spreadsheet.
- Slack Account & Credential: An n8n credential for Slack with permissions to post messages to a channel.
Setup/Usage
-
Import the Workflow:
- Download the provided JSON workflow.
- In your n8n instance, go to "Workflows" and click "New".
- Click the "Import from JSON" button and paste the workflow JSON or upload the file.
-
Configure Credentials:
- Locate the GitHub, OpenAI Chat Model, Google Sheets, and Slack nodes.
- For each, select or create the necessary credentials:
- GitHub: Authenticate with your GitHub account.
- OpenAI Chat Model: Provide your OpenAI API Key. Ensure the model is set to
gpt-4o-minior your preferred model. - Google Sheets: Authenticate with your Google account. Specify the "Spreadsheet ID" and "Sheet Name" where issues should be logged.
- Slack: Authenticate with your Slack workspace. Specify the "Channel" where notifications should be sent.
-
Configure GitHub Trigger:
- Open the "Github Trigger" node.
- Select the "Resource" (e.g.,
Repository) and "Events" (e.g.,Push,Repository). You might want to focus on events related to repository settings or new repository creation for configuration validation. - Specify the "Repository" or "Organization" to monitor.
-
Customize AI Prompt (Code Node):
- Review the "Code" node. This node constructs the prompt sent to the AI. You may want to adjust the prompt to include specific configuration checks or compliance standards relevant to your organization.
-
Activate the Workflow:
- Once all credentials and configurations are set, click the "Activate" toggle in the top right corner of the n8n editor to enable the workflow.
Now, whenever a configured GitHub event occurs, the workflow will automatically validate the repository's configuration, log issues to Google Sheets, and send a Slack notification.
Related Templates
AI-powered code review with linting, red-marked corrections in Google Sheets & Slack
Advanced Code Review Automation (AI + Lint + Slack) Whoโs it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting โ all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0โ10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your teamโs channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow โ reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why itโs valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n โ combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your teamโs review history transparent and centralized.
Track daily moods with AI analysis & reports using GPT-4o, Data Tables & Gmail
Track your daily mood in one tap and receive automated AI summaries of your emotional trends every week and month. Perfect for self-reflection, wellness tracking, or personal analytics. This workflow logs moods sent through a webhook (/mood) into Data Tables, analyzes them weekly and monthly with OpenAI (GPT-4o), and emails you clear summaries and actionable recommendations via Gmail. โ๏ธ How It Works Webhook โ Mood โ Collects new entries (๐, ๐, or ๐ฉ) plus an optional note. Set Mood Data โ Adds date, hour, and note fields automatically. Insert Mood Row โ Stores each record in a Data Table. Weekly Schedule (Sunday 20:00) โ Aggregates the last 7 days and sends a summarized report. Monthly Schedule (Day 1 at 08:00) โ Aggregates the last 30 days for a deeper AI analysis. OpenAI Analysis โ Generates insights, patterns, and 3 actionable recommendations. Gmail โ Sends the full report (chart + AI text) to your inbox. ๐ Example Auto-Email Weekly Mood Summary (last 7 days) ๐ 5 โโโโโโโโโโ ๐ 2 โโโโ ๐ฉ 0 Average: 1.7 (Positive ๐) AI Insights: Youโre trending upward this week โ notes show that exercise days improved mood. Try keeping short walks mid-week to stabilize energy. ๐งฉ Requirements n8n Data Tables enabled OpenAI credential (GPT-4o or GPT-4 Turbo) Gmail OAuth2 credential to send summaries ๐ง Setup Instructions Connect your credentials: Add your own OpenAI and Gmail OAuth2 credentials. Set your Data Table ID: Open the Insert Mood Row node and enter your own Data Table ID. Without this, new moods wonโt be stored. Replace the email placeholder: In the Gmail nodes, replace your.email@example.com with your actual address. Deploy and run: Send a test POST request to /mood (e.g. { "mood": "๐", "note": "productive day" }) to log your first entry. โ ๏ธ Before activating the workflow, ensure you have configured the Data Table ID in the โInsert Mood Rowโ node. ๐ง AI Analysis Interprets mood patterns using GPT-4o. Highlights trends, potential triggers, and suggests 3 specific actions. Runs automatically every week and month. ๐ Security No personal data is exposed outside your n8n instance. Always remove or anonymize credential references before sharing publicly. ๐ก Ideal For Personal mood journaling and AI feedback Therapists tracking client progress Productivity or self-quantification projects ๐๏ธ Sticky Notes Guide ๐ก Mood Logging Webhook POST /mood receives mood + optional note. โ ๏ธ Configure your own Data Table ID in the โInsert Mood Rowโ node before running. ๐ข Weekly Summary Runs every Sunday 20:00 โ aggregates last 7 days โ generates AI insights + emails report. ๐ต Monthly Summary Runs on Day 1 at 08:00 โ aggregates last 30 days โ creates monthly reflection. ๐ฃ AI Analysis Uses OpenAI GPT-4o to interpret trends and recommend actions. ๐ Email Delivery Sends formatted summaries to your inbox automatically.
IT ops AI SlackBot workflow - chat with your knowledge base
Video Demo: Click here to see a video of this workflow in action. Summary Description: The "IT Department Q&A Workflow" is designed to streamline and automate the process of handling IT-related inquiries from employees through Slack. When an employee sends a direct message (DM) to the IT department's Slack channel, the workflow is triggered. The initial step involves the "Receive DMs" node, which listens for new messages. Upon receiving a message, the workflow verifies the webhook by responding to Slack's challenge request, ensuring that the communication channel is active and secure. Once the webhook is verified, the workflow checks if the message sender is a bot using the "Check if Bot" node. If the sender is identified as a bot, the workflow terminates the process to avoid unnecessary actions. If the sender is a human, the workflow sends an acknowledgment message back to the user, confirming that their query is being processed. This is achieved through the "Send Initial Message" node, which posts a simple message like "On it!" to the user's Slack channel. The core functionality of the workflow is powered by the "AI Agent" node, which utilizes the OpenAI GPT-4 model to interpret and respond to the user's query. This AI-driven node processes the text of the received message, generating an appropriate response based on the context and information available. To maintain conversation context, the "Window Buffer Memory" node stores the last five messages from each user, ensuring that the AI agent can provide coherent and contextually relevant answers. Additionally, the workflow includes a custom Knowledge Base (KB) tool (see that tool template here) that integrates with the AI agent, allowing it to search the company's internal KB for relevant information. After generating the response, the workflow cleans up the initial acknowledgment message using the "Delete Initial Message" node to keep the conversation thread clean. Finally, the generated response is sent back to the user via the "Send Message" node, providing them with the information or assistance they requested. This workflow effectively automates the IT support process, reducing response times and improving efficiency. To quickly deploy the Knowledge Ninja app in Slack, use the app manifest below and don't forget to replace the two sample urls: { "display_information": { "name": "Knowledge Ninja", "description": "IT Department Q&A Workflow", "background_color": "005e5e" }, "features": { "bot_user": { "display_name": "IT Ops AI SlackBot Workflow", "always_online": true } }, "oauth_config": { "redirect_urls": [ "Replace everything inside the double quotes with your slack redirect oauth url, for example: https://n8n.domain.com/rest/oauth2-credential/callback" ], "scopes": { "user": [ "search:read" ], "bot": [ "chat:write", "chat:write.customize", "groups:history", "groups:read", "groups:write", "groups:write.invites", "groups:write.topic", "im:history", "im:read", "im:write", "mpim:history", "mpim:read", "mpim:write", "mpim:write.topic", "usergroups:read", "usergroups:write", "users:write", "channels:history" ] } }, "settings": { "event_subscriptions": { "request_url": "Replace everything inside the double quotes with your workflow webhook url, for example: https://n8n.domain.com/webhook/99db3e73-57d8-4107-ab02-5b7e713894ad", "bot_events": [ "message.im" ] }, "orgdeployenabled": false, "socketmodeenabled": false, "tokenrotationenabled": false } }