Templates by Stéphane Heckel
Backup n8n workflows with versioning and Notion tracking
Copy n8n workflows to a slave n8n repository Inspired by Alex Kim's workflow, this version adds the ability to keep multiple versions of the same workflow on the destination instance. Each copied workflow’s name is prefixed with the date (YYYYMMDD_), enabling simple version tracking. Process details and workflow counts are recorded centrally in Notion. How it works Workflows from the source n8n instance are copied to the destination using the n8n API node. On the destination, each workflow name is prefixed with the current date (e.g., 20250803_PDF Summarizer), so you can keep multiple daily versions. The workflow tracks and saves: The date of execution. Number of workflows processed. Both details are recorded in Notion. Rolling retention policy example: Day 1: Workflows are saved with 20250803_ prefix. Day 2: New set saved with 20250804_. Day 3: Day 1’s set is deleted, new set saved as 20250805_. To keep more days, adjust the “Subtract From Date” node. How to use Create a Notion database with one page and three fields: sequence: Should contain "prefix". Value: Today's date as YYYYMMDD_. Comment: Number of saved workflows. Configure the Notion node: Enter your Notion credentials. Link to the created database/page. Update the "Subtract From Date" node: Set how many days’ versions you want to keep (default: 2 days). Set the limit to 1 in the "Limit" node for testing. Input credentials for both source and destination n8n instances. Requirements Notion for tracking execution date and workflow count. n8n API Keys for both source and destination instances. Ensure you have the necessary API permissions (read, create, delete workflows) n8n version this workflow was tested on 1.103.2 (Ubuntu) Need Help? Comment this post or contact me on LinkedIn Ask in the Forum!
Automate LinkedIn invitations with Browserflow & Google Sheets tracking
Manage LinkedIn Invitations with Browserflow Automate personalized LinkedIn outreach while maintaining human-like behavior Overview This workflow helps you send targeted LinkedIn invitations with customized messages, automatically checking existing connections to avoid duplicate requests. Perfect for recruiters, sales professionals, and anyone building their professional network systematically. How It Works Contact Management: Store your prospects in a Google Sheet with their LinkedIn profile URLs Connection Verification: Automatically check if you're already connected to avoid duplicate invitations Smart Invitations: Send personalized invitations to new contacts Progress Tracking: Update the Google Sheet with invitation status Setup Instructions Prerequisites Google account with Sheets access Browserflow account with available credits (sign up here) n8n instance (tested on version 1.109.1) Step-by-Step Setup Prepare Your Contact List Download the Google Sheet Template Make a copy to your Google Drive Extract the Sheet ID from your URL (the string between /d/ and /edit) Configure Workflow Settings Open the settings node and enter your Google Sheet ID Customize your invitation message in the message node Set up your Google Sheets credentials Configure your Browserflow credentials Populate Your Data Add contacts to your Google Sheet with their LinkedIn profile URLs Test & Deploy Run a test with 1-2 contacts first (update the Limit node) Monitor execution and adjust Wait if needed Important Considerations Responsible Usage: This tool mimics human behavior and respects LinkedIn's natural usage patterns. It's designed for quality networking, not mass spamming. Rate Limits: Stay within LinkedIn's acceptable limits. Account Safety: Excessive automation can result in LinkedIn restrictions. Always prioritize authentic, valuable connections. Support & Community Need assistance? Here's how to get help: LinkedIn Discussion: Comment on this workflow post Direct Contact: Connect with me on LinkedIn Community Forum: Ask questions in the n8n Community
Sync Google Sheets contacts to SeaTable with update/insert logic
Keep your Google Sheets contacts in sync with SeaTable Update or Insert records in SeaTable How it works Use a Google Sheet as your central contact list. For each contact in the sheet: Check if the record already exists in SeaTable (based on email). If it exists → update the record. If it doesn’t → insert the new contact. How to use Copy the Google Sheet Template Link. Get the Google Sheet ID (the string between d/ and /edit). In the workflow, set the Sheet ID in the settings node. In SeaTable, create or update a base with a Table1 containing these fields: email firstname lastname company Configure your Google Sheets and SeaTable credentials in n8n. Add your own contacts to the Google Sheet & run the workflow Requirements Google credentials (for Sheets access) SeaTable account (Cloud) n8n (tested on version 1.105.2, Ubuntu) Example use cases Maintain a central CRM-like database in SeaTable. Ensure consistent contact data when collecting leads in Google Sheets. Automate record deduplication (prevent duplicate entries). Need Help? Join the discussion here or contact me directly on LinkedIn. Ask the community in the n8n Forum.