by Kev
Automatically create and publish ready-to-post social media news updates — all powered by AI. This workflow turns any RSS feed into professional, branded posts, complete with visuals and captions. Use cases include automating news updates, sharing industry insights, or maintaining an active social presence without manual work. Good to know Fully automated end-to-end publishing — from RSS feed to social post Uses JsonCut for dynamic image composition (backgrounds, text overlays, logos) Publishes directly to Instagram (or other channels) via Blotato Utilizes OpenAI GPT-5 for post text and image prompt generation Polling mechanism checks job status every 3 seconds Setup time: under 10 minutes once credentials are in place How it works The RSS Trigger monitors any RSS feed for new content. OpenAI GPT-5 rewrites the headline and creates a short, social-friendly post caption. An AI image prompt is generated to match the article’s topic and mood. JsonCut combines the background, logo, and headline text into a branded image. Once the image is ready, Blotato uploads and publishes the post directly to Instagram (or other connected platforms). The process runs completely automatically — no human input required after setup. How to use Import the workflow into your n8n instance. Configure your RSS feed URL(s). Add your JsonCut, Blotato, and OpenAI credentials. Activate the workflow — it will automatically generate and post new content whenever your RSS source updates. Requirements Free account at jsoncut.com Account at blotato.com (paid service — can be replaced with any social media API or publishing platform) API keys for both services: JsonCut API Key via app.jsoncut.com Blotato API Key via www.blotato.com OpenAI credential** (GPT-5 or compatible model) RSS Feed URL** (e.g. from a news site, blog, or press page) Setup steps Sign up for a free account at app.jsoncut.com. If you use Blotato, create an account at blotato.com and generate an API key. In n8n, add: JsonCut API Key (HTTP Header Auth, header: x-api-key) Blotato API credential (optional — can be replaced) OpenAI credential for GPT-5 Replace the example RSS URL in the RSS Feed Trigger node with your own. Activate the workflow — it will start monitoring, generating, and posting automatically. Customising this workflow You can easily adjust: The image layout and branding (in the “Create JsonCut Job” node) The tone or length of social captions (in the “Create Instagram Text” node prompt) The publishing platform — replace Blotato with another integration (e.g. Buffer, Hootsuite, or native social API) Posting frequency via the RSS trigger interval For advanced customization, check out: JsonCut Documentation JsonCut Image Generation Examples Blotato Website n8n Documentation
by V3 Code Studio
How it works This workflow provides an API endpoint /api/v1/get-companies that retrieves company records directly from your Odoo database. It’s built for teams who need to query or export company data — either as structured JSON for integrations or as Excel (.xlsx) for reporting. When a request is made, the workflow: Accepts query parameters (name, response_format). Validates the name input (required for company search). Fetches all matching companies from Odoo using a like filter for partial name matches. Returns results as a JSON response or Excel file depending on the response_format parameter. This makes it ideal for quickly exporting or syncing company information with other tools. Setup steps Open the Webhook node and note the endpoint /api/v1/get-companies. Connect your Odoo API credentials in the Odoo node. Optionally update the fieldsList in the Odoo node to include more company details (VAT, address, etc.). Test using a browser or Postman: /api/v1/get-companies?name=Tech&response_format=json /api/v1/get-companies?name=Tech&response_format=excel
by Francisco Rivera
What this template does Connect a Vapi AI voice agent to Google Calendar to capture contact details and auto-book appointments. The agent asks for name, address, service type, and a preferred time. The workflow checks availability and either proposes times or books the slot—no code needed. How it works (node map) Webhook: Production URL = VAPI Server URL — receives tool calls from Vapi and returns results. CONFIGURATION (EDIT ME)** — your timezone, work hours, meeting length, buffers, and cadence. Route by Tool Name** — routes Vapi tool calls: checkAvailability → calendar lookup path bookAppointment → create event path Get Calendar Events (EDIT ME)** — reads events for the requested day. Calculate Potential Slots / Filter for Available Slots** — builds conflict-free options with buffers. Respond with Available Times — returns formatted slots to Vapi. Book Appointment in Calendar (EDIT ME)** — creates the calendar event with details. Booking Confirmation** — returns success back to Vapi. > Sticky notes in the canvas show exactly what to edit (required by n8n). No API keys are hardcoded; Google uses OAuth credentials. Requirements n8n (Cloud or self-hosted) Google account with Calendar (OAuth credential in n8n) Vapi account + one Assistant Setup (5 minutes) A) Vapi → n8n connection Open the Webhook node and copy the Production URL. In Vapi → Assistant → Messaging, set Server URL = that Production URL. In Server Messages, enable only toolCalls. B) Vapi tools (names must match exactly) Create two Custom Tools in Vapi and attach them to the assistant: Tool 1: checkAvailability Arguments** initialSearchDateTime (string, ISO-8601 with timezone offset, e.g. 2025-09-09T09:00:00-05:00) Tool 2: Arguments** startDateTime (string, ISO-8601 with tz) endDateTime (string, ISO-8601 with tz) clientName (string) propertyAddress (string) serviceType (string) > The Switch node routes based on C) Configure availability Open 1. CONFIGURATION (EDIT ME) and set: D) Connect Google Calendar Open 2. Get Calendar Events (EDIT ME) → Credentials: select/create Google Calendar OAuth. Then choose the calendar to check availability. Open 3. Book Appointment in Calendar (EDIT ME) → use the same credential and same calendar to book. E) Activate & test Toggle the workflow Active. Call your Vapi number (or start a session) and book a test slot. Verify the event appears with description fields (client, address, service type, call id). Customising Change summary/description format in 3. Book Appointment. Add SMS/Email confirmations, CRM sync, rescheduling, or analytics as follow-ups (see sticky note “I’m a note”). Troubleshooting No response back to Vapi** → confirm Vapi is set to send toolCalls only and the Server URL matches the Production URL. Switch doesn’t route** → tool names must be exactly checkAvailability and bookAppointment. No times returned** → ensure timezone + work hours + cadence generate at least one future slot; confirm Google credential and calendar selection. Event not created** → use the same Google credential & calendar in both nodes; check OAuth scopes/consent. Security & privacy Google uses OAuth; credentials live in n8n. No API keys hardcoded. Webhook receives only the fields needed to check times or book.
by Port IO
Auto-resolve Jira tickets with coding agents Coding agents can significantly speed up development, but crucial engineering context often gets lost in the process. This guide demonstrates how to use Port as a context lake in n8n workflows to automatically generate GitHub issues from Jira tickets with rich organizational context, ensuring that important information is preserved when assigning them to GitHub Copilot and linking pull requests back to Jira. This setup helps establish a seamless ticket-to-PR workflow, bridging the gap between Jira and GitHub while leveraging Port's comprehensive software catalog as a source of truth. How it works The n8n workflow orchestrates the following steps: Jira trigger — The workflow listens for Jira issue updates via webhook. Condition check — Verifies that the issue status is "In Progress" and has the required label (e.g., "product_approved") without the "copilot_assigned" label. Port context extraction — Uses Port's n8n node to query your software catalog for relevant context about services, repositories, teams, dependencies, and documentation related to the Jira issue. Parse response — Retrieves the AI-generated GitHub issue title and body from Port. Create GitHub issue — Creates a new GitHub issue with the enriched context from Port. Assign to Copilot — Adds a comment to the GitHub issue instructing Copilot to take ownership. Add issue link to Jira ticket — Adds a comment to the Jira ticket with the GitHub issue URL, providing clear traceability. Mark ticket as assigned — Updates the Jira ticket to add the "copilot_assigned" label, preventing duplicate processing. Setup [ ] Connect your Jira Cloud account and enable issue_updated events [ ] Register for free on Port.io [ ] Connect your Port.io account and add the API key [ ] Connect your GitHub account and select the target repository [ ] Ensure a Copilot bot or @copilot user has access to the repository [ ] Confirm the workflow webhook or Jira trigger URL is active [ ] Test by moving a product_approved ticket to In Progress. [ ] You should be good to go! Prerequisites You have a Port account and have completed the onboarding process. Port's GitHub app is installed in your account. Port's Jira integration is installed in your account. You have a working n8n instance (Cloud or self-hosted) with Port's n8n custom node installed. Your GitHub organization has GitHub Copilot enabled, so Copilot can be automatically assigned to any issues created through this guide. ⚠️ This template is intended for Self-Hosted instances only.
by Harshil Agrawal
This workflow automatically creates an event in PostHog when a request is made to a webhook URL. Prerequisites A PostHog account and credentials Nodes Webhook node triggers the workflow when a URL is accessed. PostHog node creates a new event in PostHog.
by ConnectSafely
Sync LinkedIn Profile Visitors to HubSpot CRM Who's it for This workflow is built for sales professionals, recruiters, founders, and marketers who want to automatically capture LinkedIn profile visitors and convert them into actionable CRM leads. Perfect for anyone tired of manually checking who viewed their profile, copying data one by one, and losing warm leads because they never made it into your pipeline. If you're running outbound sales, recruiting talent, building partnerships, or simply want to know who's checking you out on LinkedIn, this automation captures every visitor and enriches them with full professional data before syncing to your CRM. How it works The workflow automatically syncs your LinkedIn profile visitors to HubSpot CRM with enriched professional data. The process flow: Scheduled trigger runs weekly (or manually) to fetch recent visitors ConnectSafely.ai API retrieves all profile visitors from the past 7 days Splits visitors into individual records for processing Apify actor enriches each visitor with complete LinkedIn profile data (email, company, title, location) Email validation filters contacts - only those with valid emails proceed HubSpot integration creates or updates contacts with full enriched information Loop continues until all visitors are processed Setup steps Step 1: Configure ConnectSafely.ai API Credentials Obtain API Key Log into ConnectSafely.ai Dashboard Navigate to Settings → API Keys Generate a new API key Add Bearer Auth Credential in n8n Go to Credentials in n8n Click Add Credential → Header Auth or HTTP Bearer Auth Name it "ConnectSafely.ai API" Paste your ConnectSafely.ai API key Save the credential This credential is used by the "Fetch Profile Visitors" HTTP Request node. Step 2: Configure Apify Integration Get Apify API Key Sign up at Apify.com Go to Settings → Integrations → API Copy your API token Find the LinkedIn Enrichment Actor Go to Apify Store Search for "LinkedIn Profile Scraper" or use actor ID: UMdANQyqx3b2JVuxg Copy the actor URL Add Apify Credential in n8n Go to Credentials → Add Credential → Apify API Paste your Apify API token Save the credential Configure the Apify Node Open the Enrich LinkedIn Profile node Select your Apify credential Update the Actor ID URL with your chosen LinkedIn scraper actor Step 3: Configure HubSpot Integration Create HubSpot App Token Go to HubSpot Settings → Integrations → Private Apps Click Create a private app Name it "n8n LinkedIn Sync" Under Scopes, enable: crm.objects.contacts.read crm.objects.contacts.write Click Create app and copy the access token Add HubSpot Credential in n8n Go to Credentials → Add Credential → HubSpot App Token Paste your access token Save the credential Connect to HubSpot Node Open the Create HubSpot Contact node Select your HubSpot App Token credential Step 4: Configure the Schedule Open the Run Weekly node Adjust the schedule based on your needs: Default: Every week High traffic profiles: Every day Low traffic: Every 2 weeks Step 5: Test the Workflow Click the Test Manually node Click Test Workflow Verify: Profile visitors are fetched correctly Enrichment returns full profile data Contacts with emails are created in HubSpot Contacts without emails are skipped gracefully Customization Time Range Adjustment Edit the JSON body in the Fetch Profile Visitors node to change the lookback period: {"timeRange":"past_7_days","start":0,"fetchAll":true} Options: past_7_days - Last week's visitors (default) past_30_days - Last month's visitors past_90_days - Last quarter's visitors Additional HubSpot Fields The Create HubSpot Contact node maps these fields by default: First Name Last Name Email Job Title Company Name City Country Street Address LinkedIn URL Lead Status (set to "NEW") To add more fields: Open the Create HubSpot Contact node Click Add Field under Additional Fields Map Apify output fields to HubSpot properties Different CRM Integration To use a different CRM instead of HubSpot: Delete the Create HubSpot Contact node Add your CRM node (Salesforce, Pipedrive, Zoho, etc.) Map the enriched fields to your CRM's contact properties Connect it to the "Has Valid Email" true output Add Slack Notifications Want to get notified when high-value visitors are captured? Add a Slack node after Create HubSpot Contact Filter for specific job titles or companies Send a message to your sales channel Use Cases Sales Prospecting**: Automatically capture decision-makers who are researching you before outreach Recruiting**: Build a passive candidate pipeline from people checking out your profile Founder Networking**: Know when investors, partners, or potential hires are interested Account-Based Marketing**: Track when target account contacts view your profile Event Follow-up**: Capture visitors who checked you out after conferences or webinars Troubleshooting Common Issues & Solutions Issue: No visitors returned from API Solution**: Ensure your LinkedIn account is connected in ConnectSafely.ai dashboard and has had recent profile views Issue: Apify enrichment returning empty results Solution**: Verify the LinkedIn URL format is correct (should be full URL like https://www.linkedin.com/in/username). Check your Apify actor is running properly. Issue: "Profile not found" errors Solution**: Some LinkedIn profiles may be private or have restricted visibility. These will be skipped automatically. Issue: HubSpot contact not created Solution**: Check that your HubSpot App Token has crm.objects.contacts.write scope enabled Issue: Duplicate contacts in HubSpot Solution**: HubSpot uses email as the unique identifier. The node is configured to "Create or Update" so duplicates should be updated, not created. Verify the email field is mapping correctly. Issue: Rate limit errors from Apify Solution**: Add a Wait node after the loop with 2-5 second delays between enrichment calls Issue: Missing email addresses for most visitors Solution**: This is normal - enrichment typically finds emails for 60-70% of profiles. Consider adding LinkedIn URL as a fallback identifier in your CRM. Costs & Considerations | Service | Cost | |---------|------| | ConnectSafely.ai | Free trial available, then subscription | | Apify Enrichment | ~$1 per 1,000 records | | HubSpot | Free tier works, or existing subscription | | n8n | Free (self-hosted) or cloud pricing | Estimated monthly cost for 200 visitors/month: ~$0.20 for Apify enrichment Documentation & Resources Official Documentation ConnectSafely.ai Docs**: https://connectsafely.ai/docs Apify LinkedIn Actors**: https://apify.com/store HubSpot API**: https://developers.hubspot.com Support Channels Email Support**: support@connectsafely.ai Documentation**: https://connectsafely.ai/docs Connect With Us Stay updated with the latest automation tips and LinkedIn strategies: LinkedIn**: linkedin.com/company/connectsafelyai YouTube**: youtube.com/@ConnectSafelyAI-v2x Instagram**: instagram.com/connectsafely.ai X (Twitter)**: x.com/AiConnectsafely Need Custom Workflows? Looking to build sophisticated LinkedIn automation workflows tailored to your business needs? Contact our team for custom automation development, strategy consulting, and enterprise solutions. We specialize in: Multi-channel engagement workflows AI-powered personalization at scale Lead scoring and qualification automation CRM integration and data synchronization Custom reporting and analytics pipelines
by Kees Bosch - Browserflow
Automate LinkedIn Company Page Growth End-to-End ⚠️ Important — Start Here Before importing this template, make a personal copy of the provided Google Sheets template. This workflow is designed to work out of the box with that sheet. Growing a LinkedIn Company Page usually requires time, consistency, and manual outreach. With Browserflow + n8n, you can turn the entire process into a hands-off LinkedIn growth engine. This template automates everything from: Scraping LinkedIn engagement Sending connection invites Tracking acceptance Inviting new connections to follow your company page All activity is logged, deduplicated, and fully automated. ⚠️ Disclaimer – Community Node Notice This template uses a verified community node available inside the n8n Cloud environment. To use it: Go to Nodes Search for Browserflow for Linkedin Click Install If you are running n8n locally: Go to Settings → Community Nodes Search for n8n-nodes-browserflow Install and restart n8n 📦 Requirements To use this template, you need: n8n (Cloud or self-hosted) Installed community node: Browserflow for Linkedin An account for Browserflow (7-day free trial)) LinkedIn account A copy of the Google Sheets template ⚙️ Setup Instructions Make a copy of the provided Google Sheets template Import the n8n template into your n8n workflow Create an account with Browserflow (7-day free trial)) Reconnect credentials: Google Sheets Browserflow (API key via credentials) (Optional) Adjust schedule intervals if needed Add your Company Page URL in the final workflow That’s it — no column mapping required if you use the sheet as provided. 🤖 Tip – Quickly Switch to Your Own Google Sheet Using n8n AI (Beta) If you already imported the workflow and want to swap the Google Sheet later, you can use the n8n AI assistant (beta). Paste this prompt (replace the URL): I would like to change all my google sheets integrations to use the following sheet instead: ** It has the exact same sheets and tables and fields The AI will update all Google Sheets nodes automatically. 🧩 What This Template Does This template consists of four connected workflows, each represented with sticky notes inside n8n. 🔍 Step 1 – Retrieve Leads from LinkedIn Post Engagement This workflow scrapes users who engage with LinkedIn posts and stores them in Google Sheets. Workflow actions: Fetch LinkedIn post URLs from Google Sheets Scrape: Commenters (Optional) Likers Split results into individual profiles Filter invalid or duplicate profiles Append new leads to Google Sheets Mark posts as “scraped” to prevent reprocessing 🤝 Step 2 – Send LinkedIn Connection Invites Automatically This workflow sends connection requests to new leads on a schedule. Workflow actions: Schedule trigger (e.g. every 10 minutes) Fetch leads not yet invited Check connection status: ❌ Not connected → Send invite ⏳ Pending → Mark as pending ✅ Connected → Mark as connected Update Google Sheets with status + timestamp 🔄 Step 3 – Track Connection Acceptance This workflow keeps your lead sheet accurate by tracking accepted invitations. Workflow actions: Scheduled trigger Fetch recent LinkedIn connections via Browserflow Match profiles with Google Sheets Update: Connection status Acceptance timestamp ⭐ Step 4 – Invite Connections to Follow Your Company Page Once someone accepts your connection request, this workflow invites them to follow your Company Page. Workflow actions: Fetch connected leads from Google Sheets Filter: Connected Not yet invited to follow Use Browserflow to: Visit your LinkedIn Connections page Send “Invite to Follow Page” action Update follow-invite status in Google Sheets Important configuration: Enter your Company Page URL You must be Admin of the page 📊 Final Result – Your Automated LinkedIn Growth Engine After setup, you get: 🔍 Automated lead scraping from niche engagement 🤝 Automated LinkedIn connection requests 🔄 Automatic acceptance tracking ⭐ Automated Company Page follow invites 📊 Centralized Google Sheets dashboard This system saves hours every week and turns every new connection into a Company Page follower — with zero manual work. 🚀 Need Help? If you need help customizing or extending this automation, feel free to reach out. Happy automating! 🚀
by Ossian Madisson
This n8n template allows you to, on a schedule, list all files that have been modified since the last execution in a Google Drive folder and in all its subfolders While Google Drive is accessible and easy to use, file listings via API are limited to either all files in the entire Drive or all files in a specific folder. This also means that the n8n triggers for Google Drive are limited to changes to a specific file or folder. This template is built to replace the built-in trigger nodes in the situations when you need to trigger on new or changed files in a folder or any of its subfolders. Use cases Trigger a RAG pipeline to update with new or updated documents Push newly uploaded or updated documents into CMS, project management tool or other external platform Log changes to build an audit trail Trigger a backup job or sync process only for files that have changed since the last run, saving bandwidth and processing time. Notify team or client about new documents Can also be run without the scheduling part to perform a one-time iteration of all files Good to know Works well if you attach a loop node to the "output node" to run additional actions on the files The workflow is designed to use a minimal amount of custom code, preferring built-in nodes in n8n Does not identify file removals How it works Recursively executes a subworkflow for each folder in the main folder Each subworkflow execution sends a list of all files in the folder to an "output node" that checks if the files was created or modified since the last execution When all subworkflows have been executed, the files in the main folder are sent to the "output node" A persistent variable (time of trigger node activation) is set for timestamp comparison on the next execution (this is only set on non-manually triggered active workflow executions) How to use Set schedule interval in the trigger node (default every 60min) Add Google Drive credentials to the four Google Drive nodes Define your main/root folder in the two nodes inside the red box Connect your workflow to process the files after the node in the yellow box, please note that there will be "one output" per folder
by David Olusola
🚀 Automated Lead Management: Google Sheets → Instantly + n8n Data Tables 📋 Overview This workflow automates lead management by syncing data from Google Sheets to Instantly email campaigns while maintaining tracking through n8n Data Tables. It processes leads in batches to avoid rate limits and ensures no duplicates are sent. ⚙️ Complete Setup Guide 1️⃣ Create Your Google Sheet Option A: Use Our Template (Recommended) Copy this template with test data: Google Sheets Template Click File → Make a copy to create your own version Populate with your lead data Option B: Create Your Own Create a Google Sheet with these required columns: Firstname - Contact's first name Email - Contact's email address Website - Company website URL Company - Company name Title - Job title/position 💡 Pro Tip: Add as many leads as you want - the workflow handles batching automatically! 2️⃣ Set Up n8n Data Table The workflow uses one Data Table to track leads and their sync status. Create the "Leads" Data Table: In your n8n workflow editor, add a Data Table node Click "Create New Data Table" Name it: Leads Add the following columns: | Column Name | Type | Purpose | |------------|------|---------| | Firstname | string | Contact's first name | | Lastname | string | Contact's last name | | email | string | Contact's email (unique identifier) | | website | string | Company website | | company | string | Company name | | title | string | Job title | | campaign | string | Sync status (e.g., "start", "added to instantly") | | focusarea | string | Enriched data from Title field | Click Save 📌 Important: The campaign field is crucial - it tracks which leads have been synced to prevent duplicates! 3️⃣ Connect Your Google Sheets Account In the "Get row(s) in sheet" node, click "Create New Credential" Select Google Sheets OAuth2 API Follow the OAuth flow: Sign in with your Google account Grant n8n permission to access your sheets Select your spreadsheet from the dropdown Choose the correct sheet name (e.g., "instantly leads") Test the connection to verify it works 4️⃣ Connect Your Instantly Account Go to Instantly.ai and log in Navigate to Settings → API Copy your API Key Back in n8n, open the "Create a lead" node Click "Create New Credential" Select Instantly API Paste your API key Important: Update the campaign ID: Current ID: 100fa5a2-3ed0-4f12-967c-b2cc4a07c3e8 (example) Replace with your actual campaign ID from Instantly Find this in Instantly under Campaigns → Your Campaign → Settings 5️⃣ Configure the Data Table Nodes You'll need to update three Data Table nodes to point to your newly created "Leads" table: Node 1: "Get row(s)" Operation: Get Data Table: Select Leads Filter: campaign = "start" This fetches only new, unsynced leads Node 2: "Update row(s)1" (Top Flow) Operation: Update Data Table: Select Leads Filter: Match by email field Update: Set focusarea to Title value This enriches lead data Node 3: "Update row(s)" (Bottom Flow) Operation: Update Data Table: Select Leads Filter: Match by Email field Update: Set campaign = "added to instantly" This prevents duplicate sends 6️⃣ Configure the Schedule (Optional) The workflow includes a Schedule Trigger for automation: Default: Runs every hour To customize: Click the "Schedule Trigger" node Choose your interval: Every 30 minutes Every 2 hours Daily at specific time Custom cron expression 💡 For testing: Use the "When clicking 'Execute workflow'" manual trigger instead! 🔄 How It Works Flow 1: Data Transfer (Top Path) This flow moves leads from Google Sheets → n8n Data Table Manual Trigger → Get Google Sheets → Batch Split (30) → Update Data Table → Loop Step-by-step: Manual Trigger - Click to start the workflow manually Get row(s) in sheet - Fetches ALL leads from your Google Sheet Loop Over Items - Splits into batches of 30 leads Update row(s)1 - For each lead: Searches Data Table by email Updates or creates the lead record Stores Title → focusarea for enrichment Loop continues - Processes next batch until all leads transferred ⚙️ Why 30 at a time? Prevents API timeouts Respects rate limits Allows monitoring of progress Can be adjusted in the node settings Flow 2: Instantly Sync (Bottom Path) This flow syncs qualified leads from Data Table → Instantly Schedule Trigger → Get Data Table (filtered) → Individual Loop → Create in Instantly → Update Status Step-by-step: Schedule Trigger - Runs automatically (every hour by default) Get row(s) - Queries Data Table for leads where campaign = "start" Only fetches NEW, unsynced leads Ignores leads already processed Loop Over Items1 - Processes ONE lead at a time Create a lead - Sends lead to Instantly: Campaign: "Launchday 1" Maps: Email, Firstname, Company, Website Adds to email sequence Update row(s) - Updates Data Table: Sets campaign = "added to instantly" Prevents duplicate sends on next run Loop continues - Next lead until all processed 🔍 Why one at a time? Instantly API works best with individual requests Ensures accurate status tracking Prevents partial failures Better error handling per lead ✅ Key Features Explained Batch Processing Processes 30 Google Sheet leads at once Configurable in Loop Over Items node Prevents timeouts on large datasets Duplicate Prevention Uses campaign field as status tracker Only syncs leads where campaign = "start" Updates to "added to instantly" after sync Re-running workflow won't create duplicates Data Enrichment Stores job title in focusarea field Can be used for personalization later Extensible for additional enrichment Two-Trigger System Manual Trigger**: For testing and one-time runs Schedule Trigger**: For automated hourly syncs Both triggers use the same logic Error Tolerance Individual lead processing prevents cascade failures One failed lead won't stop the entire batch Easy to identify and fix problematic records 🧪 Testing Your Workflow Step 1: Test Data Transfer (Flow 1) Add 5 test leads to your Google Sheet Click the Manual Trigger node Click "Execute Node" Check your Leads Data Table - should see 5 new rows Verify focusarea field has data from Title column Step 2: Test Instantly Sync (Flow 2) In Data Table, ensure at least one lead has campaign = "start" Click the Schedule Trigger node Click "Execute Node" (bypasses schedule for testing) Check Instantly dashboard - should see new lead(s) Check Data Table - campaign should update to "added to instantly" Step 3: Test Duplicate Prevention Re-run the Schedule Trigger No new leads should be created in Instantly Data Table shows no changes (already marked as synced) 🚨 Troubleshooting Issue: Google Sheets not fetching data ✅ Check OAuth credentials are valid ✅ Verify spreadsheet ID in node settings ✅ Ensure sheet name matches exactly ✅ Check Google Sheet has data Issue: Data Table not updating ✅ Verify Data Table exists and is named "Leads" ✅ Check column names match exactly (case-sensitive) ✅ Ensure email field is populated (used for matching) Issue: Instantly not receiving leads ✅ Verify Instantly API key is correct ✅ Update campaign ID to your actual campaign ✅ Check campaign = "start" in Data Table ✅ Verify email format is valid Issue: Workflow runs but nothing happens ✅ Check if Data Table has leads with campaign = "start" ✅ Verify loop nodes aren't stuck (check execution logs) ✅ Ensure batch size isn't set to 0 💡 Pro Tips & Best Practices For Beginners: Start small - Test with 5-10 leads first Use manual trigger - Don't enable schedule until tested Check each node - Execute nodes individually to debug Monitor Data Table - Use it as your source of truth Keep backups - Export Data Table regularly For Optimization: Adjust batch size - Increase to 50-100 for large datasets Add delays - Insert "Wait" nodes if hitting rate limits Filter in Google Sheets - Only fetch new rows (use formulas) Archive old leads - Move synced leads to separate table Add error notifications - Connect Slack/email for failures For Scaling: Use multiple campaigns - Add campaign selection logic Implement retry logic - Add "IF" nodes to retry failed syncs Add data validation - Check email format before syncing Log everything - Add "Set" nodes to track execution details Monitor API usage - Track Instantly API quota 📊 Expected Results After Setup: ✅ Google Sheets connected and fetching data ✅ Data Table populated with lead information ✅ Instantly receiving leads automatically ✅ No duplicate sends occurring ✅ Campaign status updating correctly Performance Metrics: 100 leads** - Processes in ~5-10 seconds 1000 leads** - Processes in ~15-20 seconds Instantly API** - 1 lead per second typical speed Schedule runs** - Every hour by default 📬 Need Help? Customization Services: Advanced filtering and segmentation Multi-campaign management Custom field mapping and enrichment Webhook integrations for real-time sync Error handling and monitoring setup Scale to 10K+ leads per day Contact: 📧 david@daexai.com 🎥 Watch Full Tutorial 🎓 What You'll Learn By setting up this workflow, you'll master: ✅ n8n Data Tables - Creating, querying, and updating data ✅ Batch Processing - Handling large datasets efficiently ✅ API Integrations - Connecting Google Sheets and Instantly ✅ Workflow Logic - Building complex multi-path automations ✅ Error Prevention - Implementing duplicate checking ✅ Scheduling - Automating workflows with triggers Happy Flogramming! 🎉
by System Admin
No description available
by System Admin
Tagged with: , , , ,
by System Admin
Tagged with: , , , ,