by Bao Duy Nguyen
Who is this for? This template is ideal for developers, DevOps engineers, and automation managers who manage their n8n workflows using GitHub. It helps teams streamline their CI/CD automation by syncing changes from GitHub directly into n8n after a pull request (PR) is merged. What problem is this workflow solving? Manually restoring workflows after reviewing and merging code in GitHub can be tedious and error-prone. This workflow solves that by automating the restore process, ensuring that any new or updated workflow committed to your GitHub repo is automatically imported into your n8n environment. What this workflow does Triggers when a GitHub pull request is closed and merged. Fetches the details of the merge commit. Retrieves the list of added and modified workflow files. Downloads and decodes each workflow file. Creates or updates** the corresponding workflow in your n8n instance automatically. Setup Connect GitHub: Use the GitHub Trigger node and configure GitHub API credentials. Note: I'd recommended to use GitHub PAT (Personal Access Token) classic with repo and admin:repo_hook permission scopes enabled. Connect n8n API: Provide your n8n API credentials in the n8n nodes. - Check this doc Set repository variables: Update github_owner and repo_name in the Define Local Variables node. Enable webhook: Make sure your GitHub repository has a webhook for pull_request events pointing to this workflow. How to customize this workflow to your needs Modify filters to handle only certain branches or file paths. Add Slack or email notifications to confirm successful imports. Insert logging or version tagging for better traceability. Extend with conditional logic for workflow testing before applying changes. This automated flow provides a seamless CI/CD loop between GitHub and n8n, empowering teams to manage workflow versioning efficiently and securely.
by Jimleuk
This n8n workflow demonstrates how to automate indexing of images to build a object-based image search. By utilising a Detr-Resnet-50 Object Classification model, we can identify objects within an image and store these associations in Elasticsearch along with a reference to the image. How it works An image is imported into the workflow via HTTP request node. The image is then sent to Cloudflare's Worker AI API where the service runs the image through the Detr-Resnet-50 object classification model. The API returns the object associations with their positions in the image, labels and confidence score of the classification. Confidence scores of less the 0.9 are discarded for brevity. The image's URL and its associations are then index in an ElasticSearch server ready for searching. Requirements A Cloudflare account with Workers AI enabled to access the object classification model. An ElasticSearch instance to store the image url and related associations. Extending this workflow Further enrich your indexed data with additional attributes or metrics relevant to your users. Use a vectorstore to provide similarity search over the images.
by Allan Daemon
This creates a git backup of the workflows and credentials. It uses the n8n export command with git diff, so you can run as many times as you want, but only when there are changes they will create a commit. Setup You need some access to the server. Create a repository in some remote place to host your project, like Github, Gitlab, or your favorite private repo. Clone the repository in the server in a place that the n8n has access. In the example, it's the ., and the repository name is repo. Change it in the commands and in the workflow commands (you can set it as a variable in the wokflow). Checkout to another branch if you won't use the master one. cd . git clone repository Or you could git init and then add the remote (git remote add origin YOUR_REPO_URL), whatever pleases you more. As the server, check if everything is ok for beeing able to commit. Very likely you'll need to setup the user email and name. Try to create a commit, and push it to upstream, and everything you need (like config a user to comit) will appear in way. I strong suggest testing with exporting the commands to garantee it will work too. cd ./repo git commit -c "Initial commmit" --allow-empty -u is the same as --set-upstream git push -u origin master Testing to push to upstream with the first exported data npx n8n export:workflow --backup --output ./repo/workflows/ npx n8n export:credentials --backup --output repo/credentials/ cd ./repo git add . git commit -c "manual backup: first export" git push After that, if everything is ok, the workflow should work just fine. Adjustments Adjust the path in used in the workflow. See the the git -C PATH command is the same as cd PATH; git .... Also, adjust the cron to run as you need. As I said in the beginning, you can run it even for every minute, but it will create commits only when there are changes. Credentials encryption The default for exporting the credentials is to do them encrypted. You can add the flag --decrypted to the n8n export:credentials command if you need to save them in plain. But as general rule, it's better to save the encryption key, that you only need to do that once, and them export it safely encrypted.
by Simone Smerilli
This workflow is especially suitable for founders and operators offering services to their clients and regularly scheduling sales or project update meetings. How it works When a booking is created, rescheduled, or canceled in cal.com, this workflow syncs the meeting and contact data into Notion. When a new booking is scheduled: Creates a meeting in the dedicated Notion database. Here we can customize all the information to include on the meeting page (e.g., mapping the answers to custom questions). Finds the Contact(s) in the dedicated Notion database (based on the email). If the Contact(s) exists, it links the contact(s) to the newly created meeting. If the Contact(s) doesn’t exist, it creates the contact(s) and links them to the newly created meeting. When a booking is rescheduled: The automation finds the event in Notion (based on the “cal id” property) It updates the event date and time in Notion When a booking is cancelled: The automation deletes the event in Notion (i.e., it archives the page, which remains available in the Trash for 30 days) Requirements A Cal account and API key. A Notion account and connection with access to all the databases involved (Meetings, Contacts). Find all your connections, manage their access, or create a new connection on your Notion Integrations page. A Meetings and Contacts database in Notion, both accessible by the Integration (see step 2 above). The database names don't matter. You will input your database IDs in the workflow. Find a Notion database ID in the URL between the slash characters. Notion database column specifications In the Meetings database, these are required properties: Event time (date) cal id (text) Contacts (relation) Name In the Contacts database, these are required properties: Name Email Meetings (relation) Read the essay and watch the video for a detailed walkthrough.
by Sirhexalot
This workflow facilitates seamless synchronization between Entra (Microsoft Azure AD) and Zammad. It automates the following processes: Fetch Entra Contacts: Create Universal User Object: Extracts key user information, such as email, phone, and name, and formats it for Zammad compatibility. Synchronize with Zammad: Identifies users in Zammad who need updates based on Entra data. Adds new users from Entra to Zammad. Deactivates users in Zammad if they are no longer in Entra. Key Features Dynamic Matching**: Compares contacts from Entra with existing Zammad users based on email and updates records accordingly. Efficient Management**: Automatically creates, updates, or deactivates Zammad users based on their status in Entra. Custom Fields**: Supports custom field mapping, ensuring enriched user profiles in Zammad. Setup Instructions Microsoft Entra Integration: Ensure proper API permissions for accessing Entra contacts. Configure Microsoft OAuth2 credentials in n8n. Zammad Integration: Set up Zammad API credentials with appropriate access rights. Customize the workflow to include additional fields or map existing fields as needed. Run Workflow: Trigger the workflow manually or set up an automation schedule (e.g., daily sync). Review created/updated/deactivated users in Zammad. Use Cases IT Administration**: Keep your support system in sync with the organization’s Entra data. Customer Management**: Ensure accurate and up-to-date user records in Zammad. Prerequisites Access to an Entra (Azure AD) environment with contacts data. A Zammad instance with API credentials for user management. A custom field in Zammad User Object (entra_key) of type String. A custom field in Zammad User Object (entra_object_type) of type `Single selection field with two key value pairs user = User contact = Contact` This workflow is fully customizable and can be adapted to your organization’s specific needs. Save time and reduce manual errors by automating your user sync process with this template! If you have found an error or have any suggestions, please report them here on Github.
by Juan Carlos Cavero Gracia
Description This automation template is designed for Instagram marketers, influencers, and businesses looking to supercharge their Instagram engagement strategy. It automatically monitors Instagram post comments and sends personalized direct messages (DMs) to new commenters, while maintaining a smart tracking system to prevent duplicate messages. The workflow runs continuously, checking for new comments every 15 minutes and responding instantly to maintain high engagement rates. Note: This workflow uses the upload-post.com API for Instagram interactions and Google Sheets for contact tracking. The workflow is configured to monitor a specific Instagram post* Who Is This For? Instagram Marketers & Influencers:** Automatically engage with every commenter by sending personalized DMs with valuable content, links, or offers. E-commerce Businesses:** Convert Instagram comments into sales opportunities by instantly sending product links, discount codes, or catalog information via DM. Content Creators & Coaches:** Build deeper relationships with your audience by automatically reaching out to commenters with additional resources, course links, or exclusive content. Social Media Managers:** Scale client engagement without manual monitoring, ensuring no potential lead or follower interaction goes unnoticed. What Problem Does This Workflow Solve? Manually monitoring Instagram comments and sending follow-up DMs is time-consuming and often leads to missed opportunities. This workflow addresses these challenges by: Automated Comment Monitoring:** Continuously checks for new comments on your specified Instagram post every 15 minutes. Smart Duplicate Prevention:** Uses Google Sheets to track already contacted users, preventing spam and maintaining professional communication. Instant Response System:** Sends personalized DMs immediately when new comments are detected, maximizing engagement while the interaction is fresh. Scalable Engagement:** Handles multiple commenters simultaneously without manual intervention, perfect for viral posts or high-engagement content. Comprehensive Tracking:** Maintains detailed logs of all interactions including timestamps, usernames, and message content for analytics and follow-up. How It Works Post Configuration: Set your Instagram post URL, reply message, and profile username in the configuration node. Comment Monitoring: The workflow fetches all comments from your specified Instagram post using the upload-post.com API. Smart Filtering: Compares new comments against your Google Sheets database to identify users who haven't been contacted yet. Automated DM Sending: Sends personalized direct messages to new commenters with your configured message. Contact Tracking: Records each successful interaction in Google Sheets with comment ID, username, message sent, timestamp, and post URL. Continuous Monitoring: Automatically repeats the process every 15 minutes using the built-in scheduler. Setup Upload-Post API Credentials: Create an account at upload-post.com connect your Instagram account and add your API credentials to the HTTP request nodes. Google Sheets Setup: Create a Google Sheet with columns: comment_id, username, message_sent, timestamp, post_url Connect your Google account to the Google Sheets nodes Update the document ID in the "Read Contacted Users" and "Record Contacted User" nodes Instagram Post Configuration: In the "Configure Post & Message" node, update: postUrl: Your Instagram post URL to monitor replyMessage: The DM message to send to commenters profileUsername: Your Upload-post profile username Monitoring Schedule: The workflow is set to run every 15 minutes. You can adjust this in the "Schedule Trigger" node based on your needs. Requirements Accounts:** n8n, upload-post.com, Google (for Sheets access), Instagram business account. API Keys & Credentials:** Upload-post.com API token, Google Sheets OAuth2 credentials. Instagram Setup:** Business/Creator account with API access through upload-post.com. Features Duplicate Prevention:** Advanced comment ID tracking prevents sending multiple DMs to the same user Error Handling:** Robust error handling for API failures and edge cases Detailed Logging:** Comprehensive console logging for debugging and monitoring Flexible Configuration:** Easy to modify for different posts, messages, and monitoring intervals Success Tracking:** Monitors both successful and failed DM attempts for analytics Use this template to transform your Instagram engagement strategy, automatically converting every comment into a potential lead or deeper connection while maintaining professional communication standards.
by n8n Team
This workflow combines customers' details with their payment data and passes the input to Pipedrive as a note to the organization. Prerequisites Stripe account and Stripe credentials Pipedrive account and Pipedrive credentials How it works Cron node triggers the workflow every day at 8 a.m. HTTP Request node searches for payments in Stripe. The Item Lists node creates separate items from a list of payment data. Merge node takes in the payment data as an input 1. Stripe node gets all the customers data. Set node renames customer-related data fields and keeps only needed fields. Merge node takes in the customer data as an input 2. Merge node combines the payment data with the customers one. Pipedrive node searches for the organization and creates a note with payment data.
by Gain FLow AI
Meeting Prep: Automated Meeting Attendee Enrichment Overview This workflow automates the process of gathering critical information about your meeting attendees right after they book a meeting. Whether they book through Calendly or Cal.com, this workflow extracts key details, uses Apollo.io to enrich their profiles with company and contact data, and logs everything into a Google Sheet for easy access. This ensures you're always prepared with relevant insights before every meeting. Use Case This workflow is perfect for: Sales Professionals**: Get instant insights into prospects' companies, roles, and social presence before calls. Customer Success Teams**: Understand your clients' business context to provide more tailored support. Recruiters**: Gather comprehensive candidate information ahead of interviews. Consultants**: Prepare for client meetings with a deeper understanding of their organization and industry. Anyone who takes meetings**: Save time on manual research and ensure you always have the data you need to make a great impression. How It Works Meeting Booking Trigger: The workflow springs into action the moment a new meeting is booked. It supports two popular scheduling platforms: Calendly: Triggers when an invitee.created event occurs. Cal.com: Triggers on a BOOKING_CREATED event. Extract Initial Data: From the booking event, the workflow extracts essential information like the attendee's name, email, company, and any notes provided during scheduling. Log Initial Entry: It immediately logs these initial details into your designated Google Sheet ("Meeting Prep" spreadsheet). This ensures a record exists, even if further enrichment isn't possible. Generate Apollo Query: Using the extracted name and company, the workflow dynamically builds a search URL for Apollo.io. This query is designed to find the most relevant person and company profiles on Apollo. Enrich with Apollo.io: The generated Apollo URL is then used to scrape Apollo.io via an Apify Scraper. This step attempts to pull extensive data, including job title, location, phone numbers, company size, industry, website URL, and social media profiles (LinkedIn, Twitter, Facebook, Github) for both the person and their company. A conditional check verifies if data was successfully retrieved from Apollo. Update Google Sheet: If data is available from Apollo: The Google Sheet entry is updated with all the rich, newly found information, changing the status to "Enriched". If data is not available: The Google Sheet entry's status is updated to "Info Not Available," clearly indicating that manual research might be needed. How to Set It Up To set up this powerful meeting prep workflow, follow these steps: Get Your API Keys: Calendly: Obtain your Calendly API key for the "Calendly Trigger" node. Cal.com: Get your Cal.com API key for the "Cal.com Trigger1" node. Apify: You'll need an Apify API token. Replace <YOURAPIKEY> in the "Scrape Apollo" node's URL with your actual Apify token. Google Sheet Setup: Copy the Template: Make a copy of the provided Google Sheet Template ("Meeting Prep") into your own Google Drive. This template has the necessary columns for enriched data. Connect Google Sheets: Ensure your Google Sheets OAuth2 API credentials are set up in n8n and linked to the "Google Sheets1" and "Google Sheets2" nodes. Update Sheet IDs: In both "Google Sheets1" and "Google Sheets2" nodes, update the documentId with the ID of your copied "Meeting Prep" Google Sheet. Import the Workflow: Import the provided workflow JSON into your n8n instance. Activate and Test: Once all credentials and sheet IDs are configured, activate the workflow. Test it by booking a new meeting through your connected Calendly or Cal.com account. Watch as your Google Sheet automatically populates with detailed attendee information! This workflow will dramatically cut down on your meeting preparation time, allowing you to focus on more strategic conversations.
by Yaron Been
Workflow Overview This cutting-edge n8n workflow is a powerful automation tool designed to revolutionize how content creators and marketers engage with YouTube channels. By leveraging AI and the YouTube Data API, this workflow automatically: Discovers New Content: Monitors a specific YouTube channel Retrieves the latest video in real-time Checks for new uploads at regular intervals Generates Intelligent Comments: Uses advanced AI (OpenAI's GPT models) to analyze video metadata Crafts contextually relevant, human-like comments Ensures each comment feels organic and engaging Seamless Deployment: Automatically posts the AI-generated comment directly on the video Eliminates manual interaction Increases potential channel visibility and engagement Key Benefits 🤖 Full Automation: No manual comment writing required 💡 Smart Contextual Comments: AI understands video content ⏱️ Time-Saving: Instant engagement without human intervention 📈 Potential Increased Visibility: Regular, intelligent interactions Setup Requirements YouTube Data API Credentials Obtain a Google Cloud API key Configure channel ID you want to target Set up OAuth2 authentication for comment posting OpenAI API Access Create an OpenAI account Generate an API key for comment generation Select preferred GPT model (GPT-4o, GPT-3.5, etc.) n8n Installation Install n8n (cloud or self-hosted) Import the workflow configuration Configure API credentials Set up scheduling preferences Potential Use Cases Content Creators monitoring competitor channels Marketing teams maintaining online presence Social media managers automating engagement Researchers tracking specific YouTube channels Future Enhancements Logging comment history Dynamic OAuth2 token management Multi-channel support Sentiment analysis for comment generation Connect With Me Got questions? Want to dive deeper? 📧 Email: Yaron@nofluff.online 🎥 YouTube: @YaronBeen 💼 LinkedIn: Yaron Been **Unlock the power of AI-driven YouTube engagement – automate, optimize, and amplify your online# Automate YouTube Engagement with GPT-4o Generated Comments Workflow Overview This n8n automation leverages AI to streamline YouTube channel engagement, providing a sophisticated solution for content interaction. By combining the YouTube Data API and OpenAI's GPT-4o, the workflow: Intelligent Content Discovery: Dynamically monitors specified YouTube channels Real-time detection of new video uploads Configurable monitoring intervals AI-Powered Comment Generation: Utilizes GPT-4o for contextual analysis Generates nuanced, platform-appropriate comments Ensures authentic, relevant interactions Automated Engagement: Seamlessly posts AI-crafted comments Enhances channel visibility Reduces manual social media management Key Benefits 🤖 Advanced Automation: AI-driven engagement 💡 Contextual Intelligence: GPT-4o powered insights ⏱️ Efficiency Optimization: Instant, scalable interactions 📈 Strategic Visibility: Consistent, meaningful channel presence Detailed Setup Instructions Prerequisites n8n instance (cloud or self-hosted) YouTube Data API access OpenAI API key Target YouTube channel(s) Configuration Steps YouTube Data API Setup Create a Google Cloud project Enable YouTube Data API v3 Generate OAuth2 credentials Store credentials securely in n8n OpenAI API Configuration Create OpenAI account Generate API key Select GPT-4o model Configure API key in n8n credentials Workflow Customization Replace placeholder channel IDs Adjust monitoring frequency Customize AI prompt for comment generation Configure OAuth2 authentication Workflow Customization Options Modify AI prompt to match specific content styles Add keyword filters for video selection Implement multi-channel support Create custom engagement rules Potential Use Cases Content creator audience engagement Brand social media management Community interaction automation Research and monitoring Ethical Considerations Maintain transparency about AI-generated comments Respect platform guidelines Avoid spam or misleading interactions Ensure comments add genuine value Future Enhancement Roadmap Advanced sentiment analysis Multi-language support Engagement performance tracking Adaptive comment generation Security Best Practices Never hardcode API keys Use n8n's credential management Implement secure OAuth2 authentication Regularly rotate API credentials Technical Requirements n8n v0.220.0 or higher YouTube Data API v3 OpenAI API access Stable internet connection Workflow Architecture [YouTube Channel Trigger] ⬇️ [Fetch Latest Video] ⬇️ [AI Comment Generation] ⬇️ [Post Comment] #YouTubeAutomation #AIEngagement #ContentMarketing #SocialMediaTech #GPT4Automation #WorkflowInnovation #AIComments #DigitalMarketing Connect With Me Exploring AI-Powered Social Media Automation? 📧 Email: Yaron@nofluff.online 🎥 YouTube: @YaronBeen 💼 LinkedIn: Yaron Been Transform your YouTube engagement with intelligent, responsible automation! Note: This workflow template is a starting point. Always customize and test thoroughly in your specific environment.
by Trey
This workflow will archive your Spotify Discover Weekly playlist to an archive playlist named "Discover Weekly Archive" which you must create yourself. If you want to change the name of the archive playlist, you can edit value2 in the "Find Archive Playlist" node. It is configured to run at 8am on Mondays, a conservative value in case you forgot to set your GENERIC_TIMEZONE environment variable (see the docs here). Special thanks to erin2722 for creating the Spotify node and harshil1712 for help with the workflow logic. To use this workflow, you'll need to: Create then select your credentials in each Spotify node Create the archive playlist yourself Optionally, you may choose to: Edit the archive playlist name in the "Find Archive Playlist" node Adjust the Cron node with an earlier time if you know GENERIC_TIMEZONE is set Setup an error workflow like this one to be notified if anything goes wrong
by Oneclick AI Squad
This automated n8n workflow delivers an instant DevOps toolkit by installing Docker, K3s, Jenkins, Grafana, and more on a Linux server within 10 seconds. It optimizes performance, enhances security, and provides ready-to-use templates for DevOps projects. Main Components Configure Parameters** - Defines server details, tool versions, and credentials System Preparation** - Updates the system and installs base packages Install Docker** - Deploys Docker Engine and Docker Compose Install Kubernetes** - Sets up K3s cluster with kubectl, Helm, and k9s Install Jenkins** - Configures Jenkins CI/CD server with Docker integration Install Monitoring** - Deploys Prometheus and Grafana using Helm charts Create DevOps User** - Establishes a dedicated user with appropriate permissions Security Configuration** - Implements firewall, VS Code, and Terraform Final Configuration** - Sets up sample projects and configuration files Setup Complete** - Provides a summary and access details Essential Prerequisites Linux server with SSH access Root-level administrative privileges Customization Guide Adjust tool versions or credentials in the Configure Parameters node Modify the number of nodes or security settings as needed Features 🔧 Core DevOps Tools Installed: Docker - Container platform with Docker Compose Kubernetes - K3s (lightweight) with kubectl and Helm Jenkins - CI/CD automation server Prometheus - Monitoring and alerting Grafana - Visualization and dashboards ⚡ Optimizations Made: Streamlined Commands - Combined multiple operations into single bash scripts Reduced Nodes - 10 nodes vs 12 in original (more efficient) Better Error Handling - Each step includes verification Cloud-Ready - Includes AWS CLI, Azure CLI, and Google Cloud SDK Security First - Proper firewall configuration and user permissions Parameters to Configure server_host: Your Linux server IP address server_user: SSH username (typically 'root') server_password: SSH password docker_version: Docker version to install k3s_version: K3s version to install username: DevOps username user_password: Password for the DevOps user How to Use Copy the JSON code from the artifact Open your n8n workspace Select "Import from JSON" or "+" → "From JSON" Paste the JSON code Configure parameters in the "Configure Parameters" node with your server details Run the workflow Workflow Actions Install: Deploys Docker, K3s, Jenkins, Prometheus, and Grafana with optimizations Create User: Sets up a DevOps user with necessary permissions Configure: Applies security settings and provides templates
by Mutasem
Use Case Track all Linear tickets in Google sheets. Useful if you want to do some custom analysis but don't want to pay for Linear's Plus features (Linear Insights) or that it does not cover. Setup Add Linear API header key Add Google sheets creds Update which teams to get tickets from in Graphql Nodes Update which Google Sheets page to write all the tickets to You only need to add one column, id, in the sheet. Google Sheets node in automatic mapping mode will handle adding the rest of the columns. Set any custom data on each ticket Activate workflow 🚀 How to adjust this template Set any custom fields you want to get out of this, that you can quickly do in n8n.