This project is an AI-powered chatbot designed for appointment scheduling, built using Node.js and the BuilderBot framework. It integrates with various services including OpenAI's GPT models, Google Calendar, and ChatPDF for enhanced functionality.
- Natural language processing for understanding user intents
- Appointment scheduling and management
- Integration with Google Calendar for real-time availability checks
- Voice note transcription and processing
- PDF querying for information retrieval
- Multi-language support
- Node.js 21 or later
- pnpm package manager
- OpenAI API key
- Google Calendar API credentials
- ChatPDF API key
-
Clone the repository:
git clone https://github.com/leifermendez/bot-google-n8n-calendar cd builderbot-chatbot
-
Install dependencies:
pnpm install
-
Set up environment variables: Create a
.env
file in the root directory and add the following variables:OPEN_API_KEY=your_openai_api_key N8N_ADD_TO_CALENDAR=your_n8n_add_calendar_webhook N8N_GET_FROM_CALENDAR=your_n8n_get_calendar_webhook CHATPDF_API=your_chatpdf_api_endpoint CHATPDF_KEY=your_chatpdf_api_key CHATPDF_SRC=your_chatpdf_source_id DURATION_MEET=45 TZ=your_timezone
-
Build the project:
pnpm build
-
Start the application:
pnpm start
The chatbot can be integrated into various messaging platforms. It handles user interactions, understands intents, and manages the appointment scheduling process.
Key flows include:
- Welcome flow
- Seller flow for general inquiries
- Scheduling flow for appointment booking
- Confirmation flow for finalizing appointments
- Voice note processing
For development, you can use the following command:
pnpm dev
- Use ChatPDF and API documentation
- Use n8nTemplates