by CustomJS
This n8n template shows how to extract selected pages from a generated PDF with the PDF Toolkit by www.customjs.space. @custom-js/n8n-nodes-pdf-toolkit Notice Community nodes can only be installed on self-hosted instances of n8n. What this workflow does Downloads** each PDF using an HTTP Request. Extract** pages from the PDF file as needed. Requirements Self-hosted** n8n instance CustomJS API key** for extracting PDF files. PDF files to be merged** to be converted into a PDF Workflow Steps: Manual Trigger: Runs with user interaction. Download PDF File: Pass urls for PDF files to merge. Extract Pages from PDF: Extract selected pages from a generated PDF Usage Get API key from customJS Sign up to customJS platform. Navigate to your profile page Press "Show" button to get API key Set Credentials for CustomJS API on n8n Copy and paste your API key generated from CustomJS here. Design workflow A Manual Trigger for starting workflow. HTTP Request Nodes for downloading PDF files. Extract Pages from PDF. You can replace logic for triggering and returning results. For example, you can trigger this workflow by calling a webhook and get a result as a response from webhook. Simply replace Manual Trigger and Write to Disk nodes. Perfect for Taking a note of specific pages from PDF files. Splitting PDF file into multiple parts.
by ConvertAPI
Who is this for? For developers and organizations that need to convert PDF files to PDFA for long term archiving. What problem is this workflow solving? The file format conversion problem. What this workflow does Downloads the PDF file from the web. Converts the PDF file to PDFA. Stores the PDFA file in the local file system. How to customize this workflow to your needs Open the HTTP Request node. Adjust the URL parameter (all endpoints can be found here). Add your secret to the Query Auth account parameter. Please create a ConvertAPI account to get an authentication secret. Optionally, additional Body Parameters can be added for the converter.
by Harshil Agrawal
Note: This workflow uses the internal API which is not official. This workflow might break in the future. The workflow executes every night at 23:59. You can configure a different time bin the Cron node. Configure the GitHub nodes with your username, repo name, and the file path. In the HTTP Request nodes (making a request to localhost:5678), create Basic Auth credentials with your n8n instance username and password.
by Airtop
About The ICP Person Scoring Automation Sorting through lists of potential leads manually to determine who's truly worth your sales team's time isn't just tedious, it's incredibly inefficient. Without proper qualification, your team might spend hours pursuing prospects who aren't the right fit for your product, while ideal customers slip through the cracks. How to Automate Identifying Your Ideal Customers With this automation, you'll learn how to automatically score and prioritize leads using data extracted directly from LinkedIn profiles via Airtop's built-in integration with n8n. By the end, you'll have a fully automated workflow that analyzes prospects and calculates an Ideal Customer Profile (ICP) score, helping your sales team focus on high-potential opportunities. What You'll Need A free Airtop API key A copy of this Google Sheets Understanding the Process This automation transforms how you qualify and prioritize leads by extracting real-time, accurate information directly from LinkedIn profiles. Unlike static databases that quickly become outdated, this workflow taps into the most current professional information available. The workflow in this template: Uses Airtop to extract comprehensive LinkedIn profile data Analyzes the data to calculate an ICP score based on AI interest, technical depth, and seniority Updates your Google Sheet with the enriched data and the ICP score Person ICP Scoring Workflow Our person-focused workflow evaluates individual LinkedIn profiles to determine how well they match your ideal customer profile by: Extracting data for each individual Analyzing their profile to determine seniority and technical depth The system then automatically calculates an ICP score based on the following criteria: AI Interest: beginner-5 pts, intermediate-10 pts, advanced-25 pts, expert-35 pts Technical Depth: basic-5 pts, intermediate-15 pts, advanced-25 pts, expert-35 pts Seniority Level: junior-5 pts, mid-level-15 pts, senior-25 pts, executive-30 pts Setting Up Your Automation Here's how to get started: Configure your connections Connect your Google Sheets account Add your Airtop API key (obtain from the Airtop dashboard) Set up your Google Sheet Ensure your Google Sheet has the necessary columns for input data and result fields Ensure that columns Linkedin_URL_Person and ICP_Score_Person exist at least Configure the Airtop module Set up the Airtop module to use the appropriate LinkedIn extraction prompt Use our provided prompt that extracts individual profile data Customization Options While our templates work out of the box, you might want to customize them for your specific needs: Modify the ICP scoring criteria: Adjust the point values or add additional criteria specific to your business Add notification triggers: Set up Slack or email notifications for high-value leads that exceed a certain ICP threshold Implement batch processing: Modify the workflow to process leads in batches to optimize performance Add conditional logic: Create different scoring models for different industries or product lines Integrate with your CRM: Integrate this automation with your preferred CRM to get the details added automatically for you Real-World Applications Here's how businesses are using this automation: AI Sales Platform: A B2B AI company could implement this workflow to process their trade show lead list of contacts. Within hours, they can identify the top 50 prospects based on ICP score. SaaS Analytics Tool: A SaaS company could implement LinkedIn enrichment to identify which companies fit best. The automation processes weekly leads and categorizes them into high, medium, and low priority tiers, allowing their sales team to focus on the most promising opportunities first. Best Practices To get the most out of this automation: Review and refine your ICP criteria quarterly: What constitutes an ideal customer may evolve as your product and market develop Create tiered follow-up processes: Develop different outreach strategies based on ICP score ranges Perform regular data validation: Periodically check the accuracy of the automated scoring against your actual sales results What's Next? Now that you've automated your ICP scoring with LinkedIn data, you might be interested in: Setting up automated outreach sequences based on ICP score thresholds Creating custom reporting dashboards to track conversion rates by ICP segment Expanding your scoring model to include additional data sources Implementing lead assignment automation based on ICP scores Happy automating!
by Solomon
Based on Jonathan's work. Check out his templates. This workflow will backup your credentials to GitHub. It uses a CLI command to export all credentials. It then loops over the data, checks in GitHub to see if a file exists that uses the credential's ID. Once checked it will: update the file on GitHub if it exists; create a new file if it doesn't exist; ignore if it's the same. Config Options repo.owner - Github owner repo.name - Github repository name repo.path - Path within the Github repository ⚠ The credentials are all decrypted. Make sure you save them safely or tweak the CLI command to store them encrypted.== Check out my other templates 👉 https://n8n.io/creators/solomon/
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.