Free
Introduction
In today's detailed guide, we explore how to seamlessly integrate the Airchatty appointment system directly into your SMS Chatbot.
This process enables users to book, reschedule, and manage appointments via SMS or web chat, streamlining scheduling workflows without leaving your messaging platform.
The tutorial emphasizes the core principles, backend setup, and practical implementation steps, ensuring you can deploy this system effectively.
Download Template
Template to be downloaded: https://www.uchat.com.au/templates/ijz0l1e02syd0txwsy8qipfabcbj0l06
How the AirChatty Appointment System Works Inside SMS Chatbot
The integration allows users to interact with an appointment mini app through SMS or web chat, providing a user-friendly, step-by-step booking experience.
The process involves profile setup, timezone detection, date and time selection, confirmation, and backend appointment creation. The system is designed to be flexible, supporting rescheduling and cancellation, with backend automation to sync appointments with external calendars like Google Calendar.
Step-by-Step Breakdown of the Appointment Booking Flow
1. User Profile Initialization
Prompt for First Name
Example: "Mark"Prompt for Last Name
Example: "Anime"Prompt for Email
Example: "[email protected]"
This initial step ensures the system captures essential user details, which are stored for subsequent appointment management.
2. Timezone Detection and Selection
The system detects the user's timezone based on their phone number, e.g., Hungarian timezone.
Display of available time zones:
Users press a number (e.g., '0') to select their timezone.
This ensures appointment times are accurate relative to the user's location.
Example | Input | Description |
---|---|---|
1 | 0 | Selects Budapest timezone (Hungary) |
3. Date Selection
The system fetches upcoming available dates (default: 7 days).
Users select a date by pressing the corresponding number.
Example: '3' for July 11th.
The system retrieves available slots for that date.
Example | Input | Description |
---|---|---|
2 | 3 | Selects July 11th |
4. Time Slot Selection
Available time slots are fetched based on the selected date and timezone.
Users pick a preferred time by pressing a number.
Example: '7' for 5:00 AM, '12' for 9:00 AM.
The system confirms the selected slot and blocks it off to prevent double booking.
Example | Input | Description |
---|---|---|
3 | 12 | Selects 9:00 AM slot |
5. Confirmation and Rescheduling
Users confirm their appointment by pressing '0' to confirm or '1' to change.
If rescheduling, the system fetches available slots again, updating the calendar accordingly.
The system prevents booking past or already reserved slots by dynamically updating available options.
6. Backend Appointment Creation
Once confirmed, the system creates the appointment in the CRM via API.
Key data sent includes:
CRM contact ID
Calendar ID
User-selected date and time
Appointment title and status (must be 'confirmed')
Optional details: meeting link, address, etc.
Parameter | Description | Example |
---|---|---|
contact ID | User's CRM ID | '12345' |
calendar ID | Specific calendar | 'abcde-calendar-id' |
date & time | Appointment slot | '2023-07-11 09:00' |
status | Must be 'confirmed' | 'confirmed' |
The system returns an appointment ID, which is stored for future reference.
Backend Architecture and Data Flow
Step | Action | Data Input | Output/Response | Purpose |
---|---|---|---|---|
1 | Get Time Zone | Phone number | Time zone code | Ensures correct scheduling |
2 | Fetch Available Dates | Time zone, current date | List of dates | Presents options to user |
3 | Fetch Time Slots | Selected date, time zone | Available slots | User picks preferred time |
4 | Convert Dates & Times | Raw date/time data | Readable formats | User-friendly display |
5 | Confirm Appointment | User confirmation | Appointment creation | Finalizes booking |
6 | Create Appointment | User data, calendar info | Appointment ID | Stores appointment in CRM |
Backend Data Handling and JSON Mapping
Time zone detection relies on phone number parsing, mapping to a specific timezone code.
Available slots are fetched via API, returning JSON data with date/time options.
Readable formats are generated for user display, converting raw data into friendly strings.
Appointment creation involves sending structured data to CRM API, including status and optional details.
Practical Implementation Details
Fetching Calendar and User IDs
Use CRM V2 API actions to retrieve calendar IDs and user IDs.
Map these IDs within your flow to ensure correct appointment placement.
Example:
Get Calendars: Returns multiple calendar IDs.
Get Users: Retrieves user IDs for team scheduling.
API Action | Purpose | Sample Response |
---|---|---|
Get Calendars | Map calendar IDs | List of calendar IDs with names |
Get Users | Map user IDs | List of users with IDs |
Managing Multiple Users and Calendars
Store multiple user IDs and calendar IDs in bot fields for team scheduling.
Assign appointments to specific team members based on user input or predefined logic.
User Experience and Flexibility
The system supports rescheduling and cancellation via simple SMS commands.
Users can modify date/time or cancel appointments, with backend updates reflected immediately.
The flow ensures no double bookings by dynamically updating available slots after each selection.
Visual Summary of the Flow
Additional Tips for Implementation
Ensure your CRM API credentials are correctly configured for smooth data exchange.
Map calendar and user IDs accurately to prevent mismatches.
Set appointment status to 'confirmed' to sync with external calendars like Google Calendar.
Customize appointment titles and details to match your branding or service specifics.
Test the flow thoroughly to handle edge cases like overlapping bookings or invalid inputs.
Final Thoughts and Best Practices
Automation reduces manual scheduling errors and improves client experience.
Backend flexibility allows for complex workflows, including team scheduling and multi-calendar management.
User-friendly prompts and real-time updates ensure clarity and ease of use.
Security considerations: Protect user data and API credentials during setup.
Conclusion
Integrating the Air Jelly appointment system within your SMS Vault transforms your messaging platform into a powerful, automated scheduling tool.
By following this comprehensive guide, you can enable your users to book, reschedule, and cancel appointments effortlessly, all while maintaining control over backend processes and calendar synchronization.
This setup not only enhances operational efficiency but also elevates customer experience through seamless communication.