by Entech Solutions
Short Description Automatically exports inventory items records from NetSuite and syncs them into Salesforce — creating or updating Products. Who is this for / Use case This template is designed for businesses and integration developers who: Use NetSuite as their ERP or CRM system. Need to automatically sync products data into Salesforce. Want a reliable, scalable solution that supports pagination and upserts. Prefer a ready-to-use, easily customizable workflow built on n8n. How it works Initialize pagination offset. Fetch Salesforce Pricebook values data. Initialize pagination offset. Fetch NetSuite list of Inventory Items. Split the retrieved array into individual items. Get details for each Inventory Item from NetSuite. Find certain price value fetched from NetSuite Upserts Product into Salesforce Repeat until all records are processed, then end the workflow. Setup / Configuration Import the workflow into your n8n instance. Set your NetSuite and Salesforce credentials. Ensure your Salesforce Account/Contact objects have a matching External ID field. (Optional) Adjust mapping fields or filters to your data needs. Execute manually or trigger on a schedule (e.g., daily sync).
by Rivers Colyer
Who’s it for: SALES teams and AGENCIES that want to automatically send call summaries to their CRM. This flow is best suited for agencies and businesses that use ZoomInfo Chorus AI to capture and analyze calls, and HubSpot as their main CRM system for managing client data. How it works / What it does: The flow runs every hour and checks Chorus for new call summaries. If new summaries are found, they are added as notes to the corresponding HubSpot company record. If the company does not exist in HubSpot, the summary will be skipped. If the engagement already exists as a note in HubSpot, it will also be skipped. In short: every hour, Chorus → HubSpot notes sync (only when unique & matched). Workflow Overview Here’s how the logic works, step by step: Triggers Run every hour (scheduled) or When clicking Execute workflow (manual testing). Fetch from Chorus.AI Get Chorus Engagement per last day: requests new engagements from the last 24h. Pagination is handled automatically (up to 15 requests). Merge paginated engagements: combines all pages into a single list. Filter items with empty meeting_summary: removes calls without summaries. Loop through engagements Loop Over Engagements: processes each engagement one by one. Find matching HubSpot company Search Company In HubSpot By Name: looks for an exact match with account_name. If company exists: continues only if a match is found. Otherwise → Skip, if company not found. Check for existing notes Search notes: searches HubSpot for a note containing the engagement_id. If note not exist: continues only if no duplicate is found. Otherwise → Skip, if note already exists. Create a new HubSpot note Create Note Payload: builds a formatted note body with: Call date/time Summary text Link to call recording Engagement ID Create Note: inserts the note into HubSpot, associated with the matched company. Loop continues After processing, the flow moves back to Loop Over Engagements until all are handled. Requirements Chorus AI account or an existing API Token. HubSpot account with the ability to create applications OR an existing App Token. How to set up: Generate a Chorus.AI API Token: Go to Settings → Personal Settings → API Access → Generate API Token. Save this token in a secure place. In your N8N instance, create new credentials with any name you prefer (e.g., Chorus.AI - API Token). Type: Header Auth Header Name: Authorization Header Value: your generated Chorus API Token Save the credentials. Create a HubSpot Application with the following access scopes: crm.objects.contacts.write crm.objects.companies.read Save the Access Token and Client Secret securely. The Access Token will be used in this flow. In your N8N instance, create new credentials with any name you prefer (e.g., HubSpot App Token). Type: HubSpot App Token App Token: paste the token from step 3 Save the credentials. Install this flow in your N8N instance (cloud or self-hosted). After installation, some nodes—Get Chorus Engagement per last day, Search Company In HubSpot By Name, Search notes, Create Note—will show errors. This is expected, as they need to be linked to your new credentials. Open the node Get Chorus Engagement per last day and update the credentials: Authentication: Generic Credential Type Generic Auth Type: Header Auth Header Auth: select the Chorus credentials you created in step 2. Open the node Search Company In HubSpot By Name and update the credentials: Authentication: Predefined Credential Type Credential Type: HubSpot App Token HubSpot App Token: select the credentials from step 4. Repeat step 8 for the node Search notes. Repeat step 8 for the node Create Note. Save your updated flow by clicking Save in the top-right corner. Run the workflow by clicking Execute Workflow to test if all credentials work correctly. Once confirmed, activate your flow by toggling the switch in the top-right corner. That’s it! 🎉 Your flow will now run every hour, syncing new Chorus call summaries to HubSpot—only when the company names match and the engagement isn’t already logged.
by Nalin
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Qualify and enrich inbound leads with contextual insights and Slack alerts Who is this for? Sales teams, account executives, and RevOps professionals who need more than just basic lead scoring. Built for teams that want deep contextual insights about qualified prospects to enable truly relevant conversations from the first touchpoint. What problem does this solve? Most qualification stops at "good fit" or "bad fit" - but that leaves sales teams flying blind when it comes to actually engaging the prospect. You know they're qualified, but what are their specific pain points? What value propositions resonate? Which reference customers should you mention? This workflow uses Octave's context engine to not only qualify leads but enrich them with actionable insights that turn cold outreach into warm, contextualized conversations. What this workflow does Inbound Lead Processing: Receives lead information via webhook (firstName, companyName, companyDomain, profileURL, jobTitle) Processes leads from website forms, demo requests, content downloads, or trial signups Validates and structures lead data for intelligent qualification and enrichment Contextualized Lead Qualification: Leverages Octave's context engine to score leads against your specific ICP Analyzes company fit, role relevance, and timing indicators Generates qualification scores (1-10) with detailed rationale Filters out low-scoring leads (configurable threshold - default >5) Deep Lead Enrichment: Uses Octave's enrichment engine to generate contextual insights about qualified leads Identifies primary responsibilities, pain points, and relevant value propositions Suggests appropriate reference customers and use cases to mention Provides sales teams with conversation starters grounded in your business context Enhanced Sales Alerts: Sends enriched Slack alerts with qualification score plus actionable insights Includes suggested talking points, pain points, and reference customers Enables sales teams to have contextualized conversations from first contact Setup Required Credentials: Octave API key and workspace access Slack OAuth credentials with channel access Access to your lead source system (website forms, CRM, etc.) Step-by-Step Configuration: Set up Octave Qualification Agent: Add your Octave API credentials in n8n Replace your-octave-qualification-agent-id with your actual qualification agent ID Configure your qualification agent with your ICP criteria and business context Set up Octave Enrichment Agent: Replace your-octave-enrichment-agent-id with your actual enrichment agent ID Configure enrichment outputs based on the insights most valuable to your sales process Test enrichment quality with sample leads from your target market Configure Slack Integration: Add your Slack OAuth credentials to n8n Replace your-slack-channel-id with the channel for enriched lead alerts Customize the Slack message template with the enrichment fields most useful for your sales team Set up Lead Source: Replace your-webhook-path-here with a unique, secure path Configure your website forms, CRM, or lead source to send data to the webhook Ensure consistent data formatting across lead sources Customize Qualification Filter: Adjust the Filter node threshold (default: score > 5) Modify based on your lead volume and qualification standards Test with sample leads to calibrate scoring Required Webhook Payload Format: { "body": { "firstName": "Sarah", "lastName": "Johnson", "companyName": "ScaleUp Technologies", "companyDomain": "scaleuptech.com", "profileURL": "https://linkedin.com/in/sarahjohnson", "jobTitle": "VP of Engineering" } } How to customize Qualification Criteria: Customize scoring in your Octave qualification agent: Product Level:** Define "good fit" and "bad fit" questions that determine if someone needs your core offering Persona Level:** Set criteria for specific buyer personas and their unique qualification factors Segment Level:** Configure qualification logic for different market segments or use cases Multi-Level Qualification:** Qualify against Product + Persona, Product + Segment, or all three levels combined Enrichment Insights: Configure your Octave enrichment agent to surface the most valuable insights: Primary Responsibilities:** What this person actually does day-to-day Pain Points:** Specific challenges they face that your solution addresses Value Propositions:** Which benefits resonate most with their role and situation Reference Customers:** Similar companies/roles that have succeeded with your solution Conversation Starters:** Contextual talking points for outreach Slack Alert Format: Customize the enrichment data included in alerts: Add or remove enrichment fields based on sales team preferences Modify message formatting for better readability Include additional webhook data if needed Scoring Threshold: Adjust the Filter node to match your qualification standards Integration Channels: Replace Slack with email, CRM updates, or other notification systems Use Cases High-value enterprise lead qualification and research automation Demo request enrichment for contextual sales conversations Event lead processing with immediate actionable insights Website visitor qualification and conversation preparation Trial signup enrichment for targeted sales outreach Content download lead scoring with context-aware follow-up preparation
by Max Mitcham
An intelligent automation workflow that monitors thought leader activity via social listening, tracks high-value prospects who engage with industry content, and systematically builds a qualified lead database through social intelligence gathering. Overview This workflow transforms passive social listening into proactive lead generation by identifying prospects who demonstrate genuine interest in industry topics through their engagement with thought leader content. It creates a continuous pipeline of warm prospects with enriched data for personalized outreach. 🔄 Workflow Process 1. Social Intelligence Webhook Real-time engagement monitoring Integrated with Trigify.io social listening platform Monitors thought leader posts and their engagers Captures detailed prospect and company enrichment data Processes LinkedIn engagement activities in real-time Includes enriched contact information (email, phone, LinkedIn URLs) 2. Data Processing & Extraction Structured data organization Post Data Extraction**: Isolates LinkedIn post URLs, content, and posting dates Prospect Data Extraction**: Captures first/last names, job titles, LinkedIn profiles, and locations Company Data Extraction**: Gathers company names, domains, sizes, industries, and LinkedIn pages Prepares data for duplicate detection and storage systems 3. Duplicate Detection System Data quality maintenance Queries existing Google Sheets database by post URL Identifies previously tracked thought leader content Filters out duplicate posts to maintain data quality Only processes genuinely new thought leader activities Maintains clean, unique post tracking records 4. New Content Validation Gate Quality control checkpoint Validates that post URLs are not empty (indicating new content) Prevents processing of duplicate or invalid data Ensures only fresh thought leader content triggers downstream actions Maintains database integrity and notification relevance 5. Thought Leader Post Tracking Systematic content monitoring Appends new thought leader posts to "Social Warming" Google Sheets Records post URLs, content text, and publication dates Creates searchable database of industry thought leadership content Enables trend analysis and content performance tracking 6. Real-Time Slack Notifications Immediate team alerts Sends formatted alerts to #comment-strategy channel Includes post content, publication date, and direct links Provides action buttons (View Post, Engage Now, Save for Later) Enables rapid response to thought leader activity Facilitates team coordination on engagement opportunities 7. ICP Qualification Filter Smart prospect identification Filters engagers by job title keywords (currently: "marketing") Customizable ICP criteria for targeted lead generation Focuses on high-value prospects matching ideal customer profiles Prevents database pollution with irrelevant contacts 8. Qualified Lead Database Systematic prospect capture Appends qualified engagers to "Engagers" Google Sheets Records comprehensive prospect and company data Includes contact enrichment (emails, phone numbers) Creates actionable lead database for sales outreach Maintains detailed company intelligence for personalization 🛠️ Technology Stack n8n**: Workflow orchestration and webhook management Trigify.io**: Social listening and engagement monitoring platform Google Sheets**: Lead database and content tracking system Slack API**: Real-time team notifications and collaboration Data Enrichment**: Automated contact and company information gathering ✨ Key Features Real-time thought leader content monitoring Automated prospect discovery through social engagement ICP-based lead qualification and filtering Duplicate content detection and prevention Comprehensive prospect and company data enrichment Integrated CRM-ready lead database creation Team collaboration through Slack notifications Customizable qualification criteria for targeted lead generation 🎯 Ideal Use Cases Perfect for sales and marketing teams seeking warm prospects: B2B Sales Teams** seeking warm prospects through social engagement Marketing Professionals** building targeted lead databases Business Development Teams** identifying engaged prospects Account-Based Marketing Campaigns** requiring social intelligence Sales Professionals** needing conversation starters with warm leads Companies** wanting to identify prospects already engaged with industry content Teams** requiring systematic lead qualification through social activity Organizations** seeking to leverage thought leadership for lead generation 📈 Business Impact Transform social listening into strategic lead generation: Warm Lead Generation**: Identifies prospects already engaged with industry content Social Selling Intelligence**: Provides conversation starters through engagement history ICP Qualification**: Focuses efforts on prospects matching ideal customer profiles Relationship Building**: Enables outreach based on genuine interest demonstration Market Intelligence**: Tracks industry engagement patterns and trending content Sales Efficiency**: Prioritizes prospects who show active industry engagement Personalization Data**: Provides context for highly personalized outreach campaigns 💡 Strategic Advantage This workflow creates a fundamental shift from cold outreach to warm, contextual conversations. By identifying prospects who have already demonstrated interest in industry topics through their engagement behavior, sales teams can approach leads with genuine relevance and shared context. The system delivers: Continuous Pipeline**: Automated flow of warm prospects showing industry engagement Social Context**: Rich background data for meaningful, personalized conversations Quality Focus**: ICP-filtered prospects matching ideal customer profiles Engagement History**: Conversation starters based on actual prospect interests Competitive Advantage**: Proactive lead identification before competitors Rather than interrupting prospects with cold messages, this workflow enables sales teams to join conversations prospects are already having, dramatically increasing response rates and relationship-building success.
by KlickTipp
Community Node Disclaimer This workflow uses KlickTipp community nodes, available for self-hosted n8n instances only. Who’s it for Sales and marketing teams using Pipedrive (Persons) and KlickTipp who want a reliable two-way sync for: Contact profiles (name, email, phone, birthday) Consent/marketing status (subscribed / no consent / unsubscribed) Segmentation (KlickTipp Tags ↔ Pipedrive Labels) This workflow is ideal if you want to avoid CSV imports, prevent manual updates, and ensure that changes in either platform are reflected in the other — including deletes and consent changes. How it works This workflow creates a complete two-way synchronization between KlickTipp and Pipedrive (Persons). Whenever a Person is created, updated, unsubscribed, segmented, or deleted in either system, the workflow mirrors these changes across both platforms — so your CRM and email marketing database always stay aligned. It is designed for near real-time syncing of contact data, consent state, and segmentation (Tags ↔ Labels), without manual work. KlickTipp → Pipedrive Triggered by KlickTipp webhooks / activation tag events via “Contact tagged in KlickTipp”: Fetch contact details in KlickTipp (Get contact data for tagging) to access tags and custom fields. Route by contact state (Check subscription): Person does not exist (no stored Pipedrive ID in KlickTipp) and contact is not Unsubscribed → Create a person in Pipedrive. Person exists and contact is not Unsubscribed → Update a person in Pipedrive. Person exists → unsubscribe → Update a person and set marketing_status = unsubscribed. Write the Pipedrive Person ID back to KlickTipp (Add Pipedrive Person ID to KlickTipp contact) to permanently link both records. Sync consent status: KlickTipp status = Subscribed → Pipedrive marketing_status = subscribed Otherwise → marketing_status = no_consent Sync birthday safely (timezone-aware): KlickTipp birthday is stored as Unix seconds and converted to YYYY-MM-DD using Europe/Berlin timezone to avoid CET/CEST shifts. Segmentation: KlickTipp Tags → Pipedrive Labels: Reads KlickTipp tags (Check relevant segment) and assigns Pipedrive label IDs via PATCH: Tag 14054258 → Label 14 (Customer) Tag 14054294 → Label 27 (ABC) Pipedrive → KlickTipp Triggered by the Pipedrive Person webhook via “Changes in Pipedrive”: Fetch the current marketing status (Get marketing status) to decide which consent action to apply in KlickTipp. Route by sync scenario (Check subscription1): Single Opt-In If no linked KlickTipp ID exists yet and status is not unsubscribed → create contact in KlickTipp via SOI (Create contact with SOI). Form submission → DOI If change_source = api → create contact in KlickTipp via DOI (Create contact with DOI). Update only If linked KlickTipp ID exists and status is not unsubscribed → update the existing KlickTipp subscriber (Update contact changes in KlickTipp). Unsubscribe and update If linked KlickTipp ID exists and status is unsubscribed → unsubscribe the contact (Unsubscribe contact) and then update core fields (Update contact changes in KlickTipp1). Contact deletion If action is delete → delete the KlickTipp contact using the previous email (Delete contact) to remain safe even if the email changed before deletion. UI-only filtering for SOI path Filter non UI events and deletions ensures the SOI create path processes only UI-driven events (change_source = app) and ignores deletions. Sync birthday safely (no day shifting) Reads Pipedrive birthday as YYYY-MM-DD from a custom field and converts it to Unix seconds using "T00:00:00Z" to prevent timezone-related day shifts. Segmentation: Pipedrive Labels → KlickTipp Tags Reads label_ids from Pipedrive (supports array or comma-separated string), normalizes them, then applies tags in KlickTipp (Check relevant segment2): Label 14 (Customer) → Tag 14054258 Label 27 (ABC) → Tag 14054294 GDPR Deletion Requests (KlickTipp → Pipedrive) Triggered by “Contact deletion request triggered” (when a recipient clicks the data deletion link in an email): Immediately deletes the subscriber in KlickTipp. If a linked Pipedrive Person ID exists (field227685), the workflow: Deletes the corresponding Person in Pipedrive. If no Pipedrive ID exists, only the KlickTipp record is removed. This ensures full GDPR-compliant data removal across both systems. How to set up Install the KlickTipp community node in your self-hosted n8n instance. Create credentials in n8n for: KlickTipp API Pipedrive API (token or OAuth) In KlickTipp, create a custom field to store the Pipedrive reference: Example used here: Pipedrive | Person ID (mapped as field227685) In Pipedrive (Person), create custom fields to store: KlickTipp Contact ID (stored via Pipedrive custom properties) Birthday (optional, if you want birthday sync) Configure your segmentation mapping: Ensure Pipedrive Labels exist and note their IDs (e.g. 14 = Customer, 27 = ABC) Ensure KlickTipp Tags exist and note their IDs (e.g. 14054258, 14054294) Test both directions: Add a tag in KlickTipp → confirm the Person is created/updated in Pipedrive and labels are assigned. Update a Person in Pipedrive → confirm the subscriber is created/updated/unsubscribed in KlickTipp accordingly. Activate the workflow. 💡 Pro Tip: Start testing with a single contact and one label/tag mapping first, then expand to more fields and segments. Requirements Self-hosted n8n instance (community nodes supported) KlickTipp** account with API access Pipedrive** account with API access Pipedrive Person webhook enabled (create/update/delete events) KlickTipp webhook/activation tag configured to trigger the KlickTipp side How to customize Add more field mappings (organization, address, custom properties, owner). Extend segmentation rules (more labels/tags, deal-based logic, pipeline-specific tags). Adjust SOI/DOI routing (e.g., force DOI for certain sources or segments). Add audit logging (Google Sheets, database, or Slack alerts on errors). Add safeguards (e.g., skip contacts without email, handle duplicates with additional lookup logic).
by ZeroBounce
Jotform to ActiveCampaign: Advanced ZeroBounce Lead Vetting This workflow automates the transition of new Jotform submissions into ActiveCampaign, using ZeroBounce for multi-layer validation (Validation + Scoring). Results are also output to Google Sheets for review. 🚀 How it Works ⚡ Trigger & Verification: Activates on new Jotform submissions and first checks if an email address is provided. Email present: Proceeds to credit check and validation Email missing: Customer details are added to Rejected output for review with reason 'Email missing'. 💳 Credit Management: Before each ZeroBounce call, the workflow checks your account for sufficient credits to prevent node failures. Success: Proceeds to Stage 1 (Validation). Failure: Customer details are added to Rejected output for retry with reason 'Not enough credits'. ✔️ Stage 1: Email Validation: Validates the email address with ZeroBounce. Valid: Adds the result to Accepted output and creates a person in ActiveCampaign. Invalid: Logs to a Google Sheet with the validation results and a reason for rejection for review. Catch-all: Proceeds to Stage 2 (Scoring). 🎯 Stage 2: Email Scoring: For "Catch-all" emails, the workflow requests ZeroBounce Scoring. High Score (>=9): Syncs to ActiveCampaign. Medium/Low Score: Suppressed and added to a Google Sheet with the assigned score for review. 📤 Output Results: Accepted: Output validation and scoring results to Accepted and ActiveCampaign Rejected Output validation and scoring results to Rejected. 💡 Key Benefits ✨ Zero-Waste Sync:** Only "Valid" or "High-Scoring" leads reach your CRM. 🛡️ Credit Safety:** Internal checks ensure you never trigger an API call without credits. 📊 Detailed Suppressions:** Every rejected lead is categorized by reason (e.g. Email Missing, Invalid, Low Score, or Insufficient credits). 🧩 Nodes used in this workflow ZeroBounce Jotform Trigger ActiveCampaign Google Sheets (or alternative e.g. Data Table) 📋 Setup Requirements Jotform:** Connect via API Key to receive "Form Submission" events. ZeroBounce:* Connect via API Key. *Create one here. ActiveCampaign:** Connect via API Key to create/update people for high-quality leads. Google Sheets:* Connect via OAuth2 to append/update rows in a Google Sheets worksheet. Alternatively, swap these nodes out with any other data storage node e.g. *n8n Data Table* or *Microsoft Excel**. The sheets/tables can be created with the headers: Accepted columns: Email,First Name,Last Name,Accepted At,Accepted Reason,ZB Status,ZB Sub Status,ZB Free Email,ZB Did You Mean,ZB Account,ZB Domain,ZB Domain Age Days,ZB SMTP Provider,ZB MX Found,ZB MX Record,ZB Score Rejected columns Email,First Name,Last Name,Rejected At,Rejected Reason,ZB Status,ZB Sub Status,ZB Free Email,ZB Did You Mean,ZB Account,ZB Domain,ZB Domain Age Days,ZB SMTP Provider,ZB MX Found,ZB MX Record,ZB Score
by KlickTipp
Community Node Disclaimer This workflow uses KlickTipp community nodes, available for self-hosted n8n instances only. Who’s it for Sales and marketing teams using Salesforce (Contacts) and KlickTipp who need a reliable, automated two-way synchronization for: Contact Profiles:** Syncing name, email, address, mobile, and birthday. Marketing Status:** Aligning subscription and consent states. Segmentation:* Mapping KlickTipp *Tags* to Salesforce *Topics**. Data Integrity:** Automating deletions for daily cleanups and GDPR requests. This workflow eliminates manual CSV imports and ensures your CRM and marketing database are always in perfect alignment. How it works This workflow synchronizes data between KlickTipp and Salesforce Contacts in near real-time. Changes made in one platform are mirrored in the other to maintain a single source of truth. KlickTipp → Salesforce Triggered by KlickTipp webhooks or activation tags via the Contact tagged in KlickTipp node: Data Fetching: The workflow retrieves subscriber details, including tags and custom fields. Logic Branching: The Salesforce Lookup Switch checks if a Salesforce Contact ID is already stored in KlickTipp (field227883). New Contacts: Creates a new record in Salesforce. Existing Contacts: Updates the current Salesforce record. Linkage: The Sync SF ID to KlickTipp node writes the Salesforce ID back to KlickTipp to permanently link the records. Field Mapping: Marketing status and birthdays are synced. Birthdays are processed using a timezone-aware logic (Europe/Berlin) to ensure accuracy. Segmentation: The Segment Matcher reads KlickTipp tags and assigns corresponding Salesforce Topics (e.g., Tag 14061012 → Topic Customer). Salesforce → KlickTipp Triggered by the New Salesforce Contact or Updated Salesforce Contact triggers: Normalization: The Data Normalization & Mapping node ensures consistent data formats (e.g., converting Salesforce dates to KlickTipp Unix timestamps). Logic Branching: The KlickTipp Lookup Switch checks for an existing KlickTipp ID. New Subscribers: Triggers a Single Opt-In (SOI) creation. Existing Subscribers: Updates the profile data. Status Sync: The Sync KlickTipp ID to SF node updates the CRM with the KlickTipp ID and sets the initial marketing status. Segmentation: The Segment Matcher reads Salesforce TopicAssignments and applies the matching tags in KlickTipp. Automated Deletions Daily Cleanup:* The *Daily Cleanup Trigger** runs every morning at 08:00. It fetches contacts deleted in Salesforce within the last 24 hours and removes them from KlickTipp. GDPR Requests:* Triggered by KlickTipp deletion requests. If the subscriber is linked to Salesforce, the *GDPR Delete Salesforce Contact** node removes the CRM record automatically. Setup steps Install Community Nodes: Ensure the KlickTipp community node is installed on your n8n instance. Prepare Custom Fields: KlickTipp: Create a field for the Salesforce ID (mapped to field227883). Salesforce: Create KlickTipp_ID__c and KlickTipp_marketing_status__c on the Contact object. Credentials: Configure your KlickTipp API and Salesforce OAuth2 credentials. Map Segments: Update the Segment Matcher nodes with your specific Tag IDs and Salesforce Topic IDs. Instance URLs: Update all HTTP Request nodes with your specific Salesforce instance base URL. Test & Activate: Run a manual test for one contact in both directions before activating the workflow. Requirements Self-hosted n8n instance. KlickTipp** account with API access. Salesforce** account with API access (OAuth2). Correct permissions for queryAll (Salesforce) and Webhook triggers (KlickTipp). How to customize Expand Mapping:** Add more fields like Phone, Mailing Street, or Custom Properties in the "Update/Create" nodes. Adjust Schedule:* Change the *Daily Cleanup Trigger** to run more or less frequently based on your needs. Refine Logic:** Add filters to skip specific contacts (e.g., internal staff) or handle duplicates.
by Ventsislav Minev
Who is this for This workflow is designed for sales teams, marketing professionals, and business developers who want to automate lead generation. It is ideal for budget-conscious individuals or small businesses looking to collect structured contact information from Google Maps without manual searching or relying on third-party middleware providers. How it works The workflow operates in two modes: Manual and Automated. Manual Mode:** Submit a search query via an n8n Form node to trigger the workflow instantly. Automated Mode:** A Schedule trigger processes pending queries from a Google Sheets spreadsheet. Once triggered, the workflow uses the Places API (New) to find businesses matching the query. It then maps the data into structured fields (name, address, phone, and website) and saves them as leads in a separate sheet. If triggered automatically, it marks the original query as "scraped" to prevent reprocessing. Duplicate leads are prevented via a deduplication mechanism based on the Google Place ID. Requirements To use this workflow, you will need: Google Cloud Project:* A project with billing enabled and the *Places API (New)** activated. Google Places API Key:** A valid API key from your Google Cloud Console. Google Sheets Account:** Access to Google Sheets with OAuth2 credentials configured in n8n. n8n Instance:** A running n8n instance (self-hosted or Cloud). Setup instructions Enable the API: In the Google Cloud Console, enable the Places API (New) and generate an API key. Prepare Google Sheets: * Open this spreadsheet template and click Make a copy. Alternatively, create a spreadsheet with two tabs named SEARCH QUERIES and LEADS. Ensure the queries tab has a Scraped column set to FALSE for new entries. Configure Credentials: Set up your Google Sheets OAuth2 credentials in n8n. Import Workflow: Upload the JSON file to your n8n instance. Add API Key: In the Google Places Search HTTP Request node, replace the placeholder with your Places API (New) key. Link Spreadsheets: Update the Google Sheets nodes (Get rows in QUERIES, Append or update lead row) with your specific Spreadsheet ID and sheet names. Test and Activate: Submit a test query via the form or run the schedule trigger manually, then toggle the workflow to Active. Customization ideas Expand Data Points:* In the *Map Places Fields** node, include additional fields from the API response, such as business hours, ratings, or price levels. Switch Destinations:** Replace the Google Sheets "Append" node with a CRM node (e.g., HubSpot, Pipedrive, or Salesforce). Add Notifications:** Connect an Email or Slack node to get notified the moment a high-value lead is found. Refine Search:* Modify the HTTP Request node to include specific location biases or language preferences supported by the *Places API (New)**.
by ZeroBounce
Typeform to Mautic: Advanced ZeroBounce Lead Vetting This workflow automates the transition of new Typeform submissions into Mautic, using ZeroBounce for multi-layer validation (Validation + Scoring). Results are also output to Google Sheets for review. 🚀 How it Works ⚡ Trigger & Verification: Activates on new Typeform submissions and first checks if an email address is provided. Email present: Proceeds to credit check and validation Email missing: Customer details are added to Rejected output for review with reason 'Email missing'. 💳 Credit Management: Before each ZeroBounce call, the workflow checks your account for sufficient credits to prevent node failures. Success: Proceeds to Stage 1 (Validation). Failure: Customer details are added to Rejected output for retry with reason 'Not enough credits'. ✔️ Stage 1: Email Validation: Validates the email address with ZeroBounce. Valid: Adds the result to Accepted output and creates a person in Mautic. Invalid: Logs to a Google Sheet with the validation results and a reason for rejection for review. Catch-all: Proceeds to Stage 2 (Scoring). 🎯 Stage 2: Email Scoring: For "Catch-all" emails, the workflow requests ZeroBounce Scoring. High Score (>=9): Syncs to Mautic. Medium/Low Score: Suppressed and added to a Google Sheet with the assigned score for review. 📤 Output Results: Accepted: Output validation and scoring results to Accepted and Mautic Rejected Output validation and scoring results to Rejected. 💡 Key Benefits ✨ Zero-Waste Sync:** Only "Valid" or "High-Scoring" leads reach your CRM. 🛡️ Credit Safety:** Internal checks ensure you never trigger an API call without credits. 📊 Detailed Suppressions:** Every rejected lead is categorized by reason (e.g. Email Missing, Invalid, Low Score, or Insufficient credits). 🧩 Nodes used in this workflow ZeroBounce Typeform Trigger Mautic Google Sheets (or alternative e.g. Data Table) 📋 Setup Requirements Typeform:** Connect via Access Token or OAuth2 to receive "Form Submission" events. ZeroBounce:* Connect via API Key. *Create one here. Mautic:** Connect via credentials or OAuth2 to create/update people for high-quality leads. Google Sheets:* Connect via OAuth2 to append/update rows in a Google Sheets worksheet. Alternatively, swap these nodes out with any other data storage node e.g. *n8n Data Table* or *Microsoft Excel**. The sheets/tables can be created with the headers: Accepted columns: Email,First Name,Last Name,Accepted At,Accepted Reason,ZB Status,ZB Sub Status,ZB Free Email,ZB Did You Mean,ZB Account,ZB Domain,ZB Domain Age Days,ZB SMTP Provider,ZB MX Found,ZB MX Record,ZB Score Rejected columns Email,First Name,Last Name,Rejected At,Rejected Reason,ZB Status,ZB Sub Status,ZB Free Email,ZB Did You Mean,ZB Account,ZB Domain,ZB Domain Age Days,ZB SMTP Provider,ZB MX Found,ZB MX Record,ZB Score
by Intuz
This n8n template from Intuz provides a complete solution to automate your expense approval and accounting process. It seamlessly connects an Airtable base, where expenses are submitted, to your QuickBooks account, eliminating manual data entry and ensuring financial records are always up-to-date. Who's this workflow for? Accountants & Bookkeepers Small Business Owners Finance Teams Operations Managers How it works 1. Trigger on New Expense: The workflow starts automatically when a new expense record is added to your Airtable base. 2. Filter for Approval: It checks if the expense's Status field is marked as "Approved". Unapproved items are ignored. 3. Create Expense in QuickBooks: For every approved item, the workflow creates a new expense record in QuickBooks, mapping data like amount, date, vendor, and accounts directly from Airtable. 4. Download and Upload Receipt: It downloads the receipt from the URL provided in Airtable and uploads it as an attachment to the corresponding expense record in QuickBooks. 5. Update Airtable Status: Once the expense and receipt are successfully logged in QuickBooks, the workflow updates the record's Status in Airtable to "Done", closing the loop. Setup Instructions 1. Airtable Configuration: Create an Airtable base with a table for your expenses. Ensure your table includes the following columns: Status, Receipt URL, Amount, Date, Memo, QBO Vendor ID, QBO Expense Account ID, and QBO Payment Account ID. Connect your Airtable account to n8n. In the Airtable Trigger, Search records, and Update record nodes, select your credentials and specify your Base ID and Table ID. 2. QuickBooks Configuration: Connect your QuickBooks account to n8n using OAuth2 credentials. In the QBO-Create Expense and QBO-Upload File nodes, replace {YOUR_QUICKBOOKS_COMPANY_ID} in the URL with your actual QuickBooks Company ID. Ensure the Vendor ID and Account IDs in your Airtable records correspond to valid IDs in your QuickBooks account. 3. Activate Workflow: Save the workflow and toggle the "Active" switch to ON. Your expense management is now fully automated! Connect with us: Website: https://www.intuz.com/services Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Worflow Automation Click here- Get Started
by KlickTipp
Community Node Disclaimer: This workflow uses KlickTipp community nodes. How It Works This workflow listens for new or updated customers and for checkout confirmations in Stripe and automatically creates or updates contacts in KlickTipp, enriching profiles for segmentation and automated messaging. Tags are applied dynamically: high-value orders (≥100) get a Premium Customer tag, and purchases with certain SKUs (e.g., clothing) receive product-based tags. The process keeps your database clean, accurate, and updated in real time for targeted campaigns. Perfect for digital product sellers, course creators, and service providers seeking an end-to-end automated sales confirmation process. Setup Instructions KlickTipp Preparation Prepare custom fields Products (Text) Total (Decimal Number) Payment ID (Text) Receipt URL (URL) Prepare tags: Premium customer Clothing buyer Credential Configuration Connect your Stripe account using an API key from the Stripe Dashboard. Authenticate your KlickTipp connection with username/password credentials (API access required). Customization Launch upsell or membership campaigns using tags. Use KlickTipp placeholders ([[Stripe | Products]], [[Stripe | Total]], etc.) for dynamic emails. Route buyers to portals (e.g., Memberspot, Mentortools). Trigger CRM, Slack notification, or invoice creation.
by Jaures NYA
This workflow automates the process of scraping local business listings from Google Maps and generating clean, AI-powered summaries for each one — using Apify (community node) and OpenAI’s GPT-4o. All results are then saved automatically into Google Sheets, ready for lead generation, enrichment, or outreach. What it does This workflow saves hours of manual research by automatically: Scraping structured business data from Google Maps (name, category, address, phone, website, etc.) Creating natural-language summaries for each business using GPT-4o Storing everything into Google Sheets — perfectly formatted for outreach or CRM import Who’s it for This automation is ideal for: Lead generators and sales teams building B2B lists from local businesses Freelancers and agencies prospecting new clients in specific cities or industries Recruiters or marketers looking to enrich business data for campaigns Automation enthusiasts who want to summarize and structure raw scraped data — without writing a single line of code How it works Trigger: The workflow starts manually via the Execute Workflow trigger (ideal for testing or batch runs). Scrape: It uses an Apify actor to scrape Google Maps search results and collect structured business info (name, category, address, phone, website, Google Maps URL...). Fetch Data: The dataset is retrieved from Apify using the actor's dataset ID, and each business is loaded for processing. Deduplicate: Removes duplicate business listings to keep your database clean. Loop Over: Iterates over each business to generate a clean summary, one at a time. Generate Summary: Sends the business data to OpenAI to generate a human-readable paragraph (including name, category, address, city, phone, and Google Maps link). Store: Appends the summarized info into a Google Sheet — your final lead database. Pause for rate limit: Adds a short delay (optional) to control flow or avoid rate limits. Customization Tips Change the Apify search query to target different cities, industries, or keywords. Adjust the OpenAI prompt to include tone, length, or focus areas (e.g., add business highlights). Add filters (e.g., add-on: reviews, add-on: images, etc.). Setup Guide Apify Setup Use a Google Maps scraping actor in Apify. Copy your Actor ID and Token — add them to your Apify node in n8n. Note your Dataset ID (where results are stored). OpenAI Setup Add your OpenAI API key to the Generate Summary node. The model gpt-4o is recommended for best quality/cost balance. Google Sheets Setup Connect your Google account. How to use Set up your Apify actor for Google Maps scraping (or use a prebuilt one). Connect your OpenAI API key to the Message node (company summary). Connect your Google Sheets account and select the target sheet. Run the workflow → it will: 1 Scrape business data 2 Clean and summarize each one 3 Save everything to your spreadsheet. Requirements ✅ A working Apify actor that scrapes Google Maps listings ✅ An OpenAI account (GPT-4) with API access ✅ A Google Sheet for storing the summarized results ❓ Need help Contact me for consulting and support: LinkedIn / YouTube / Skool