Automated Appointment Approval System with GPT-4 Mini, JotForm, and Telegram

Go to Workflow
0 views
Built by Roshan Ramani Roshan Ramani
Created on June 07, 2026

Description

AI Powered All Purpose Appointment System via JotForm

What This Workflow Does

This template automates the entire appointment request lifecycle using AI. When someone submits an appointment request through JotForm, the system automatically sends details for approval, generates personalized confirmation or rejection emails using OpenAI, and maintains recordsβ€”all without manual intervention.

πŸ‘‰ Get JotForm here

Whether you're running a clinic, consulting business, training center, or any service-based operation, this workflow eliminates repetitive email writing and ensures consistent, professional communication. It's fully customizable to work with any appointment form structure.

Who's It For

Service providers (consultants, trainers, coaches)
Healthcare professionals
Educational institutions
Salon and wellness businesses
Event coordinators
Any business handling appointment requests at scale

How It Works

Form Submission – Appointment request arrives via JotForm
Data Extraction – System pulls name, email, phone, date, time, and visit type
Approval Request – Details are sent to Telegram for review and approval
AI Email Generation – OpenAI creates personalized confirmation or rejection email based on approval status
Smart Routing – If approved: records in Google Sheets and sends confirmation. If rejected: removes from system and sends reschedule notice
Automated Follow-up – Requester receives professional email instantly

Getting Started (Quick Setup)

Step 1: Choose Your JotForm
Select any existing appointment form or create a new one in JotForm
The workflow works with any form structure

Step 2: Map Your Form Fields
Identify the field names in your JotForm (name, email, phone, appointment date, time, etc.)
Update the "Parse: Extract Appointment Details" node with your exact field names
This ensures the workflow reads data correctly from your specific form

Step 3: Follow Full Setup Steps
Connect JotForm – Copy the Form ID and API Key
Configure Google Sheets – Create a sheet for appointment records and copy the spreadsheet ID
Setup Telegram – Create a bot via BotFather for approval notifications
Add OpenAI Credentials – Generate an API key at platform.openai.com
Authorize Gmail – Enable Gmail API in Google Cloud Console

Why This Is Customizable

The workflow is built to be flexible from the start. Whether your form collects appointment type, service category, special requests, or any other field, you can easily map those fields into the flow. Just identify what data your form collects and tell the workflow where to find it.

Requirements

JotForm account with an appointment form
Google Sheets for record keeping
Telegram account and bot (for approvals)
OpenAI API key (paid account recommended)
Gmail account for sending emails
n8n instance (self-hosted or cloud)

How to Customize

Change Approval Channel** – Replace Telegram with Slack, Discord, or email by swapping the notification node
Modify Email Templates** – Edit the AI prompt in "Generate: Appointment Response Email" to match your tone and branding
Add More Fields** – Update the Set node to capture additional information from your JotForm like appointment type, service category, or special requests
Adjust Routing Logic** – Modify the conditional node to add approval stages or auto-confirm certain appointment types
Connect CRM** – Add steps to automatically create contacts in HubSpot, Pipedrive, or Salesforce
Enable Reminders** – Use Gmail or SMS nodes to send appointment reminders 24 hours before scheduled time
Extend Data Collection** – Map any custom fields from your JotForm by updating the extraction node to include them

Nodes Used (7)

AI Agent
@n8n/n8n-nodes-langchain.agent
Gmail
n8n-nodes-base.gmail
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured
Telegram
n8n-nodes-base.telegram