Back to Catalog

Voice agent for dental appointment booking with Gemini AI

Lucas WalterLucas Walter
16522 views
2/3/2026
Official Page

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

AI dental appointment booking with Google Calendar and Sheets

Who's it for

This workflow is perfect for dental practices, medical offices, and healthcare providers who want to automate their appointment scheduling process. It's ideal for practices that receive high volumes of appointment requests and want to reduce manual booking while maintaining accurate patient records.

What it does

This AI-powered voice agent handles complete appointment booking workflows for "Pearly Whites Dental." When patients call or submit requests, the system:

  • Analyzes the request using Google Gemini AI to understand patient needs
  • Checks calendar availability in real-time via Google Calendar integration
  • Automatically finds and offers up to 2 available appointment slots when the preferred time isn't available
  • Books confirmed appointments directly to the practice calendar
  • Logs all patient information (name, insurance, concerns) to Google Sheets for record-keeping
  • Maintains conversation context across interactions for natural dialogue flow

The workflow operates in Central Time Zone and assumes standard business hours (8 AM - 5 PM, excluding lunch).

How it works

The system receives webhook requests containing patient interaction data. The AI agent processes this information and determines which tools to use based on the request type. For availability checks, it intelligently searches multiple time slots in 30-minute increments until finding suitable options. All appointments are automatically formatted as "Dental Appointment | [Patient Name]" and logged with complete patient details.

Requirements

  • Google Calendar API access with OAuth2 credentials
  • Google Sheets API access for patient data logging
  • Google Gemini API key for AI processing
  • Webhook endpoint for receiving requests
  • Pre-configured Google Calendar and Sheets document

How to set up

  1. Configure Google Calendar credentials in the calendar tool nodes
  2. Set up Google Sheets integration with your patient tracking spreadsheet
  3. Add your Google Gemini API key to the language model node
  4. Update the calendar ID in both calendar nodes to match your practice calendar
  5. Modify the Google Sheets document ID to point to your patient records sheet
  6. Test the webhook endpoint to ensure proper request processing

How to customize the workflow

  • Adjust business hours by modifying the availability checking logic in the system prompt
  • Change appointment duration by updating the end time calculation (currently set to 1 hour)
  • Modify patient data fields by updating the Google Sheets column mapping
  • Update practice name by changing "Pearly Whites Dental" references in the system prompt
  • Customize response format by adjusting the AI agent's instructions for different appointment types

Voice Agent for Dental Appointment Booking with Gemini AI

This n8n workflow demonstrates how to build a conversational AI agent using Google Gemini and Langchain for potential use in automating dental appointment booking or similar voice-driven interactions. It leverages a webhook to receive input, processes it with an AI agent, and provides a response.

What it does

This workflow sets up a basic AI-powered conversational agent:

  1. Listens for incoming requests: A Webhook node acts as the entry point for the conversation, receiving user input.
  2. Manages conversation history: A Simple Memory node (Memory Buffer Window) maintains the context of the conversation, allowing the AI to remember previous turns.
  3. Processes input with an AI Agent: The AI Agent node (Langchain Agent) serves as the core of the conversational logic. It uses a Google Gemini Chat Model as its underlying language model.
  4. Enables internal thought processes: A Think tool is included, allowing the AI agent to perform internal reasoning or planning before generating a response.
  5. Responds to the caller: The Respond to Webhook node sends the AI agent's generated response back to the system that initiated the webhook call.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n instance: A running n8n instance.
  • Google Gemini API Key: Access to the Google Gemini API is required for the Google Gemini Chat Model node. You will need to configure credentials for this.
  • Langchain Nodes: Ensure the @n8n/n8n-nodes-langchain package is installed and enabled in your n8n instance.

Setup/Usage

  1. Import the workflow: Download the provided JSON and import it into your n8n instance.
  2. Configure Credentials:
    • Open the Google Gemini Chat Model node.
    • Select or create a new credential for Google Gemini. You will need to provide your API Key.
  3. Activate the Webhook:
    • The Webhook node will generate a unique URL when the workflow is activated. This URL will be the endpoint for your voice agent.
    • You can test this by sending a POST request to the webhook URL with a JSON body containing your conversational input.
  4. Activate the workflow: Once configured, activate the workflow to make it live and ready to receive requests.

This workflow provides a foundational structure for building more complex voice agents. You can expand upon it by adding more tools to the AI Agent (e.g., tools for looking up dental appointment availability, booking appointments, sending confirmations, etc.) and integrating with other services.

Related Templates

Track daily moods with AI analysis & reports using GPT-4o, Data Tables & Gmail

Track your daily mood in one tap and receive automated AI summaries of your emotional trends every week and month. Perfect for self-reflection, wellness tracking, or personal analytics. This workflow logs moods sent through a webhook (/mood) into Data Tables, analyzes them weekly and monthly with OpenAI (GPT-4o), and emails you clear summaries and actionable recommendations via Gmail. βš™οΈ How It Works Webhook – Mood β†’ Collects new entries (πŸ™‚, 😐, or 😩) plus an optional note. Set Mood Data β†’ Adds date, hour, and note fields automatically. Insert Mood Row β†’ Stores each record in a Data Table. Weekly Schedule (Sunday 20:00) β†’ Aggregates the last 7 days and sends a summarized report. Monthly Schedule (Day 1 at 08:00) β†’ Aggregates the last 30 days for a deeper AI analysis. OpenAI Analysis β†’ Generates insights, patterns, and 3 actionable recommendations. Gmail β†’ Sends the full report (chart + AI text) to your inbox. πŸ“Š Example Auto-Email Weekly Mood Summary (last 7 days) πŸ™‚ 5 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 😐 2 β–ˆβ–ˆβ–ˆβ–ˆ 😩 0 Average: 1.7 (Positive πŸ™‚) AI Insights: You’re trending upward this week β€” notes show that exercise days improved mood. Try keeping short walks mid-week to stabilize energy. 🧩 Requirements n8n Data Tables enabled OpenAI credential (GPT-4o or GPT-4 Turbo) Gmail OAuth2 credential to send summaries πŸ”§ Setup Instructions Connect your credentials: Add your own OpenAI and Gmail OAuth2 credentials. Set your Data Table ID: Open the Insert Mood Row node and enter your own Data Table ID. Without this, new moods won’t be stored. Replace the email placeholder: In the Gmail nodes, replace your.email@example.com with your actual address. Deploy and run: Send a test POST request to /mood (e.g. { "mood": "πŸ™‚", "note": "productive day" }) to log your first entry. ⚠️ Before activating the workflow, ensure you have configured the Data Table ID in the β€œInsert Mood Row” node. 🧠 AI Analysis Interprets mood patterns using GPT-4o. Highlights trends, potential triggers, and suggests 3 specific actions. Runs automatically every week and month. πŸ”’ Security No personal data is exposed outside your n8n instance. Always remove or anonymize credential references before sharing publicly. πŸ’‘ Ideal For Personal mood journaling and AI feedback Therapists tracking client progress Productivity or self-quantification projects πŸ—’οΈ Sticky Notes Guide 🟑 Mood Logging Webhook POST /mood receives mood + optional note. ⚠️ Configure your own Data Table ID in the β€œInsert Mood Row” node before running. 🟒 Weekly Summary Runs every Sunday 20:00 β†’ aggregates last 7 days β†’ generates AI insights + emails report. πŸ”΅ Monthly Summary Runs on Day 1 at 08:00 β†’ aggregates last 30 days β†’ creates monthly reflection. 🟣 AI Analysis Uses OpenAI GPT-4o to interpret trends and recommend actions. 🟠 Email Delivery Sends formatted summaries to your inbox automatically.

Jose CastilloBy Jose Castillo
105

IT ops AI SlackBot workflow - chat with your knowledge base

Video Demo: Click here to see a video of this workflow in action. Summary Description: The "IT Department Q&A Workflow" is designed to streamline and automate the process of handling IT-related inquiries from employees through Slack. When an employee sends a direct message (DM) to the IT department's Slack channel, the workflow is triggered. The initial step involves the "Receive DMs" node, which listens for new messages. Upon receiving a message, the workflow verifies the webhook by responding to Slack's challenge request, ensuring that the communication channel is active and secure. Once the webhook is verified, the workflow checks if the message sender is a bot using the "Check if Bot" node. If the sender is identified as a bot, the workflow terminates the process to avoid unnecessary actions. If the sender is a human, the workflow sends an acknowledgment message back to the user, confirming that their query is being processed. This is achieved through the "Send Initial Message" node, which posts a simple message like "On it!" to the user's Slack channel. The core functionality of the workflow is powered by the "AI Agent" node, which utilizes the OpenAI GPT-4 model to interpret and respond to the user's query. This AI-driven node processes the text of the received message, generating an appropriate response based on the context and information available. To maintain conversation context, the "Window Buffer Memory" node stores the last five messages from each user, ensuring that the AI agent can provide coherent and contextually relevant answers. Additionally, the workflow includes a custom Knowledge Base (KB) tool (see that tool template here) that integrates with the AI agent, allowing it to search the company's internal KB for relevant information. After generating the response, the workflow cleans up the initial acknowledgment message using the "Delete Initial Message" node to keep the conversation thread clean. Finally, the generated response is sent back to the user via the "Send Message" node, providing them with the information or assistance they requested. This workflow effectively automates the IT support process, reducing response times and improving efficiency. To quickly deploy the Knowledge Ninja app in Slack, use the app manifest below and don't forget to replace the two sample urls: { "display_information": { "name": "Knowledge Ninja", "description": "IT Department Q&A Workflow", "background_color": "005e5e" }, "features": { "bot_user": { "display_name": "IT Ops AI SlackBot Workflow", "always_online": true } }, "oauth_config": { "redirect_urls": [ "Replace everything inside the double quotes with your slack redirect oauth url, for example: https://n8n.domain.com/rest/oauth2-credential/callback" ], "scopes": { "user": [ "search:read" ], "bot": [ "chat:write", "chat:write.customize", "groups:history", "groups:read", "groups:write", "groups:write.invites", "groups:write.topic", "im:history", "im:read", "im:write", "mpim:history", "mpim:read", "mpim:write", "mpim:write.topic", "usergroups:read", "usergroups:write", "users:write", "channels:history" ] } }, "settings": { "event_subscriptions": { "request_url": "Replace everything inside the double quotes with your workflow webhook url, for example: https://n8n.domain.com/webhook/99db3e73-57d8-4107-ab02-5b7e713894ad", "bot_events": [ "message.im" ] }, "orgdeployenabled": false, "socketmodeenabled": false, "tokenrotationenabled": false } }

Angel MenendezBy Angel Menendez
39013

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.

nodaBy noda
52