by Nick Saraev
AI LinkedIn Outreach Automation with Apollo, OpenAI & PhantomBuster Categories:* Sales Automation Lead Generation AI Personalization This workflow creates a complete LinkedIn outreach automation system that generates targeted lead lists from Apollo using natural language, enriches profiles with AI-personalized icebreakers, and automatically sends connection requests through PhantomBuster. Built by someone who's made over $1 million with AI automation, this system demonstrates the real-world approach to building profitable automation workflows. Benefits* Natural Language Lead Targeting - Describe your ideal prospects in plain English and automatically generate Apollo search URLs AI-Powered Personalization - Creates custom icebreakers based on LinkedIn profile data, employment history, and professional background Complete Outreach Pipeline - From lead discovery to personalized connection requests, fully automated end-to-end Smart Data Management - Automatically tracks all prospects in Google Sheets with deduplication and status tracking Cost-Effective Scraping - Uses Apify to extract Apollo data without expensive subscription costs Scalable Architecture - Processes hundreds of leads while respecting LinkedIn's connection limits How It Works* Natural Language Lead Generation: Form input accepts audience descriptions in plain English AI converts descriptions into properly formatted Apollo search URLs Automatically includes location, company size, job titles, and keyword filters Apollo Data Extraction: Uses Apify actor to scrape targeted lead lists from Apollo Extracts LinkedIn URLs, email addresses, employment history, and profile data Processes 500+ leads per run with detailed professional information AI Personalization Engine: Analyzes LinkedIn profile data including job history and company information Generates personalized icebreakers using proven connection request templates Creates human-like messages that reference specific career details and achievements Google Sheets Integration: Automatically stores all lead data in organized spreadsheet format Tracks prospect information, contact details, and generated icebreakers Provides easy data management and campaign tracking PhantomBuster Automation: Connects to PhantomBuster API to trigger LinkedIn connection campaigns Sends personalized connection requests with custom icebreakers Respects LinkedIn's daily limits and mimics human behavior patterns Business Use Cases* Sales Teams - Automate prospecting for B2B outreach campaigns Agencies - Scale client acquisition through targeted LinkedIn outreach Recruiters - Find and connect with qualified candidates efficiently Entrepreneurs - Build professional networks in specific industries Business Development - Generate qualified leads for partnership opportunities Revenue Potential This system can replace expensive LinkedIn outreach tools that cost $200-500/month. Users typically see: 400% improvement in response rates through personalization 10x faster lead generation compared to manual prospecting Ability to process 500+ leads per hour vs. 10-20 manually Difficulty Level: Intermediate Estimated Build Time: 1-2 hours Monthly Operating Cost: ~$50 (Apollo + PhantomBuster + AI APIs) Watch My Complete 1-Hour Build* Want to see exactly how I built this system from scratch? I walk through the entire development process live, including all the debugging, API integrations, and real-world testing that goes into building profitable automation systems. π₯ See My Live Build Process: "Build This Automated AI LinkedIn DM System in 1 Hour (N8N)" This comprehensive tutorial shows my actual development approach - including the detours, problem-solving, and iterative testing that real automation building involves. Required Google Sheets Setup* Create a Google Sheet with these exact column headers: Essential Lead Columns: id - Unique prospect identifier first_name - Contact's first name last_name - Contact's last name name - Full name linkedin_url - LinkedIn profile URL title - Current job title email_status - Email verification status photo_url - Profile photo URL icebreaker - AI-generated personalized message Setup Instructions: Create Google Sheet with these headers in row 1 Connect Google Sheets OAuth in n8n Update the document ID in the "Add to Google Sheet" node PhantomBuster will read from this sheet for automated outreach Set Up Steps* Apollo & Apify Configuration: Set up Apify account and obtain API credentials Configure Apollo scraper actor with proper parameters Test lead extraction with sample audience descriptions AI Personalization Setup: Configure OpenAI API for natural language processing and personalization Set up prompt templates for audience targeting and icebreaker generation Test personalization quality with sample LinkedIn profiles Google Sheets Integration: Create lead tracking spreadsheet with proper column structure Configure Google Sheets API credentials and permissions Set up data mapping for automatic lead storage PhantomBuster Connection: Set up PhantomBuster account and LinkedIn connection Configure LinkedIn auto-connect agent with custom message templates Connect API for automated campaign triggering Form and Workflow Setup: Configure form trigger for audience input collection Set up data flow between all components Add proper error handling and rate limiting Testing and Optimization: Start with small batches (5-10 connections daily) Monitor LinkedIn account health and response rates Optimize icebreaker templates based on performance data Important Compliance Notes* LinkedIn Limits: Respect 100 connection requests per week limit Account Safety: Use PhantomBuster's human-like behavior patterns Message Quality: Regularly update templates to avoid automation detection Response Management: Monitor and respond to replies within 24 hours Advanced Extensions* This system can be enhanced with: Multi-channel Outreach: Add email sequences for comprehensive campaigns A/B Testing: Test different icebreaker templates automatically CRM Integration: Connect to Salesforce, HubSpot, or other sales systems Response Tracking: Monitor reply rates and optimize messaging Explore My Channel* For more advanced automation systems that generate real business results, check out my YouTube channel where I share the exact strategies I've used to make over $1 million with AI automation.
by shepard
Overview This workflow leverages the LangChain code node to implement a fully customizable conversational agent. Ideal for users who need granular control over their agent's prompts while reducing unnecessary token consumption from reserved tool-calling functionality (compared to n8n's built-in Conversation Agent). Setup Instructions Configure Gemini Credentials: Set up your Google Gemini API key (Get API key here if needed). Alternatively, you may use other AI provider nodes. Interaction Methods: Test directly in the workflow editor using the "Chat" button Activate the workflow and access the chat interface via the URL provided by the When Chat Message Received node Customization Options Interface Settings: Configure chat UI elements (e.g., title) in the When Chat Message Received node Prompt Engineering: Define agent personality and conversation structure in the Construct & Execute LLM Prompt node's template variable β οΈ Template must preserve {chat_history} and {input} placeholders for proper LangChain operation Model Selection: Swap language models through the language model input field in Construct & Execute LLM Prompt Memory Control: Adjust conversation history length in the Store Conversation History node Requirements: β οΈ This workflow uses the LangChain Code node, which only works on self-hosted n8n. (Refer to LangChain Code node docs)
by Sleak
Who is this template for? This workflow template is designed for business owners and HR professionals to automatically detect and structure unstructured job applications received through email. Additionally, other email categories can be added, each with it's own workflow. How it works Every time a new email is received, an OpenAI model classifies it into a predefined category by analyzing the plain text of the email and the extracted content from the attachment. If the email is classified as a job application, an OpenAI model uses the emailβs plain text and extracted attachment content to populate predefined fields such as age and study. A relevant additional step would be to directly push the applicant and their structured job application into a CRM or ATS like Hubspot or Recruitee. Set up steps Configure your IMAP credentials to connect your email account. Use this n8n documentation page for quickstart guides for common email providers. Connect your OpenAI account in the 'Classify email' node. And add or remove any category for classification in this node. Make sure the description is clear and concise. Connect your OpenAI account in the 'Extract variables - email & attachment' node. And add or remove any predefined fields that should be populated for job applications in this node. Make sure the description is clear and concise.
by n8n Team
This workflow automatically adds closed deals from Pipedrive as new customers into Stripe. Prerequisites Pipedrive account and Pipedrive credentials Stripe account and Stripe credentials How it works Pipedrive trigger node starts the workflow when a deal gets updated in Pipedrive. IF node checks that the current won time is not equal to the previuos one in the deal and continues the workflow if it's true. Pipedrive node extracts the organization's details to pass it further. HTTP Request node searches for the same organization's details within Stripe. If a customer doesn't exist within Stripe, Merge node passes a new customer details to Stripe. Stripe node creates a new customer.
by n8n Team
This workflow adds a new product in Stripe whenever a new product has been added to Pipedrive. Prerequisites Stripe account and Stripe credentials Pipedrive account and Pipedrive credentials How it works Pipedrive trigger node starts the workflow when a new product is added. HTTP Request node creates a new product in Stripe using previuos input. Merge node combines data of both Pipedrive and Stripe inputs. The output will contain the data of Pipedrive input merged with the data of Stripe input. The merge occurs based on the index of the items. The Item Lists node splits prices to separate items. HTTP Request node creates price records in Stripe.
by Shiva
AI Voice Calling Bot - OpenAI GPT-4o + ElevenLabs + Twilio Integration for Multilingual Appointment Booking & Service Orders Overview Transform your business with an intelligent voice calling bot that handles customer calls automatically in 25+ languages. This N8n workflow integrates OpenAI GPT-4o, ElevenLabs text-to-speech, and Twilio for seamless appointment scheduling, pizza orders, and service bookings. Key Features Multilingual Support**: Conversations in English, Spanish, French, German, Italian, Portuguese, Chinese, Japanese, Arabic, and 20+ more languages Natural AI Conversations**: GPT-4o powered responses with ElevenLabs realistic voice synthesis Multi-Service Handling**: Appointments, orders, and service requests with automatic logging Real-time Processing**: Instant speech-to-text and audio response generation Prerequisites N8n instance (self-hosted or cloud) Twilio account with phone number OpenAI API key (GPT-4o access) ElevenLabs API credentials Google Sheets access Cloud storage for audio files Setup Instructions Step 1: Configure Credentials Add API keys for OpenAI, ElevenLabs, Twilio, and Google Sheets in N8n credentials manager. Step 2: Prepare Data Storage Create Google Sheets for call logs and appointments with columns: timestamp, caller_id, speech_input, ai_response, language, call_sid. Step 3: Configure Twilio Set webhook URL to your N8n endpoint: https://your-n8n-instance.com/webhook/voice-webhook Step 4: Update Sheet IDs Replace placeholder Google Sheet IDs in workflow nodes with your actual sheet IDs. Customization Options Voice Settings**: Adjust ElevenLabs multilingual voice models and parameters AI Behavior**: Modify system prompts for specific business needs and languages Service Types**: Add custom service handling logic Business Hours**: Implement language-specific operating hours Monitoring Track call analytics, language preferences, conversion rates, and customer satisfaction across all supported languages through automated Google Sheets logging. Ready for production use with comprehensive error handling and scalability for global businesses.
by n8n Team
This workflow automatically adds a note of the PR from GitHub to the Pipedrive contact if their GitHub email matches a Person in Pipedrive. Prerequisites Pipedrive account and Pipedrive credentials GitHub account and GitHub credentials How it works GitHub Trigger node activates the workflow when a GitHub user adds a PR. HTTP Request node gets the user's data and sends it further. Pipedrive node searches the same email that GitHub user has in Pipedrive. IF node checks whether a person with the same email exists in Pipedrive. In case there's such a person in Pipedrive, the Pipedrive node creates a note within the person's profile.
by Oneclick AI Squad
An intelligent WhatsApp-based chatbot designed for restaurants to automate customer interactions related to table bookings, menu inquiries, opening hours, services, and offers. Built using the n8n automation platform and powered by an AI language model, this solution streamlines communication, boosts efficiency, and improves customer satisfaction. Objectives Automate replies to common customer queries on WhatsApp Handle table booking requests with confirmation Provide menu item details, pricing, and dietary information Share restaurant timing, location, and service availability Promote offers and handle promotional queries Operate 24/7 without manual intervention Store bookings and conversations for reporting and analytics Workflow Summary Step 1: Message Reception Node: WhatsApp Trigger (Webhook or API-based) Function: Listens for incoming customer messages. Step 2: Intent Recognition Node: AI Query Processor (e.g., OpenAI API) Function: Detects customer intent (e.g., booking, menu, timing). Step 3: Conditional Routing Node: Switch or IF Node Function: Routes flow based on detected intent: General information (menu, timing, services) Table booking Step 4A: Respond to General Info Queries Node: AI Response or Static Reply Node Function: Returns relevant information (menu, timing, address, etc.). Step 4B: Process Booking Requests Nodes: Collect Booking Details** (via chatbot interactions) Store Booking Info** (to DB or Google Sheets) Send Booking Confirmation** (to customer) Step 5: Context Management Node: Set/Update Customer Data Function: Maintains conversation state and tracks follow-up messages. Database or Google Sheet Columns for Table Booking | Column Name | Description | | ----------------- | ----------------------------------------------- | | reservation\_id | Unique reservation identifier | | guest\_name | Full name of the guest | | contact\_number | Customerβs WhatsApp or mobile number | | email | (Optional) Email address | | booking\_date | Reservation date (YYYY-MM-DD format) | | booking\_time | Reservation time (HH\:MM format) | | party\_size | Number of guests | | table\_id | (Optional) Table number or identifier | | special\_requests | Allergies, seating preferences, etc. | | status | Booking status: Confirmed / Cancelled / Pending | | created\_at | Timestamp when booking was made | | updated\_at | Timestamp when booking was last modified | Prerequisites Verified WhatsApp Business Account with API access n8n instance (Cloud or self-hosted) Access to an AI service (e.g., OpenAI, Claude) Google Sheets, Airtable, MySQL, or other DB integration Setup Instructions Connect WhatsApp API using webhook or third-party WhatsApp provider (e.g., 360Dialog, Twilio). Integrate AI using HTTP Request or OpenAI node for response generation. Create Data Store (Google Sheet, Airtable, or MySQL) with defined booking columns. Design Workflow in n8n with intent detection, conditional logic, and response nodes. Test End-to-End by sending different WhatsApp queries and checking logs and stored data. Example Conversation Customer: βCan I book a table for 2 people tomorrow at 8 PM?β Bot: βSure. Please provide your name and contact number to confirm the reservation for 2 people at 8:00 PM tomorrow.β \[Booking details are saved, and a confirmation is sent.] Benefits Fully automated customer interaction Supports real-time table reservations Accurate and quick responses Scales without increasing staff effort Operates 24/7 Centralized booking data for analytics Analytics and Reporting Track key performance metrics such as: Number of bookings per day/week Average response time Customer satisfaction scores (via feedback node) Popular menu items or query types Booking conversion rates Security and Compliance End-to-end encrypted WhatsApp messages Role-based access to sensitive data Compliance with data protection regulations (e.g., GDPR) Secure API integrations and storage solutions Conclusion This WhatsApp chatbot serves as a reliable, AI-powered digital front desk for restaurants. Built using n8n and scalable components, it automates customer support, manages bookings, and enhances operational efficiency while offering a seamless customer experience.
by Praveena
Purpose The purpose of this automation is to help context switch from office to some side projects or passion gigs so you can be free of distracting thoughts and re-set your perspective. Benefits Anyone who works full time and also does something on the side (perhaps a side gig/being a mom/just follow your passion project) What you need N8N (lol) Any LLM API Key (I used OpenAI 4.1) IPhone (automations and shortcuts) Template Setup Setup LLM API key. Import template file to new workflow. On Iphone create a new shortcut as per video. Create automation steps. Resources Youtube
by Thomas Janssen
Build an AI Agent which accesses two MCP Servers: a RAG MCP Server and a Search Engine API MCP Server. This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Tutorial Click here to watch the full tutorial on YouTube! How it works We build an AI Agent which has access to two MCP servers: An MCP Server with a RAG database (click here for the RAG MCP Server An MCP Server which can access a Search Engine, so the AI Agent also has access to data about more current events Installation In order to use the MCP Client, you also have to use MCP Server Template. Open the MCP Client "MCP Client: RAG" node and update the SSE Endpoint to the MCP Server workflow Install the "n8n-nodes-mcp" community node via settings > community nodes ONLY FOR SELF-HOSTING: In Docker, click on your n8n container. Navigate to "Exec" and execute the below command to allow community nodes: N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true Navigate to Bright Data and create a new "Web Unlocker API" with the name "mcp_unlocker". Open the "MCP Client" and add the following credentials: How to use it Run the Chat node and start asking questions More detailed instructions Missed a step? Find more detailed instructions here: Personal Newsfeed With Bright Data and n8n What is Retrievel Augmented Generation (RAG)? Large Language Models (LLM's) are trained on data until a specific cutoff date. Imagine a model is trained in December 2023 based data until September 2023. This means the model doesn't have any knowledge about events which happened in 2024. So if you ask the LLM who was the Formula 1 World Champion of 2024, it doesn't know the answer. The solution? Retrieval Augmented Generation. When using Retrieval Augmented Generation, a user's question is being sent to a semantic database. The LLM will use the information retrieved from the semantic database to answer the user's question. What is Model Context Protocol (MCP)? MCP is a communication protocol which is used by AI agents to call tools hosted on external servers. When an MCP client communicates with an MCP server, the server will provide an overview of all its tools, prompts and resources. The MCP server can then choose which tools to execute (based on the user's request) and execute the tools. An MCP client can communicate with multiple MCP servers, which can all host multiple tools.
by Mihai Farcas
This n8n workflow operates as a two-agent system where each agent has a specialized task. The process flows from initial user input to a final analysis, with a seamless handoff between the agents. How it works The Chat Trigger The entire process begins when you send a message using n8n's chat interface. This message serves as the initial prompt or query for the system. The Research Agent Takes Over The user's message is first sent to the Research Agent. This agent's job is to understand the query and gather relevant information. To do this, it has access to: LLM: Google Gemini, which acts as the agent's "brain" to process language and make decisions. Tools: web_search: It uses this tool (powered by your self-hosted SearXNG instance) to perform live searches on the internet. get_current_date: It can access the current date, which is useful for context-aware or time-sensitive research. The Research Agent uses these tools to find the most relevant information related to your query and then compiles it into a concise summary. Handoff to the Sentiment Analysis Agent Once the Research Agent has completed its task, it passes its findings directly to the Sentiment Analysis Agent. The Final Analysis The Sentiment Analysis Agent receives the text from the Research Agent. Its sole purpose, as defined by its system prompt, is to analyze the sentiment of the provided information. It determines if the content is positive, negative, or neutral and formulates a final response. This final analysis is then sent back to you in the chat, completing the workflow. Set up steps Select the Language Model (LLM): This workflow is pre-configured with Google Gemini. You can select a different model for the agents as needed. Configure LLM Credentials: Ensure that valid credentials for your chosen LLM are correctly set up within your n8n instance. Set Up the SearXNG Connection: Configure the node to connect to your self-hosted SearXNG instance. This enables the agent's web search capabilities. Define the Research Agent's Task: Customize the system prompt for the "Research Agent" to define its role, instructions, and how it should conduct its research. Define the Sentiment Analysis Agent's Task: Adjust the system prompt for the "Sentiment Analysis Agent" to specify how it should analyze the information provided by the Research Agent. Test the Workflow: Use the built-in chat interface in the n8n canvas to send a message and verify that the agents are functioning correctly.
by ibrhdotme
Learning something new? Endlessly searching to find the best resources? This workflow finds top community-recommended learning resources on any topic from Hacker News, delivered to your inbox. How it works User submits a topic they want to learn via a simple form. The workflow searches for relevant "Ask HN" posts on Hacker News and extracts top-level comments. An LLM analyzes the comments and identifies the best learning resources. A personalized email is sent to the user with a Markdown formatted list of top recommendations, categorized by resource type (e.g., book, course, article) and difficulty level. Set up steps Add your Google Gemini API credentials. You'll need to create a project and enable the Generative Language API. Add your SMTP credentials for sending emails. Customize the Form and email subject (optional) Activate the workflow Screenshots for Workflow, Form and Email Built on Day-03 as part of the #100DaysOfAgenticAi Fork it, tweak it, have fun!