by Harshil Agrawal
This workflow allows you to send position updates of the ISS every minute to a queue using the AWS SQS node. Cron node: The Cron node will trigger the workflow every minute. HTTP Request node: This node will make a GET request to the API https://api.wheretheiss.at/v1/satellites/25544/positions to fetch the position of the ISS. This information gets passed on to the next node in the workflow. Set node: We will use the Set node to ensure that only the data that we set in this node gets passed on to the next nodes in the workflow. AWS SQS: This node will send the data from the previous node to the iss-position queue. If you have created a queue with a different one, you can use that queue instead.
by Daniel Ng
Auto Backup n8n Workflows to Google Drive Imagine the sinking feeling: hours, weeks, or even months of meticulous work building your n8n workflows, suddenly gone. A server crash, an accidental deletion, data corruption, or an unexpected platform issue – and all your automated processes vanish. Without a reliable backup system, you're facing a complete rebuild from scratch, a scenario that's not just frustrating but can be catastrophic for business operations. Furthermore, consider the daunting task of migrating your n8n instance to a new host or server. Manually exporting each workflow, one by one, then painstakingly importing them into the new environment is not only incredibly time-consuming, especially if you have tens or hundreds of workflows, but also highly prone to errors and omissions. You need a systematic, automated solution. This workflow provides a robust solution for automatically backing up all your n8n workflows to Google Drive on schedule (default to every hour). It creates a uniquely named folder for each backup instance, incorporating the date and hour, and then systematically uploads each workflow as an individual JSON file. To manage storage space, the workflow also includes a cleanup mechanism that deletes backup folders older than a user-defined retention period (defaulting to 7 days). Ideally, this backup workflow should be used in conjunction with a restore solution like our "Restore Workflows from Google Drive Backups" template. For more powerful n8n templates, visit our website or contact us at AI Automation Pro. We help your business build custom AI workflow automation and apps. Feature highlights Triggers on schedule (default to hourly). Creates a \n8n\_backup\_YYYY-MM-DD\_HH\ folder in Google Drive. Fetches all n8n workflows. Saves each workflow as a JSON file to the new folder. Deletes backup folders older than the 'Coverage Period' (default to 7 days). Who is this for? This template is designed for: n8n Administrators and Developers:** Who need a reliable, automated system to safeguard their workflows against accidental loss, corruption, or system issues. Proactive n8n Users:** Who want to maintain a version history of their workflows, enabling easy rollback to previous configurations if necessary. Organizations:** Seeking to implement disaster recovery and data integrity practices for their n8n automation infrastructure. What problem is this workflow solving? / use case This workflow directly addresses these critical risks and challenges by: Automating Backups:** Eliminates the manual effort and inconsistency of ad-hoc backups, ensuring your workflows are regularly and reliably saved. Preventing Data Loss:** Safeguards your valuable automation assets against unforeseen disasters by creating secure, versioned copies in Google Drive. Facilitating Migration & Recovery:** Provides the foundational backups needed for a smoother, more systematic migration or a full disaster recovery, allowing you to restore your operations efficiently. Version Control:** By storing scheduled backups (defaulting to hourly), it allows you to access and restore previous versions of your workflows, offering an undo capability for significant changes or corruptions. Storage Management:** Automatically removes old backups based on a configurable retention period, preventing excessive use of Google Drive storage while keeping a relevant history. What this workflow does Scheduled Trigger: Runs automatically every hour. Timestamping: Fetches the current date and hour to create a unique name for the backup folder. Folder Creation: Creates a new folder in a specified Google Drive location. The folder is named in the format: n8n_backup_YYYY-MM-DD_HH. Workflow Retrieval: Connects to your n8n instance via its API and fetches a list of all existing workflows. Individual Backup: Processes each workflow one by one: Converts the workflow data to a binary JSON file. Uploads the JSON file (named after the workflow) to the hourly backup folder in Google Drive. Includes a short wait step between uploads to respect potential API rate limits. Old Backup Deletion: Calculates a cut-off date based on the "Coverage Period" set in the "Settings" node (e.g., 7 days prior to the current date). Searches Google Drive for backup folders (matching the naming convention) that are older than this cut-off date. Deletes these identified old backup folders to free up storage space. Step-by-step setup Import Template: Upload the provided JSON file into your n8n instance. Configure Credentials: Google Drive Nodes: You will need to create or select existing Google Drive OAuth2 API credentials for these nodes. n8n Node: n8n (node that fetches workflows) Configure n8n API credentials to allow the workflow to access your instance's workflow data. Specify Google Drive Backup Location: Open the "Google Drive Backup Folder Every Hour" node. Under the "Drive ID" parameter: select it from the list or provide its ID. Under the "Folder ID" parameter: select or input the ID of the parent folder in Google Drive where you want the n8n_backup_YYYY-MM-DD_HH folders to be created (e.g., a general "n8n\_Backups" folder). Set Backup Retention Period: Open the "Settings" node. Modify the value for "Coverage Period" (default is 7). This number represents the number of days backups should be kept before being deleted. Activate Workflow: Toggle the "Active" switch for the workflow in your n8n dashboard. How to customize this workflow to your needs Backup Frequency:* Adjust the "Rule" in the *"Schedule Trigger"** node to change the backup interval (e.g., daily, specific times). Folder/File Naming:* Modify the expressions in the "Parameters" tab of the *"Google Drive Backup Folder Every Hour"* node (for folder name) or the *"Google Drive Upload Workflows"** node (for file name) if you require a different naming convention. Targeted Backups:* To back up only specific workflows, insert a "Filter" node after the *"n8n"** node to filter workflows based on criteria like name, tags, or ID before they reach the "Move Binary Data" node. Wait Time:* The *"Wait"** node is set to 3 seconds between uploads. If you have a very large number of workflows or encounter rate limiting, you might adjust this duration. Error Workflow:** The workflow is pre-configured with an "Error Workflow" setting. Ensure this error workflow exists in your n8n instance, or update the setting to point to your preferred error handling workflow. This can be used to send notifications on failure. Important Considerations Resource Usage:** While the workflow includes a wait step between individual workflow uploads to minimize load, backing up an extremely large number of workflows could still consume resources on your n8n instance and make many API calls to Google Drive. Monitor performance if you have thousands of workflows. Testing Restore Process**: Regularly test restoring a few workflows from your Google Drive backups using the companion "Restore All n8n Workflows from Google Drive" template or a manual import. This verifies the integrity of your backups and ensures you can recover when needed. Workflow Modifications**: If you modify this backup workflow (e.g., change the folder naming convention), ensure your restore process or workflow is also updated to match these changes.
by Harshil Agrawal
This workflow demonstrates the use of $runIndex expression. It demonstrates how the expression can be used to avoid an infinite loop. The workflow will create 5 Tweets with the content 'Hello from n8n!'. You can use this workflow by replacing the Twitter node with any other node(s) and updating the condition in the IF node.
by PiAPI
What does the workflow do? This workflow is designed to generate high-quality short videos, primarily uses GPT-4o-mini (unofficial), Midjourney (unofficial) and Kling (unofficial) APIs from PiAPI and Creatomate API mainly for content creator, social media bloggers and short-form video creators. Through this short video workflow, users can quickly validate their creative ideas and focus more on enhancing the quality of their video concepts. Who is the workflow for? Social Media Influencers: produce content videos based on inspiration efficiently. Vloggers: generate vlogs based on inspiration. Educational Creators: explain specific topics via animated short videos or demonstrate a specific imagined scenario to students for enhanced educational impact. Advertising Agencies: generate short videos based on specific products. AI Tool Developers: automatically generate product demo videos. Step-by-step Instructions Fill in X-API-key of PiAPI account in Basic Params node. Fill in the scenario of the image and video prompt. Set a video template on Creatomate and make an API call in the final node with core and processing modules provided in Creatomate. Before full video generation, you can first use basic assets in Creatomate for a prototype demo, then integrate with n8n after verifying the expected results. Fill in your Creatomate account settings following the image guildline. Click Test Workflow and wait for a generation (within 10~20min). In this workflow, we've established a basic structure for image-to-video generation with subtitle integration. You can further enhance it by adding music nodes using either PiAPI's audio models or your preferred music solution. All video elements will ultimately be composited through Creatomate. For best practice, please refer to PiAPI's official API documentation or Creatomate's API documentation to comprehend more use cases. Use Case Params Settings style: a children’s book cover, ages 6-10. --s 500 --sref 4028286908 --niji 6 character: A gentle girl and a fluffy rabbit explore a sunlit forest together, playing by a sparkling stream situational_keywords: Butterflies flutter around them as golden sunlight filters through green leaves. Warm and peaceful atmosphere Output Video
by Lucas Perret
This node is designed to cleanse URLs and extract their domain names efficiently. It effectively handles a wide range of URL formats, including those with unconventional or complex top-level domains (TLDs), such as 'co.uk'. You can also use it to extract the domain from an email. The node will also check if the domain is from a free email provider (gmail.com / outlook.com...etc) or not. How It Works The node analyzes the provided URL, removing any unnecessary elements. It then identifies and extracts the domain name, ensuring compatibility with a diverse array of TLDs. The node utilizes an extensive list of TLDs to guarantee accurate domain extraction for virtually any URL. To view the complete list of supported top-level domains, please visit: TLD List on GitHub How to use it Call this workflow using the "execute workflow" node You can pass either an email variable or a url variable. For email, the node also detect free mail provider such as Yahoo / Google...etc
by Davide
This workflow allows users to convert a 2D image into a 3D model by integrating multiple AI and web services. The process begins with a user uploading or providing an image URL, which is then sent to a generative AI model capable of interpreting the content and generating a 3D representation in .glb format. The model is then stored and a download link is returned to the user. Main Steps Trigger Node: Initiates the workflow either via HTTP request, webhook, or manual execution. Image Upload or Input: The image is acquired via direct upload or URL input. API Integration: The image is sent to a 3D generation API (e.g., a service like Kaedim, Luma Labs, or a custom AI model). Model Generation: The external API processes the image and creates a 3D model. File Storage: The resulting 3D model is stored in cloud storage (e.g., S3, Google Drive, or a local server). Response to User: A download link for the 3D model is returned to the user via the same communication channel (HTTP response, email, or chat). Advantages Automation**: Eliminates the need for manual 3D modeling, saving time for artists, developers, and designers. AI-Powered**: Leverages AI to generate realistic and usable 3D models from simple 2D inputs. Scalability**: Can be triggered automatically and scaled up to handle many requests via n8n's automation. Integration-Friendly**: Easily extendable with other services like Discord, Telegram, or marketplaces for 3D assets. No-Code Configuration**: Built with n8n’s visual interface, making it editable without programming knowledge. How It Works Trigger: The workflow can be started manually ("When clicking ‘Test workflow’") or automatically at scheduled intervals ("Schedule Trigger"). Data Retrieval: The "Get new image" node fetches data from a Google Sheet, including the model image, product image, and product ID. 3D Image Creation: The "Create 3D Image" node sends the image data to the Fal.run API (Trellis) to generate a 3D model. Status Check: The workflow periodically checks the request status ("Get status" and "Wait 60 sec.") until the job is marked as "COMPLETED." Result Processing: Once completed, the 3D model URL is retrieved ("Get Url 3D image"), the file is downloaded ("Get File 3D image"), and uploaded to Google Drive ("Upload 3D Image"). Sheet Update: The final 3D model URL is written back to the Google Sheet ("Update result"). Set Up Steps Prepare Google Sheet: Create a Google Sheet with columns: IMAGE MODEL and 3D RESULT (empty). Example sheet: Google Sheet Template. Obtain Fal.run API Key: Sign up at Fal.ai and get an API key. Configure the Authorization header in the "Create 3D Image" node with Key YOURAPIKEY. Configure Workflow Execution: Run manually via the Test workflow button. For automation, set up the Schedule Trigger node (e.g., every 5 minutes). Verify Credentials: Ensure Google Sheets, Google Drive, and Fal.run API credentials are correctly set in n8n. Once configured, the workflow processes new entries in the Google Sheet, generates 3D models, and updates the results automatically. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Dmitry Mikheev
Telegram Rich Output Helper Workflow Who is this for? Builders of Telegram chat‑bots, AI assistants, or notification services who already run n8n and need to convert long, mixed‑media answers from an LLM (or any upstream source) into Telegram‑friendly messages. Prerequisites A Telegram bot created with @BotFather. The bot’s HTTP API token saved as a Telegram API credential in n8n. n8n ≥ 1.0 with the built‑in Telegram node still installed. A parent workflow that calls this one via Execute Workflow and passes: chatId — the destination chat ID (integer). output — a string that can contain plain text and HTTP links to images, audio, or video. What the workflow does Extract Links – A JavaScript Code node scans output, deduplicates URLs, and classifies each by file extension. Link Path If no media links exist, the text path is used. Otherwise, each link is routed through a Switch node that triggers the correct Telegram call (sendPhoto, sendAudio, sendVideo) so users get inline previews or players. Text Path An IF node checks whether the remaining text exceeds Telegram’s 1 000‑character limit. When it does, a Code node slices the text at line boundaries; SplitInBatches then sends the chunks sequentially so nothing is lost. All branches converge, keeping the whole exchange inside one execution. Customisation tips Adjust the character limit** – edit the first expression in “If text too long”. Filter/enrich links** – extend the regex or add MIME checks before dispatch. Captions & keyboards** – populate additionalFields in the three “Send back” nodes. Throughput vs. order* – tweak the batch size in both *SplitInBatches** nodes. With this template in place, your users receive the complete message, playable media, and zero manual formatting – all within Telegram’s API limits.
by Sirhexalot
This n8n workflow enables you to export data from Zammad, including Users, Roles, Groups, and Organizations, into individual Excel files. It simplifies data handling and reporting by creating structured outputs for further processing or sharing. Features Export Users with associated details such as email, firstname, lastname, role_ids, and group_ids. Export Roles and Organizations with their respective identifiers and names. Convert all data into separate Excel files for easy access and use. Usage Import this workflow into your n8n instance. Configure the required Zammad API credentials (zammad_base_url and zammad_api_key) in the Basic Variables node. Run the workflow to generate Excel files containing Zammad data. Issues and Suggestions If you encounter any issues or have suggestions for improvement, please report them on the GitHub repository. We appreciate your feedback to help enhance this workflow!
by Zacharia Kimotho
What problem is this workflow solving? This workflow is aimed for email marketing enthusiasts looking for an easy way to either extract the domain from an email ad also check if the syntax is correct without having to use the code node. How this works For this to work, replace the debugger node with your actual data source. Map your data at match the above layout Run your workflow and check for all the emails that are either valid or not Once done, you will have a list of all your emails, domains, and whether they are valid or not.
by Harshil Agrawal
This workflow allows you to receive a Mattermost message when meeting notes get added to the Notion. Prerequisites Create a table in Notion similar to this: Meeting Notes Follow the steps mentioned in the documentation, to create credentials for the Notion Trigger node. Create create credentials for Mattermost. Notion Trigger: The Notion Trigger node will trigger the workflow when new data gets added to Notion. IF node: This node will check if the notes belong to the team Marketing. If the team is Marketing the node will true, otherwise false. Mattermost node: This node will send a message about the new data in the channel 'Marketing' in Mattermost. If you have a different channel, use that instead. You can even replace the Mattermost node with nodes of other messaging platforms, like Slack, Telegram, Discord, etc. NoOp node: Adding this node here is optional, as the absence of this node won't make a difference to the functioning of the workflow.
by Manu
This workflow will take all emails you put into a certain folder, upload any attachements to Nextcloud, and mark the emails as read (configurable). Attachements will be saved with automatically generated filenames: 2021-01-01_From-Sender-Name_Filename-of-attachement.pdf Instructions: Allow lodash to be used in n8n (or rewrite the code...) NODE_FUNCTION_ALLOW_EXTERNAL=lodash (environment variable) Import workflow Set credentials for Email & Nextcloud nodes Configure to use correct folder / custom filters Activate Custom filter examples: Only unread emails: Custom Email Config = ["UNSEEN"] Filter emails by 'to' address: Custom Email Config = [["TO", "example+invoices@posteo.de"]]
by Recrutei Automações
What This Workflow Does This workflow automates the candidate nurturing process, solving the common problem of candidates losing interest or "ghosting" after an application. It keeps them engaged and informed by sending a personalized, multi-channel (WhatsApp & Gmail) sequence of follow-up messages over their first week. The automation triggers when a new candidate is added to your ATS (e.g., via a Recrutei webhook). It then uses AI to generate a custom 3-part message (for Day 1, Day 3, and Day 7) tailored to the candidate's age and the specific job they applied for, ensuring a professional and empathetic experience that strengthens your employer brand. How it Works Trigger: A Webhook node captures the new candidate data from your Applicant Tracking System (ATS) or form. Data Preparation: Two Code nodes clean the incoming data. The first (Separating information) extracts key fields and formats the phone number. The second (Extract age) calculates the candidate's age from their birthday to be used by the AI. AI Content Generation: The workflow sends the candidate's details (name, age, job title) to an AI model (AI Recruitment Assistant). The AI has a detailed system prompt to generate three distinct messages for Day 1 (Thank You), Day 3 (Friendly Reminder), and Day 7 (Final Reinforcement), adapting its tone based on the candidate's age. Split Messages: A Code node (Separating messages per days) receives the single text block from the AI and splits it into three separate variables (day1, day3, day7). Day 1 Send: The workflow immediately sends the day1 message via both Gmail and WhatsApp (configured for Evolution API). Day 3 Send: A "Wait" node pauses the workflow for 2 days, after which it sends the day3 message. Day 7 Send: Another "Wait" node pauses for 4 more days, then sends the final day7 message, completing the 7-day nurturing sequence. Setup Instructions This workflow is plug-and-play once you configure the following 5 steps: Webhook Node: Copy the Test URL from the Webhook node and configure it in your ATS (e.g., Recrutei) or form builder to trigger whenever a new candidate is added. Run one test submission to make the data structure visible to n8n. AI Credentials: In the AI Recruitment Assistant node, select or create your OpenAI API credential. MCP Credential (Optional): If you use a Recrutei MCP, paste your endpoint URL into the MCP Recrutei node. Gmail Credentials: In all three Message Gmail nodes (Day 1, 3, 7), select or create your Gmail (OAuth2) credential. Optional: In the same nodes, go to Options and change the Sender Name from your_company to your actual company name. WhatsApp (Evolution API): This template is pre-configured for the Evolution API. In all three Message WhatsApp nodes (Day 1, 3, 7), you must: URL: Replace {server-url} and {instance} with your Evolution API details. Headers: In the "Header Parameters" section, replace your_api_key with your actual Evolution API key.