Automate lead qualification with AI voice calls using GPT-3.5, Notion and Vapi
Website Leads to Voice Demo and Scheduling
Creator: Summer Chang
AI Booking Agent Setup Guide
Overview This automation turns your website into an active booking agent. When someone fills out your form, it automatically:
Adds their information to Notion AI researches their business from their website Calls them immediately with a personalized pitch Updates Notion with call results
Total setup time: 30-45 minutes
What You Need
Before starting, create accounts and gather these:
n8n account (cloud or self-hosted) Notion account - Free plan works duplicate my notion template OpenRouter API key - Get from openrouter.ai Vapi account - Get from vapi.ai
Create an AI assistant Set up a phone number Copy your API key, Assistant ID, and Phone Number ID
How It Works
The Complete Flow
Visitor fills form on your website Form submission creates new record in Notion with Status = "New" Notion Trigger detects new record (checks every minute) Main Workflow executes:
Fetches lead's website AI analyzes their business Updates Notion with analysis Makes Vapi call with personalized intro
Call happens between your AI agent and the lead When call ends, Vapi sends webhook to n8n Webhook Workflow executes:
Fetches call details from Vapi AI generates call summary Updates Notion with results and recording
Automate Lead Qualification with AI Voice Calls using GPT-3.5, Notion, and Vapi
This n8n workflow automates the process of qualifying leads by integrating with Notion for lead management, Vapi for AI voice calls, and an OpenAI-compatible chat model (via OpenRouter) for conversational AI. It streamlines the lead qualification process, allowing for efficient outreach and data capture.
What it does
This workflow performs the following key steps:
- Triggers on New Notion Leads: It listens for new items created or updated in a specified Notion database, which are considered new leads.
- Prepares Lead Data: It processes the incoming Notion data, extracting relevant lead information like name and phone number, and constructs a dynamic prompt for the AI agent.
- Initiates AI Voice Call: It makes an API call to Vapi, initiating an AI-powered outbound voice call to the lead's phone number. The AI agent uses the prepared prompt to guide the conversation.
- Handles Vapi Webhook Responses: It exposes a webhook endpoint to receive real-time updates and results from the Vapi call.
- Processes Call Outcomes:
- If Call Successful: It extracts the AI agent's conversation summary and the call's status.
- If Call Failed/Unanswered: It logs the failure and continues the workflow.
- Analyzes AI Conversation: It uses an AI Agent (powered by an OpenRouter Chat Model) to analyze the conversation summary from Vapi, extracting key qualification details.
- Updates Notion Lead Status: Based on the AI agent's analysis, it updates the original lead item in Notion, marking it as "Qualified" or "Unqualified" and adding the conversation summary.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Instance: A running n8n instance.
- Notion Account: A Notion workspace with a database set up to manage leads. You'll need to configure a Notion API integration with access to this database.
- Vapi Account: An account with Vapi (vapi.ai) to make AI voice calls. You'll need your Vapi API key.
- OpenRouter Account: An account with OpenRouter (openrouter.ai) to access various AI chat models. You'll need your OpenRouter API key.
- OpenRouter Chat Model: A compatible chat model configured within OpenRouter (e.g., GPT-3.5 or similar).
Setup/Usage
- Import the workflow: Download the JSON provided and import it into your n8n instance.
- Configure Credentials:
- Notion: Set up your Notion credential, linking it to your Notion workspace and granting access to the lead database.
- Vapi: Set up an HTTP Request credential for Vapi, using your Vapi API key.
- OpenRouter: Set up your OpenRouter credential, using your OpenRouter API key.
- Configure Notion Trigger (Node 488 "Notion Trigger"):
- Select your Notion credential.
- Choose the Notion database that contains your leads.
- Configure Vapi Call (Node 19 "HTTP Request"):
- Ensure the HTTP Request node is configured to use your Vapi API key for authentication.
- Review the body of the request to ensure it correctly constructs the Vapi call with the lead's phone number and the AI agent's prompt.
- Configure AI Agent (Node 1119 "AI Agent"):
- Ensure the "OpenRouter Chat Model" (Node 1281) is correctly configured with your OpenRouter credential and the desired chat model.
- Review the prompt provided to the AI Agent to ensure it effectively extracts qualification details from the Vapi conversation summary.
- Configure Notion Update (Node 487 "Notion"):
- Select your Notion credential.
- Ensure the database ID matches your lead database.
- Map the output from the AI Agent to the correct properties in your Notion database (e.g., "Status" and "Conversation Summary").
- Activate the Workflow: Once all configurations are complete, activate the workflow. It will now automatically process new leads from Notion, initiate AI voice calls, qualify them, and update their status in Notion.
Related Templates
AI-powered code review with linting, red-marked corrections in Google Sheets & Slack
Advanced Code Review Automation (AI + Lint + Slack) Who’s it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting — all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0–10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your team’s channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow — reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why it’s valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n — combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your team’s review history transparent and centralized.
Generate Weather-Based Date Itineraries with Google Places, OpenRouter AI, and Slack
🧩 What this template does This workflow builds a 120-minute local date course around your starting point by querying Google Places for nearby spots, selecting the top candidates, fetching real-time weather data, letting an AI generate a matching emoji, and drafting a friendly itinerary summary with an LLM in both English and Japanese. It then posts the full bilingual plan with a walking route link and weather emoji to Slack. 👥 Who it’s for Makers and teams who want a plug-and-play bilingual local itinerary generator with weather awareness — no custom code required. ⚙️ How it works Trigger – Manual (or schedule/webhook). Discovery – Google Places nearby search within a configurable radius. Selection – Rank by rating and pick the top 3. Weather – Fetch current weather (via OpenWeatherMap). Emoji – Use an AI model to match the weather with an emoji 🌤️. Planning – An LLM writes the itinerary in Markdown (JP + EN). Route – Compose a Google Maps walking route URL. Share – Post the bilingual itinerary, route link, and weather emoji to Slack. 🧰 Requirements n8n (Cloud or self-hosted) Google Maps Platform (Places API) OpenWeatherMap API key Slack Bot (chat:write) LLM provider (e.g., OpenRouter or DeepL for translation) 🚀 Setup (quick) Open Set → Fields: Config and fill in coords/radius/time limit. Connect Credentials for Google, OpenWeatherMap, Slack, and your LLM. Test the workflow and confirm the bilingual plan + weather emoji appear in Slack. 🛠 Customize Adjust ranking filters (type, min rating). Modify translation settings (target language or tone). Change output layout (side-by-side vs separated). Tune emoji logic or travel mode. Add error handling, retries, or logging for production use.
AI-powered document search with Oracle and ONNX embeddings for recruiting
How it works Create a user for doing Hybrid Search. Clear Existing Data, if present. Add Documents into the table. Create a hybrid index. Run Semantic search on the Documents table for "prioritize teamwork and leadership experience". Run Hybrid search for the text input in the Chat interface on the Documents table. Setup Steps Download the ONNX model allMiniLML12v2augmented.zip Extract the ZIP file on the database server into a directory, for example /opt/oracle/onnx. After extraction, the folder contents should look like: bash bash-4.4$ pwd /opt/oracle/onnx bash-4.4$ ls allMiniLML12_v2.onnx Connect as SYSDBA and create the DBA user sql -- Create DBA user CREATE USER app_admin IDENTIFIED BY "StrongPassword123" DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON users; -- Grant privileges GRANT DBA TO app_admin; GRANT CREATE TABLESPACE, ALTER TABLESPACE, DROP TABLESPACE TO app_admin; Create n8n Oracle DB credentials hybridsearchuser → for hybrid search operations dbadocuser → for DBA setup (user and tablespace creation) Run the workflow Click the manual Trigger It displays Pure semantic search results. Enter search text in Chat interface It displays results for vector and keyword search. Note The workflow currently creates the hybrid search user, docuser with the password visible in plain text inside the n8n Execute SQL node. For better security, consider performing the user creation manually outside n8n. Oracle 23ai or 26ai Database has to be used. Reference Hybrid Search End-End Example