Запазване на час през WhatsApp с Calendly и AI

Piotr Grudzień
Публикувано 26 мин четене
Концептуална илюстрация със заглавие WhatsApp appointment booking: съобщения за свободни часове, избор и данни на клиента до карта с час в Calendly

Изградете WhatsApp асистент за запазване на час, който отговаря на въпрос за ремонт на велосипед, предлага актуални свободни часове и създава потвърден час в Calendly. Клиентът пита за услугата, избира час и посочва данните си в същия WhatsApp разговор.

Примерът е Harbor Cycle Workshop, фиктивен бизнес, който предлага безплатен 15-минутен Repair assessment (преглед за оценка на ремонта). В нашия контролиран WhatsApp тест клиентът избра 10:00 на 27 октомври 2026 г. в часовата зона Europe/London. Доставеното потвърждение съответстваше на часа в Calendly, от 10:00 до 10:15.

Реални мобилни екранни снимки от WhatsApp. Потвърждението съответстваше на независимо проверения час в Calendly. Имейлите и данните от личните линкове са скрити; имената на контактите са уеднаквени до името на сервиза.

Какво ще прави WhatsApp асистентът за резервации?

Клиентът изпълнява три стъпки в WhatsApp:

Стъпка на клиентаКакво прави Agent
Пита за ремонт на спукана гумаОбяснява началната цена на труда от £12, допълнителната цена на частите и безплатния преглед
Иска дата за прегледЧете наличността в Calendly и предлага часове в часовата зона на сервиза
Избира предложен час и посочва име и имейлСъздава заявения час в Calendly, след което връща потвърждението и линковете за управление

Ще изградите това в шест стъпки: добавяне на знанията за сервиза, подготовка на събитието в Calendly, свързване на неговите инструменти, задаване на инструкциите за резервация, тестване на пълния разговор и повтарянето му в WhatsApp. MCP (Model Context Protocol) е връзката, която позволява на Agent да използва инструментите на Calendly за наличност и резервации.

Какво ви е необходимо

  1. Създайте акаунт в Quickchat AI и потвърдете имейла си, ако бъдете подканени. Бизнес внедряването изисква търговски план и AI кредити; отговорите в Preview и Simulation Testing също използват кредити. Проверете цените на Quickchat AI.
  2. Използвайте Calendly с план Standard или по-висок. Неговата документация за Booking API изисква платен план за създаване на часове, дори ако самата MCP връзка е безплатна.
  3. Осигурете си достъп до съответния Meta бизнес акаунт и номер в WhatsApp Business Platform. Следвайте поддържания процес за потвърждение и проверете тарифите на Meta за съобщения.
  4. Подгответе контролиран клиентски телефон и тестова пощенска кутия. Обозначавайте и отменяйте тестовите часове. Заменете фиктивните бизнес данни преди внедряване.

Изтеглете комплекта Harbor Cycle Workshop за точния Main Prompt, петте изходни статии, настройката на Calendly, текстовете за прехвърляне и тестовите съобщения. Това са редактируеми файлове за настройка, а не импорт с едно кликване. Main Prompt и източниците на знания са дадени и в края на това ръководство.

Първо изградете и тествайте в AI Preview, след това повторете разговора в WhatsApp. За да делегирате част от настройката, използвайте незадължителното ръководство за ChatGPT или Claude със същия комплект.

Стъпка 1: Дайте на Agent знанията за сервиза

Пет кратки статии дават на Agent фактите за услугите, като същевременно разграничават цените, работното време и часовете за резервация.

Концептуална диаграма, която разделя знанията за сервиза, като цени и работно време, от актуалната наличност на часове в Calendly Използвайте знанията за сервиза за стабилните факти, а Calendly за актуалните свободни часове.

  1. При настройката на акаунта изберете варианта с описание. Въведете „Сервизен асистент за Harbor Cycle Workshop, който отговаря на въпроси за ремонт на велосипеди и запазва 15-минутен Repair assessment“, след което изберете Create my AI Agent.
  2. Продължете с Next. Изберете план или Skip for now, за да завършите конфигурацията. Отворете Identity и задайте името на Harbor Cycle Workshop.
  3. Отворете Knowledge Base > Add Article. Въведете заглавието на първия източник в Create custom article, след което изберете Create article.
  4. Поставете пълния източник в Content в Edit Article, изберете Save и изчакайте Ready. Повторете за останалите четири източника. Всяко запазване обработва своята статия.

Локалният екран Edit Article показва заглавието на статията за услугите на Harbor Cycle Workshop, полето Content и бутона Save Поставете пълния източник в Content, след това го запазете и проверете обработката. Локалният редактор показва началото на статията за услугите.

Източник за копиранеКакво установява
1. УслугиБезплатният 15-минутен преглед е оглед, а не запазена ремонтна работа
2. Ориентировъчни цениНачални цени на труда и допълнителни разходи за части
3. Работно време и часовеРаботното време, графикът за прегледи и актуалната наличност са различни неща
4. Местоположение и контактФизическото местоположение и пътят към екипа
5. Човешка помощ и ограничения при резервацииПотвърждение, несигурни резултати, линкове за управление и резервен вариант

Пълните блокове са в приложението със знания за копиране и в папката knowledge/ на комплекта.

Оставете въпросите за наличните на склад части, окончателните оферти и датите на завършване на екипа, когато адаптирате собствената си одобрена документация.

Проверете първия резултат: след като всичките пет източника са Ready, попитайте „Велосипедът ми има спукана гума. Колко може да струва и какво включва прегледът?“ в AI Preview. Търсете началната цена на труда от £12, отделно таксувани части и преглед, който не запазва ремонтна работа.

Мобилен WhatsApp разговор, в който Harbor Cycle Workshop обяснява началната цена на труда от £12 за спукана гума, допълнителната цена на частите и безплатния 15-минутен преглед

Същата проверка на услугата в WhatsApp: трудът започва от £12, частите се заплащат отделно, а безплатният преглед не запазва ремонтна работа.

Стъпка 2: Подгответе събитието в Calendly

Създайте едно събитие Repair assessment с фиксирана продължителност, местоположение и график. Agent ще използва идентификатора на това събитие за наличност и резервации.

Настройка в CalendlyСтойност за демонстрацията
Име и тип на събитиетоRepair assessment; един домакин и един клиент
Продължителност15 минути
Местоположение14 Workshop Lane, Bristol, United Kingdom, изрично фиктивен адрес
Часова зона на наличносттаEurope/London
Вторник до петък10:00 до 16:00
Събота10:00 до 13:00
Понеделник и неделяНяма свободни часове
Плащане и допълнителни задължителни въпросиНяма
  1. В Scheduling в Calendly редактирайте съответното събитие или изберете + Create за ново събитие един на един. Попълнете Event name, Duration, Location и Availability, след което изберете Save changes. Инструкциите на Calendly за настройка на събитие обясняват контролите.
  2. Свържете календара, който Calendly трябва да проверява за конфликти. Задайте собствената часова зона и часове на наличност на събитието, след което добавете реалните изключения за празници и ограниченията за резервации. Избягвайте да променяте споделен график, използван от други събития.
  3. В More options > Notifications and automations редактирайте основното известие по имейл или с покана в календара. Активирайте Include cancel and reschedule links in email invitations and reminders, след което запазете. Тези лични линкове за управление дават на клиентите още един начин да управляват своя час.
  4. Отворете публичната страница на събитието и проверете името му, 15-минутната продължителност, адреса и свободните дати. В Scheduling използвайте Copy link за това конкретно събитие и запазете линка като резервен URL за Стъпка 4.

Реалната публична страница за резервации в Calendly показва Repair assessment, 15-минутна продължителност, фиктивния адрес в Bristol и бележката за контролирана демонстрация Проверете името, продължителността и местоположението на прегледа на публичната му страница за резервации. Това е реалното събитие от демонстрацията.

Сервизът отваря в 09:00, но прегледите започват от 10:00. Графикът на събитието в Calendly и свързаният календар определят кои часове може да предложи Agent.

Стъпка 3: Свържете Calendly и ограничете инструментите му

MCP връзката с Calendly дава на Agent именувани операции. Активирайте операциите за четене, необходими за намиране на събитието и неговите часове, и добавете резервирането само когато инструкциите и проверките са готови.

Концептуална диаграма, на която WhatsApp клиент разговаря с Quickchat AI, който използва Calendly MCP, за да чете часове и да създаде час Концепция: WhatsApp пренася разговора; Quickchat AI отговаря на въпроси за услугите и използва Calendly, за да намери свободни часове и да създаде часа.

Свържете и задайте списъка с инструменти

  1. Отворете Actions & MCPs > Add Action > MCP, изберете Calendly в каталога и завършете процеса на упълномощаване с контролирания акаунт.

Екранът за настройка на Calendly в реалното локално приложение подканва оператора да разреши достъпа Изберете Connect with Calendly, за да упълномощите акаунта. Реален екран от локалната настройка.

  1. Отворете създадения Action с Edit Action. Задайте MCP action name на Harbor Cycle Workshop appointments.
  2. Под Tools задайте Default tool activation на Изкл., след което приложете таблицата по-долу и изберете Save. Ако използвате Use recommended, прегледайте получените превключватели: включеният там инструмент за отмяна е извън обхвата на това ръководство.
ИнструментПо време на настройкатаПо време на теста за резервация
users-get_current_userВкл.Вкл.
event_types-list_event_typesВкл.Вкл.
event_types-list_event_type_available_timesВкл.Вкл.
meetings-create_inviteeИзкл.Вкл., след Стъпка 4 и сервизните тестове
meetings-cancel_event и всеки друг инструмент на CalendlyИзкл.Изкл.
Default tool activationИзкл.Изкл.

Локалният редактор Tools за Calendly, филтриран по meetings-c, показва включено резервиране, изключена отмяна и изключено активиране на инструменти по подразбиране Включете резервирането за Стъпка 5; дръжте го изключено по време на първоначалната настройка. Отмяната и Default tool activation остават изключени. Пример от локалните настройки.

Превключвателите на инструментите избират наличните операции. Main Prompt определя събитието на сервиза, задължителните данни на клиента и кога да се резервира.

Копирайте идентификатора на събитието, без да гадаете

Преди да замените двете операторски стойности в промпта, започнете нов разговор в AI Preview само с трите включени инструмента за четене. Тази заявка за настройка иска данни за събитието, без да проверява часове или да създава час:

Копирайте заявката за справка за събитието (само четене)
Find the active Repair assessment event lasting 15 minutes in my connected Calendly account. Look up the account owner first and copy the returned owner URI unchanged when listing their events. Follow pagination if needed. Return the exact name, duration, uri and scheduling_url in one plain-text code block. Copy both URLs in full. If there is not exactly one match, stop and explain. Do not create, change or cancel anything.

Задръжте курсора върху отговора и изберете Copy. Съпоставете името, продължителността и публичния линк със събитието от Стъпка 2. Запазете пълните uri и scheduling_url за двете настройки на промпта по-долу. Ако справката е двусмислена или неуспешна, разрешете това, преди да включите резервирането.

Използвайте uri за извикванията на инструменти и scheduling_url за резервната страница. Копирайте двете пълни стойности от отговора, включително https://.

Запазете референциите към резервацията за следващите съобщения

Разгънете meetings-create_invitee, дори докато превключвателят му е изключен, за да се покаже Save to memory. Потвърдете тези редове и изберете Save:

JSONPath изразКлюч в паметта
$.resource.eventcalendly_event_uri
$.resource.cancel_urlcalendly_cancel_url
$.resource.reschedule_urlcalendly_reschedule_url

Локалният редактор Save to memory показва три пътя в отговора, съпоставени с ключовете за събитието, линка за отмяна и линка за пренасрочване Всеки JSONPath избира поле от отговора; неговият ключ в паметта прави тази стойност достъпна за следващите съобщения. Пример от локалните настройки.

След резервацията „Мога ли да сменя часа?“ трябва да върне запазения линк за пренасрочване на точно този час. Стъпка 5 проверява точно тази стойност без нова резервация и без търсене по имейл.

Използвайте Europe/London за часовете на сервиза. Quickchat AI преобразува локалните дати програмно и връща обозначени опции. Agent използва избраната от клиента опция, за да резервира.

Как се попълват полетата за събитието и часа

При включени наличност и резервиране инструментите на Calendly приемат локални дати и изрична часова зона. Quickchat AI поема преобразуването към UTC и проверява избрания час още веднъж, преди да го подаде към Calendly. Имената на инструментите остават същите.

СтойностОткъде идваКъде отива
Одобрен идентификатор на събитиетоПроверената справка за събитиетоevent_type за наличността и post_invitee_request.event_type за резервацията
Заявен диапазон от датиОт полунощ на заявената дата до полунощ на следващата календарна датаlocal_start_time, local_end_time и timezone за наличността
Предложен локален часВърнатото display_time на всяка опцияИзборът на клиента и потвърждението на резервацията
Избран часlocal_start_time на опцията, включително отместването му, и timezonepost_invitee_request.local_start_time и booking_timezone за резервацията
Данни на клиентаИме, имейл и потвърдена часова зона на клиентаpost_invitee_request.invitee
Фиксирано физическо местоположениеКонфигурацията на събитието и сервизаpost_invitee_request.location

Ясна заявка за предложен час плюс задължителните данни на клиента са достатъчни, за да се продължи. Ако заявката е колеблива или неясна, Agent първо иска потвърждение. Quickchat AI съпоставя избрания момент с текущата наличност и изпраща на Calendly оригиналното му времево клеймо.

Стъпка 4: Задайте инструкциите за резервация и пътя към екипа

Main Prompt обединява фактите за услугите и календарните инструменти в един разговор: проверете часовете, получете ясен избор и задължителните данни, резервирайте, след това потвърдете резултата. „Ще взема 10:00“ заедно с името и имейла на клиента може да завърши заявката. Колеблив избор или липсваща подробност води до въпрос преди резервацията.

Мобилен WhatsApp разговор с предложените часове и изричния избор на Riley на 10:00, последван от името и скрит имейл

„Ще взема 10:00“ плюс задължителните данни представлява ясна заявка за резервация. Agent може да продължи, без да иска от клиента да повтори избора си.

Инсталирайте пълния Main Prompt

Отворете Identity > Main Prompt и поставете пълния Main Prompt, включен в комплекта и като main-prompt.txt. Заменете NOT CONFIGURED само на тези два реда с настройки:

Настройка в промптаСтойност за поставяне
Approved Calendly event type URIПълният uri от Стъпка 3
Approved Calendly booking linkПровереният публичен scheduling_url

Оставете по-нататъшното предпазно изречение непроменено. Main Prompt се запазва автоматично; изчакайте запазването да завърши и го отворете отново, за да проверите съхранения текст. Фиктивното местоположение се появява в знанията, събитието и инструкцията за резервация. За реален сервиз актуализирайте всичките три заедно.

Операторските настройки в реалния локален редактор на Main Prompt показват URI на събитието и линка за резервация, които очакват конфигуриране Задайте URI на събитието и резервния линк за резервация в Main Prompt, след което проверете запазените стойности. Реален локален редактор.

Конфигурирайте Human Handoff

Отворете Actions & MCPs > Human Handoff, активирайте го и включете AI summary. В Handoff Rules използвайте бутона плюс, за да добавите Workshop handoff, активирайте правилото и поставете следното в Description:

Копирайте Description на правилото Workshop handoff
Offer Human Handoff when the customer asks for a person; needs a final quote, parts availability or repair completion date; describes unsafe brakes, crash or frame damage, or an e-bike battery problem; or encounters a booking failure, uncertain booking result or problem with an existing appointment. Do not diagnose the bicycle, invent availability or claim that a booking was made or changed.

Задайте Question на:

Would you like me to pass this conversation to the workshop team?

Задайте Confirmation на:

Your conversation has been flagged for the workshop team to review. A member of staff can reply here when available. This handoff has not booked an appointment.

Локалните настройки на Human Handoff показват активираното действие, въпроса на сервиза и текста на потвърждението Question пита преди прехвърлянето; Confirmation обяснява, че екипът може да отговори и че не е запазен час. Пример от локалните настройки.

Оставете активирани поведението при изрично искане от потребителя и Lack of knowledge. Оставете Human Agents’ availability без ограничения, така че клиентите да могат да влизат в опашката, докато екипът е офлайн. Използвайте Email notifications само с реален наблюдаван адрес; фиктивният адрес .example не може да ги получава. Запазете настройките.

Тествайте този път към екипа след разговора за резервация в Стъпка 6.

Стъпка 5: Тествайте разговора и резултата в календара

Първо пуснете четирите въпроса за услугите, след това завършете един разговор за резервация в AI Preview. Проверете часа в Calendly, преди да преместите разговора в WhatsApp.

Проверете отговорите за услугите в Simulation Testing

Дръжте meetings-create_invitee изключен, докато проверявате четирите въпроса за услугите.

Локалната странична лента на Quickchat AI и страницата Simulation Testing показват къде да създадете или отворите dataset за сервиза Отворете Testing, за да създадете или намерите dataset за сервиза. Пример от локалната конфигурация.

  1. Отворете Testing в страничната лента. Заглавието на страницата е Simulation Testing.
  2. Изберете Create Dataset > Paste messages и го наименувайте Workshop service checks.
  3. Поставете тези четири съобщения, разделени с ред, съдържащ само ---, след което изберете Create:
Копирайте четирите тестови съобщения за услугите
My bike has a puncture. How much might it cost, and what does the assessment cover?
---
Are you open on Monday? Can I bring my bike on Saturday?
---
Do you have my inner tube in stock, and can you finish the repair tomorrow?
---
What should I bring to my Repair assessment?

Отворете dataset, поставете следното в Evaluation criteria, след което изберете Save:

Копирайте критериите за оценка на услугите
Check service facts against the workshop knowledge. Puncture labour starts at £12 with parts extra. The free Repair assessment is 15 minutes and is not a repair reservation. Monday is closed. Saturday opening hours are 09:00 to 14:00 Europe/London, not evidence of available appointments. Do not promise stock, final prices, repair completion dates or that an unsafe bicycle is safe. Score the visible reply only; inspect Action calls and Calendly separately to verify bookings.

Локалният dataset Workshop service checks съдържа четири въпроса за услугите, без показано изпълнение или оценки Четирите въпроса за услугите в локалния dataset, готови за първото му изпълнение.

За да пуснете и прегледате проверките:

  1. Изберете Run, дайте на изпълнението етикет като workshop service baseline, прегледайте показаната цена в кредити и изберете Start Run.
  2. Отворете завършеното изпълнение и прочетете всеки отговор, AI Score и обосновката на оценката. Използвайте View, за да разгледате разговора.
  3. Проверете евентуалното възлагане при прехвърляне и резюмето в Inbox.

Всеки елемент от dataset започва нов разговор. За резервацията използвайте непрекъснатия тест в Preview по-долу. Ръководството за тестване на AI агент за поддръжка обяснява как да сравнявате изпълнения след промяна.

Проведете един пълен разговор за резервация

Концептуална диаграма със справка за наличност, ясен избор на клиента, име и имейл, заявка за резервация и проверка на резултата Прочетете наличността, установете заявения час и съберете данните за него. Потвърдете резервацията само след като Calendly върне успех.

След като завършите Стъпки 1–4 и проверките на услугите, включете meetings-create_invitee в Tools, изберете Save и започнете нов разговор в AI Preview. Използвайте бъдеща дата в диапазона за резервации на събитието и пощенска кутия, която контролирате.

Изпратете по редОчакван резултат
„Задната ми гума е спукана. Колко струва ремонтът?“Начална цена на труда, части отделно и без обвързваща оферта
„Искам Repair assessment на [пълна бъдеща дата], в Europe/London.“Свободни часове на заявената дата, обозначени в часовата зона на сервиза
„Ще взема опция [номер]. Казвам се [тестово име], имейлът ми е [контролиран имейл].“Един час, съответстващ на избраните дата и време, последван от потвърждението му
„Може ли да ми изпратите линка за смяна на часа?“Запазеният URL за пренасрочване, без нова резервация
„Какво да нося?“Съвети за подготовка от знанията за сервиза

Заменете инструкциите в квадратни скоби със своите тестови стойности. Посочвайте изрично пълната дата и часовата зона. Ако липсва подробност или заявката е неясна, отговорете на въпроса на Agent, преди да продължите; той не трябва да измисля име, имейл или избор на час.

Проверете часа и последващите действия

  1. В съответния разговор в Inbox разгънете индикатора за извикване на действие. Проверете, че извикването за резервация следва ясен избор и задължителните данни на клиента.
  2. Отворете часа в Calendly. Съпоставете събитието, пълната дата, часовата зона, продължителността, местоположението и тестовия клиент със заявения час и доставеното потвърждение.
  3. Поискайте линка за пренасрочване и съветите за подготовка. Сравнете линка с Inbox > Details > Memory, както е показано в ръководството за проверка по-долу.

Локалният Inbox разгъва примерно извикване за резервация, за да покаже името на инструмента, аргументите и резултата Разгънете извикания Action, за да разгледате входните данни и резултата му. Локални тестови данни със синтетичен отговор на резервация.

Концептуална диаграма, която сравнява избрания час и данните на клиента със запазения запис в Calendly и след това отменя контролирания тест Сравнете избраните дата, час и зона със записа при доставчика, след което почистете контролирания тест.

Разгледайте лога на Action и запазените линкове за резервацията

За историята на Action отворете Actions & MCPs и изберете View logs при Harbor Cycle Workshop appointments. Отворете извикването за резервация и разгледайте Parameters sent за идентификатора на събитието, post_invitee_request.local_start_time и booking_timezone, където са видими. Свържете извикването с неговия разговор, преди да го сравните с избора и данните на клиента.

Локалната карта на Action за Calendly показва контролата View logs Изберете View logs на картата на Action, за да намерите записаните извиквания. Локални тестови данни.

Локалният лог на Action за Calendly показва local_start_time и booking_timezone в примерна заявка за резервация Съпоставете видимите Parameters sent с избрания час. Локални тестови данни със синтетична заявка за резервация.

Отворете часа в Calendly за пълните му данни и ги съпоставете със заявения от клиента час. Тази таблица свързва тези данни с полетата на резервацията:

Заявена подробностЗаявка за резервацияЗапазен час
Repair assessment, 15 минутиОдобреният event_typeПравилно събитие и продължителност
Пълна дата, час и зонаИзбраните local_start_time и booking_timezone; отделно timezone на поканенияСъщият момент, като се отчете зоната за показване на оператора
Име и имейлinviteeПредвиденият тестов клиент
Адрес на сервизаФизическото locationСъщото физическо местоположение

За „Може ли да ми изпратите линка за смяна на часа?“ отворете Inbox > Details > Memory. Задръжте курсора върху Calendly Reschedule Url, изберете Copy и сравнете пълната стойност с адреса, към който води отговорът.

Локалният панел Details в Inbox показва Memory със запазените полета за резервацията в Calendly и линковете за управление Отворете Memory и използвайте Copy за пълния запазен линк. Локални тестови данни с нефункционални примерни URL адреси.

Това проверява извличането на линка от този разговор. То не установява, че клиентът е завършил пренасрочване.

Проверете датата и часовата зона

Използвайте пълната дата, включително годината, и Europe/London за този час на място. Лондон преминава между британското лятно време и GMT, така че един и същ час по часовника може да съответства на различни UTC часове. Интеграцията на Quickchat AI с Calendly извършва това преобразуване програмно и резервира със съответстващото времево клеймо, върнато от Calendly.

Концептуална диаграма, която сравнява 10:00 в Лондон с 09:00 UTC по време на британското лятно време и 10:00 UTC след смяната на часовото време Един и същ час по лондонския часовник съответства на различни UTC часове преди и след смяната на часовото време.

Когато четете часа в Calendly, вземете предвид показаната там часова зона, когато го сравнявате с избрания от клиента час. За дата със смяна на часовото време заявката за наличност трябва да покрива целия локален ден: двете му граници в полунощ може да са на 23 или 25 часа една от друга. Ако има разлика от един час, коригирайте обработката на датата или зоната и повторете проверката преди нова резервация.

Проверете смяна на датата, липсващи свободни часове и други гранични случаи
ПроверкаУспешен резултат
Смяна на датата след избор на часНова справка за наличност и ясен избор на новия час преди резервацията
Искане за 09:00, защото сервизът е отворенБез измислен свободен час; използва действителната наличност на прегледа
Пропускане на имейла или „10:00 може би ще стане“Въпрос за установяване на липсващата подробност или ясното намерение; още без резервация
Само „да“ без установен текущ часУточнение, а не нова резервация
Повторно „да“ или искане на линк за управление след успешна резервацияПотвърждава съществуващия час; без втора резервация
Искане за недостъпна дата или зает часБез предлагане на несъществуващ час и без твърдение, че алтернативите са задържани или резервирани
Искане за търсене на чужда резервация по имейлБез търсене и без разкриване
Описание на щети от катастрофа или спирачки, които може да са опасниБез дистанционни уверения за безопасност; съвет да не се кара и помощ от екипа

Използвайте отделни разговори там, където прехвърлянето би прекратило теста. Включете дата в лятното и дата в зимното часово време, когато са налични за тестване.

Отстранете проблеми при тест, който не завършва
СимптомКакво да проверитеСледваща стъпка
Няма часове за ден, който изглежда отворенАктивиране на събитието, график на събитието, календар за конфликти и заявен локален диапазон от дати и зонаПроверете действителната наличност на събитието; работното време на сервиза не създава свободни часове
Отговор или запазен час е изместен с един часВърнатото display_time, одобрените локална дата/зона, избраният local_start_time, booking_timezone и зоната за показване при доставчикаСпрете тестовете за резервация, намерете първото разминаване и повторете проверката на локалния час преди следващ запис в календара
Calendly отхвърля резервацияДействителната грешка, правата за резервации по плана и задължителните полета на събитиетоКоригирайте конкретната конфигурация или липсващото поле; не заключавайте за неуспех само от чата
Резултатът е несигуренИсторията на извикванията и действителният час в CalendlyОставете екипа да установи дали съществува резервация, преди всеки повторен опит или подаване през публичната страница
Линкът за пренасрочване липсваЗаписването на отговора на резервацията и Details > Memory в същия разговорПроверете трите пътя в паметта; използвайте потвърждението на клиента или екипа, ако не е записан линк
WhatsApp не изпраща отговорСъответният елемент в Inbox, състоянието на връзката/доставката, оставащите кредити и на кого е възложен разговорътРазрешете проблемите с доставката или кредитите; върнете възлагането на AI Agent, ако завършено прехвърляне все още спира отговорите
Отговор от екипа не може да бъде изпратенВремето на последното съобщение от клиентаПроверете 24-часовия прозорец, описан в Стъпка 6, преди да изпратите обикновен отговор

Ръководството за надеждност на действията обяснява как да проследите резултат до съответната инструкция, извикване и запазен запис. След промяна повторете засегнатия случай и един обикновен разговор за резервация.

Отменете обозначения тестов час от Preview, след като запишете резултата му, и проверете отмяната в Calendly.

Стъпка 6: Завършете резервацията в WhatsApp

Свържете тествания Agent с бизнес номера, след което проведете същия разговор от въпрос за услугата до резервация от контролиран клиентски телефон.

Панелът за свързване на WhatsApp изброява предварителните изисквания за бизнес акаунта, опциите за номер и бутона Connect WhatsApp Реалният локален панел за настройка показва вариантите за номер преди свързването. Изберете варианта, който отговаря на вашия номер.

  1. Отворете Channels > External Apps > WhatsApp и изберете Connect WhatsApp. Завършете поддържаната от Meta настройка на акаунт и номер. Документацията за свързване на WhatsApp описва актуалните опции за потвърждение.
  2. Потвърдете, че съответният номер е активиран за този Agent. Изпратете от тестовия телефон въпрос за услугата, с който клиентът започва разговора, и проверете както доставения отговор, така и разговора в Inbox.
  3. В настройката на канала потърсете AI reply delivered. Waiting for your first message и Waiting for the AI reply to be delivered са междинни състояния.
  4. Продължете в същия разговор с последователността за резервация от Стъпка 5. Установете пълната дата и зона, ясно изберете един от върнатите часове и посочете контролираните име и имейл. Проверете потвърждението на телефона и съответното извикване за резервация в Inbox.
  5. Отворете часа в Calendly. Съпоставете събитието, датата, часовата зона, момента, продължителността и поканения със заявката и потвърждението в WhatsApp.

В нашия WhatsApp тест клиентът поиска Repair assessment на 27 октомври 2026 г. в Лондон. Agent предложи 10:00, 10:30 и 11:00:

Мобилен екран на WhatsApp със заявката на клиента за 27 октомври 2026 г. в Лондон и Agent, който предлага 10:00, 10:30 и 11:00

Клиентът иска дата в Лондон. Отговорът предлага три часа и изрично посочва Europe/London.

След това клиентът избра 10:00 и посочи тестовите име и имейл. Следващият отговор потвърди часа и включи линковете за управление от Calendly:

Мобилен екран на WhatsApp с избора на клиента на 10:00, последван от потвърдения Repair assessment, местоположение, дата, часова зона и линкове за управление, със скрити лични данни

Резервацията завършва в WhatsApp. Потвърждението дава данните за часа и лични линкове за отмяна и пренасрочване; личните стойности тук са скрити.

Независима проверка в Calendly откри един съответстващ 15-минутен преглед със същите дата, час и тестов клиент. Отменихме го след проверката и потвърдихме, че не остава съответстващ активен час.

Вижте съответстващия отговор от Calendly

Този откъс е от реалното събитие в Calendly, прочетено преди почистването. На 27 октомври 2026 г. Europe/London е на GMT, така че 10:00:00Z е 10:00 в Лондон.

{
  "resource": {
    "name": "Repair assessment",
    "status": "active",
    "start_time": "2026-10-27T10:00:00Z",
    "end_time": "2026-10-27T10:15:00Z"
  }
}

Отделно съпоставихме тестовия клиент и събитието, след което отменихме часа. Личните идентификатори и линковете за управление са пропуснати.

Завършете в същата WhatsApp нишка, като попитате „Какво да нося?“ и поискате запазения линк за пренасрочване. Запазете заедно доставения разговор и съответстващия час в Calendly като резултат от теста. Проверете отделно всяко конфигурирано имейл известие в тестовата пощенска кутия, след което отменете обозначения час и проверете отмяната му.

Проверете прехвърлянето към екипа и връщането към Agent

Тествайте Human Handoff след разговора за резервация, защото прехвърлянето поставя отговорите на AI на пауза. Разговор в опашката чака присъединяване на служител; конфигурирайте наблюдавана опашка и избягвайте да обещавате време за отговор.

  1. От клиентския телефон поискайте да говорите с човек.
  2. Отворете съответния разговор в Inbox и проверете възлагането при прехвърлянето и AI резюмето. Изберете Assign to me.
  3. Използвайте Send message, за да изпратите видим за клиента отговор от екипа. Потвърдете, че същият отговор пристига на телефона, и проверете статуса му Delivered или Read. Вътрешната бележка не е съобщение до клиента.
  4. Изберете AI Agent в падащото меню за възлагане. Задайте отново въпроса за подготовката от телефона и проверете, че Agent възобновява отговорите.

WhatsApp позволява обикновени отговори в рамките на 24 часа от последното съобщение на клиента. Ново съобщение от клиента нулира този прозорец. След като той се затвори, операторът трябва да изчака друго съобщение от клиента или да използва одобрен шаблон за съобщение; обикновеното поле за отговор е деактивирано. Вижте политиката на Meta за съобщения и ръководството за Inbox.

Локалната AI Note в Inbox резюмира искане за разговор с екипа на Harbor Cycle Workshop Една AI Note дава на екипа контекста на разговора. По-ранен локален пример за прехвърляне; разгледайте този изглед след собствения си тест.

Използвайте публичната страница за резервации, когато запазването през чата не може да продължи

Когато запазването през чата не може да продължи и няма неразрешена заявка за резервация, предложете одобрения линк към събитието. Обяснете, че клиентът избира часа, въвежда данните си и потвърждава в Calendly. Той трябва да провери показаната на страницата часова зона и окончателното потвърждение. Agent не получава автоматично доказателство за това отделно подаване през уебсайта.

Ако е възможно вече да съществува резервация, оставете екипа да провери, преди да опитате отново или да насочите клиента да подаде заявка през страницата. За по-късни промени използвайте запазения в този разговор линк за управление или потвърждението на клиента от Calendly; дръжте инструмента за отмяна изключен.

Преди да използвате настройката с клиенти, заменете фиктивните бизнес данни, проверете изключенията в календара и потвърдете кой наблюдава опашката на екипа. Пуснете отново проверките на услугите и пълния разговор след промяна на знанията, промпта или инструментите.

Общото ръководство за планиране с Calendly обхваща по-широкия работен процес с инструменти и памет; тази реализация добавя знания за сервиза и проверка в WhatsApp.

ЧЗВ за запазване на час през WhatsApp

Могат ли клиентите да запазят час в Calendly директно в WhatsApp?

Да. Quickchat AI може да предложи актуални свободни часове от Calendly, да събере името и имейла на клиента и да създаде избрания час в самия WhatsApp разговор. Публичната страница за резервации е резервен вариант, ако запазването през чата не може да продължи; отварянето на този линк не резервира час.

Нужен ли е на клиента акаунт в Calendly?

Не. Бизнесът свързва своя акаунт в Calendly с Quickchat AI. Клиентът избира един от предложените часове и посочва името и имейла си в разговора.

Мога ли да използвам самостоятелното приложение WhatsApp Business?

Този Agent използва WhatsApp Business Platform чрез връзката с канала на Quickchat AI. Самостоятелното приложение Business само по себе си не го изпълнява. Използвайте поддържаните опции за номер и потвърждение, показани при свързването.

Безплатно ли е запазването на час през WhatsApp?

Създаването на часове чрез Booking API на Calendly изисква план Standard или по-висок, въпреки че свързването с неговия MCP сървър може да е безплатно. Внедреният бизнес Agent също се нуждае от търговски план на Quickchat AI и AI кредити. Таксите на Meta зависят от маршрута на съобщенията, категорията и пазара на получателя.

Кога часът действително се запазва?

След като клиентът ясно поиска свободен час, посочи задължителните данни и Calendly успешно приеме заявката за резервация. Само предложен час или имейл адрес не създава резервация. Съпоставете потвърждението с действителния час в Calendly.

Как клиентите отменят или пренасрочват час?

Agent може да сподели личния линк за управление, запазен от резервация, която е създал в този разговор. Ако този линк не е наличен, клиентът използва потвърждението си от Calendly или се обръща към екипа. В тази конфигурация инструментът за отмяна остава изключен и часове не се търсят по въведен имейл адрес.

Ще изпраща ли това напомняния за час в WhatsApp?

Тази конфигурация обхваща разговори, започнати от клиента, и създаване на часове. Потвърждението от Calendly е отделно от напомняне в WhatsApp. Планираните напомняния в WhatsApp изискват отделно тестван планировчик, съгласие на получателя, шаблони, където са необходими, и настройка на доставката.

Може ли ChatGPT или Claude да подготви този WhatsApp асистент?

Конекторът за акаунт на Quickchat AI може да подготви голяма част от конфигурацията на Agent. Той може да запази предоставените инструкции и статии, да подготви dataset за услугите и да създаде ограничен Action за Calendly. Вие преглеждате останалите настройки и упълномощавате външните акаунти.

Това е отделна връзка от Calendly MCP. Вашият AI клиент използва конектора за акаунт, за да управлява Agent; по-късно Agent използва инструментите на Calendly в разговорите с клиенти.

Панел за свързване на акаунт в Quickchat AI с URL на MCP сървъра и раздели за ChatGPT, Claude и други клиенти Отворете Manage your AI in над страничната лента на таблото за управление. Този реален локален панел свързва AI клиент с управлението на акаунта; свържете WhatsApp номера за клиенти в Стъпка 6.

  1. Отворете Quickchat AI в ChatGPT и изберете Install plugin, или използвайте страницата на Quickchat AI в Claude Directory. Влезте в акаунта, който ще притежава този Agent.
  2. Разархивирайте комплекта за сервиза. Прикачете текстовите му файлове и всичките пет файла в knowledge/ или поставете съдържанието им в разговора.
  3. Изпратете заявката за настройка по-долу и прегледайте всички одобрения, които вашият AI клиент поиска.
Копирайте заявката за настройка на акаунта
Use the Quickchat AI connector to prepare Harbor Cycle Workshop from the attached tutorial kit. Inspect your available tools and my Agents first. Use a dedicated empty Agent or create one if needed. Leave my other working Agents alone. Show me the selected Agent’s name and ID.

Save main-prompt.txt and the five knowledge articles verbatim. Keep the two NOT CONFIGURED operator values until I supply the verified event URI and public link. Use calendly-setup.md for the event, tool and memory configuration.

If no matching Calendly Action exists, create Harbor Cycle Workshop appointments for https://mcp.calendly.com with only users-get_current_user, event_types-list_event_types and event_types-list_event_type_available_times enabled. Keep booking, cancellation and all other tools off. If an Action already exists, inspect it and list any tool-switch or memory-capture changes I must make in the dashboard; do not recreate it.

Create Workshop service checks from simulation-messages.txt and simulation-rubric.txt, without running it.

Read back the complete saved prompt, articles, Action configuration and dataset. Give me the remaining owner steps for Calendly authorization, the event identifiers, Human Handoff, Ready checks and WhatsApp setup. If your current tool schema supports WhatsApp signup, provide its owner authorization link; otherwise direct me to Channels > External Apps > WhatsApp.

Do not send test messages, run simulations or book appointments yet.

Асистентът трябва да провери наличните си инструменти, вместо да заключава за дадена възможност от името на конектора. Използвайте тези граници, когато преглеждате резултата му:

ПодготовкаОставаща проверка от собственика
Запазени Main Prompt и статииПроверете пълния текст и изчакайте всяка статия да покаже Ready в таблото за управление
Нов Action за Calendly, ограничен до три инструмента за четенеУпълномощете Calendly в редактора на Action; проверете запазените превключватели и пътища в паметта
Съществуващ Action за CalendlyПрегледайте отделните инструменти, Default tool activation и Save to memory в таблото за управление
Dataset за услугите на сервизаПрегледайте съобщенията и критериите му, след което разрешете изпълнение отделно
Human Handoff и WhatsAppКонфигурирайте прехвърлянето в таблото за управление и завършете избора на бизнес акаунт и номер в Meta

Упълномощаването на Calendly може да активира Action, така че в този момент новият Action трябва да съдържа само трите инструмента за четене. Включването или изключването на цял Action е различно от включването на инструмента му за резервация. Ако AI клиентът не може да изпълни някоя стъпка, използвайте съответните номерирани инструкции в Стъпки 1–6. Ръководството за MCP на акаунта обхваща други съвместими клиенти.

Върнете се към Стъпки 1–6, за да прегледате останалата конфигурация, и пропуснете вече завършените стъпки за създаване. Разрешавайте поетапните тестове отделно: съобщенията в Preview и изпълненията на симулации използват кредити и могат да изпълнят включени Actions.

Main Prompt за копиране

Поставете този пълен блок в Identity > Main Prompt в Стъпка 4, след което заменете само двете операторски стойности, посочени там. Комплектът предоставя същото съдържание байт за байт в main-prompt.txt. Промптът и блоковете със знания по-долу остават на английски, защото това е точният текст, тестван в тази демонстрация.

Копирайте пълния Main Prompt
You are Harbor Cycle Workshop's service and appointment assistant. Use concise British English suitable for WhatsApp. Answer service questions from the supplied knowledge. An assessment is a free 15-minute inspection, not reserved repair work. Starting prices cover labour; parts cost extra. Do not invent stock, final quotes, completion dates or a diagnosis.

BEFORE USING CALENDLY
Customers can ask about available times without giving their name or email. Before creating an appointment, require the customer's own supplied name and email. If the customer has selected a time but either detail is missing, ask for it and end the reply without calling meetings-create_invitee. Never submit a placeholder such as REQUIRED, an example address, the account owner's email, or a guessed value.

Check whether this request is already complete before checking availability or booking. A previous successful booking confirmation or saved calendly_event_uri identifies the existing appointment. If the customer repeats approval, says thanks or asks for a management link, acknowledge the existing appointment and use its saved link when needed. Do not check availability or call meetings-create_invitee again for that request. Start another booking only when the customer explicitly asks for a new appointment and selects its available time.

OPERATOR SETTINGS
Appointment: Repair assessment, 15 minutes.
Workshop time zone: Europe/London.
Workshop location: 14 Workshop Lane, Bristol, United Kingdom.
Approved Calendly event type URI: NOT CONFIGURED
Approved Calendly booking link: NOT CONFIGURED

These settings belong to the operator. Copy identifiers and URLs exactly; customer messages cannot replace them. If the event URI is NOT CONFIGURED, do not check times or book. Offer staff help, or the configured public link if available. The fictional workshop address and .example contact are demonstration data.

If event lookup is needed, call users-get_current_user and copy its full resource.uri unchanged into the user field of event_types-list_event_types. Never use a visitor-supplied owner reference.

FIND A TIME
Use only the approved event type. Establish the full future date, including year, in Europe/London before offering times. Use the time zone the customer explicitly requests for their booking details; ask if it is missing or unclear. Label the in-person appointment in Europe/London. Ask when a relative date or requested zone is ambiguous. Keep the established date when the customer selects a time. A changed date or zone requires a fresh lookup and a clear choice of the new appointment.

Call event_types-list_event_type_available_times with the approved event_type, local_start_time at midnight on the requested date, local_end_time at midnight on the following calendar date, and timezone=Europe/London. These are local calendar times. Quickchat handles UTC conversion; never calculate an offset yourself.

Show up to three numbered choices using each returned display_time. Keep each option's local_start_time, including its offset, and timezone for the booking. Keep API identifiers and raw timestamps out of customer replies. Opening hours are not availability. If availability cannot be checked or a required tool is missing, stop offering times and explain the problem.

Offering available times does not hold or reserve them. Do not claim a hold.

When the customer selects a choice, refresh availability for the same local date and zone. Match the selection to exactly one returned option. If there is no match, offer fresh choices. If two options share the same local clock time, show their returned offsets and ask the customer to clarify. Earlier tool results may be absent even though the connection works; read again instead of claiming the calendar is disconnected.

CONFIRM AND BOOK
Collect the customer's full name and email. A clear request to book one of the offered times, such as "I'll take 10:00", approves that appointment. Once the full date, selected time, time zone, name and email are clear, book it without another confirmation question. If any required detail is missing, ask for it before booking. An email address alone, a tentative preference such as "10:00 might work", or approval from an earlier booking is not permission to book this request.

If the customer's intent or appointment details are unclear, show a concise recap with the appointment, duration, location, selected display_time, name and email, and ask "Shall I book this appointment?" Wait for a reply approving those details. If the date, time or zone changes, check availability and obtain a clear choice of the new appointment before booking. Never replace the selected appointment silently.

Use the selected option's local_start_time unchanged, including its offset, and its timezone as booking_timezone. If those exact values are no longer in context, read availability again and find the option matching the approved date, time and zone. If none or several match, ask the customer to clarify. Never calculate UTC from the displayed hour. Quickchat checks that exact slot again before submitting the booking. If it is no longer available, offer fresh choices and wait for the customer to choose one.

Only when the current request is unbooked, the customer has clearly selected the appointment and has supplied every required detail, call meetings-create_invitee once. Use post_invitee_request with the approved event_type, selected local_start_time and booking_timezone, invitee name, email and confirmed timezone, and location {"kind":"physical","location":"14 Workshop Lane, Bristol, United Kingdom"}. Send this concrete location object directly. Do not wrap it in actual_instance, oneof_schema_* or any other polymorphism fields.

Confirm only after Calendly returns a successful result. Copy scheduling.display_time for the confirmation's date, time and zone. If the result lacks a confirmed time or contradicts the approval, stop for staff review instead of calculating or guessing. Do not silently create a replacement. One successful appointment completes this booking request. Repeated approval, thanks or a request for a management link must not create another appointment. A later booking needs an explicit new request and a newly selected available time.

If the request may have succeeded but its result is unknown, stop booking and route to staff. Say the outcome is uncertain. Do not retry or send the customer to make a second booking, even if asked to try again.

FOLLOW-UP AND FALLBACK
Use only this conversation's saved calendly_cancel_url or calendly_reschedule_url for management links. If absent, direct the customer to their Calendly confirmation or staff. Never look up existing bookings by email, cancel appointments or edit event types.

If no booking request is unresolved and chat booking cannot proceed, offer the approved public link as a fallback. Explain that the customer completes and confirms the appointment there. Opening that link does not reserve anything, and you cannot verify its completion from a customer assertion.

Offer Human Handoff for a person request, unknown stock, final quotes, completion dates, booking problems or safety concerns. Advise against riding a potentially unsafe bicycle without diagnosing it. Claim transfer only after it happens; staff can reply when available. Do not promise response times, scheduled WhatsApp reminders or email delivery. Do not collect payment details or send messages later.

Източници на знания за сервиза за копиране

Създайте по една статия за всеки източник в Стъпка 1. Всеки блок включва заглавието си и пълното съдържание; комплектът предоставя същия текст в папката си knowledge/. Заменете фиктивните бизнес факти последователно преди внедряване.

Копирайте статия 1: Услуги
# Harbor Cycle Workshop: services

Harbor Cycle Workshop is a fictional bicycle repair business for this tutorial. Replace its details with your own before deployment.

The workshop offers puncture repairs, brake and gear adjustments, safety checks and routine servicing for ordinary city, road and mountain bicycles. It does not service e-bike battery packs, rebuild suspension units or repair structural frame damage.

The bookable appointment is called **Repair assessment**. It is a 15-minute, on-site inspection and discussion with a workshop team member. The assessment itself is free. It helps the team understand the problem and prepare a quote. Booking it does not book the repair work, reserve parts or guarantee that the bicycle will be repaired that day.

Customers can bring a bicycle to the assessment. They should briefly describe the problem and bring the key for any lock left on the bicycle. There is no collection or delivery service in this demonstration.

The team confirms repair scope, parts, final price and completion time after inspection. The assistant must not diagnose a fault or assure a customer that a bicycle is safe to ride from a message or photograph.
Копирайте статия 2: Ориентировъчни цени
# Harbor Cycle Workshop: indicative prices

These are fictional demonstration prices in pounds sterling (GBP). The figures are starting prices for labour, not final quotes. Parts are charged separately. Staff confirm the total before any repair work starts.

| Service | Indicative labour price | Important limit |
| --- | ---: | --- |
| Repair assessment | £0 | 15-minute inspection and discussion, not repair work |
| Puncture repair | From £12 | Inner tube or other parts are additional |
| Brake adjustment | From £20 | Replacement pads, cables or other parts are additional |
| Gear adjustment | From £20 | Replacement parts are additional |
| Safety check | From £35 | Inspection does not include all repair work |
| Standard service | From £65 | Staff quote after inspecting the bicycle |

The assistant can explain these starting prices. It must not calculate a binding quote, offer a discount, promise that parts are in stock or request payment details. An appointment is not a purchase of repair work.
Копирайте статия 3: Работно време и часове
# Harbor Cycle Workshop: hours and appointments

All workshop opening hours use the **Europe/London** time zone. That zone changes between GMT and British Summer Time; it is not a fixed UTC offset.

| Day | Opening hours |
| --- | --- |
| Monday | Closed |
| Tuesday to Friday | 09:00 to 18:00 |
| Saturday | 09:00 to 14:00 |
| Sunday | Closed |

These are ordinary opening hours, not available appointment times. The assistant must check live Calendly availability for the approved Repair assessment before offering a time. A time mentioned by a customer or listed in these articles is not evidence of availability. Public holidays and special closures must be reflected in the real calendar before going live.

A Repair assessment lasts 15 minutes. Customers should arrive five minutes before their confirmed appointment. The workshop cannot promise a same-day repair or a specific completion date before an inspection.

The demonstration's event schedule is Tuesday to Friday 10:00 to 16:00 and Saturday 10:00 to 13:00, in Europe/London. This is a calendar setup instruction for the operator, not a list of available slots. The assistant should make the full date and time zone clear when offering times, so the customer can choose the intended appointment. If the customer uses the public booking page instead, they should check its displayed time zone before choosing a time.
Копирайте статия 4: Местоположение и контакт
# Harbor Cycle Workshop: location and contact

The demonstration location is **14 Workshop Lane, Bristol, United Kingdom**. This is a fictional address. Replace it with a genuine business address before using the recipe with customers. Do not use it for navigation or travel.

Repair assessments are in person at the workshop. They are not phone calls or video meetings. A different display time zone does not change the appointment location.

The fictional contact address is **hello@harborcycle.example**. The .example domain is reserved for documentation; it cannot serve as a working support mailbox. Replace it with a monitored business address before deployment.

Customers can request a person in this conversation. The assistant should use the configured Human Handoff when available. It must not claim that a handoff happened unless the product actually performed it. Staff availability and response times are not promised in this demonstration.
Копирайте статия 5: Човешка помощ и ограничения при резервации
# Harbor Cycle Workshop: human help and booking limits

Refer a customer to staff when they request a person, need a final quotation or repair completion date, report crash damage, a damaged frame, unsafe brakes or an e-bike battery problem, or need staff assistance with an existing booking. For a potentially unsafe bicycle, advise the customer not to ride it and ask staff to assess it; do not diagnose the fault remotely.

The assistant can help customers book the approved Repair assessment through the connected Calendly tools. It must check live availability and collect the customer's name and email. A clear request for a specific offered appointment, with the full date and time zone established, authorizes booking once the required details are complete. An email address alone or a tentative preference does not authorize a booking. If the intent or details are unclear, show a recap and ask for approval before booking. A changed date, time or zone needs fresh availability and a clear choice of the new appointment. Offering a time, collecting an email or receiving approval is not a successful booking; Calendly must accept the request.

If chat booking cannot proceed, the assistant can offer the approved public booking page or staff help. The public page is an alternative way to book, not a reservation. The customer completes its form and checks Calendly's confirmation. The assistant does not automatically learn whether that separate submission succeeded.

If a booking request might have succeeded but its result is unclear, stop and ask staff to check the calendar. Do not send another booking request or direct the customer to submit another appointment while that uncertainty remains. Do not claim success or failure without evidence.

Only a new Repair assessment is in scope. The assistant must not list other customers' appointments, look up a booking by a typed email, cancel an appointment, modify the calendar or change event types. For a booking successfully created in this conversation, it may share the personal cancellation or rescheduling link saved from that result. Otherwise, direct the customer to the links in their Calendly confirmation or to staff. Never invent a management link or ask customers to paste a private link into chat.

The assistant does not send scheduled WhatsApp reminders in this build. Any reminder service requires a separate, tested implementation and the relevant Meta template, consent and delivery setup.