Umawianie wizyt na WhatsAppie z Calendly i AI

Piotr Grudzień
Opublikowano 25 min czytania
Ilustracja koncepcyjna zatytułowana „WhatsApp appointment booking”, z wiadomościami o dostępności, wyborze terminu i danych klienta obok karty wizyty w Calendly

Zbuduj asystenta do umawiania wizyt na WhatsAppie, który odpowiada na pytanie o naprawę roweru, proponuje rzeczywiste terminy i tworzy potwierdzoną wizytę w Calendly. Klient pyta o usługę, wybiera termin i podaje swoje dane w tej samej rozmowie na WhatsAppie.

Przykładem jest Harbor Cycle Workshop, fikcyjna firma oferująca bezpłatną 15-minutową wizytę Repair assessment (ocenę stanu roweru). W naszym kontrolowanym teście na WhatsAppie klient wybrał godzinę 10:00 w dniu 27 października 2026 w strefie Europe/London. Dostarczone potwierdzenie zgadzało się z wizytą w Calendly, od 10:00 do 10:15.

Prawdziwe zrzuty ekranu WhatsAppa z telefonu. Potwierdzenie zgadzało się z niezależnie sprawdzoną wizytą w Calendly. Adresy e-mail i szczegóły osobistych linków są ukryte; etykiety kontaktu ujednolicono do nazwy warsztatu.

Co będzie robić asystent rezerwacji na WhatsAppie?

Klient wykonuje w WhatsAppie trzy kroki:

Krok klientaCo robi Agent
Pyta o naprawę przebitej oponyWyjaśnia cenę robocizny od 12 £, dodatkowy koszt części i bezpłatną ocenę
Prosi o termin ocenyOdczytuje dostępność w Calendly i proponuje godziny w strefie czasowej warsztatu
Wybiera zaproponowany termin i podaje imię i nazwisko oraz e-mailTworzy żądaną wizytę w Calendly, a następnie zwraca jej potwierdzenie i linki do zarządzania wizytą

Zbudujesz to w sześciu krokach: dodasz wiedzę o warsztacie, przygotujesz wydarzenie w Calendly, połączysz jego narzędzia, ustawisz instrukcje rezerwacji, przetestujesz całą rozmowę i powtórzysz ją na WhatsAppie. MCP (Model Context Protocol) to połączenie, które pozwala Agentowi korzystać z narzędzi Calendly do sprawdzania dostępności i rezerwacji.

Czego potrzebujesz

  1. Utwórz konto Quickchat AI i zweryfikuj adres e-mail, jeśli pojawi się taka prośba. Wdrożenie biznesowe wymaga planu komercyjnego i kredytów AI; odpowiedzi w Preview i Simulation Testing również zużywają kredyty. Sprawdź cennik Quickchat AI.
  2. Użyj planu Calendly Standard lub wyższego. Jego dokumentacja Booking API wymaga płatnego planu do tworzenia wizyt, nawet jeśli samo połączenie MCP jest bezpłatne.
  3. Zapewnij sobie dostęp do docelowego konta firmowego Meta i numeru WhatsApp Business Platform. Przejdź obsługiwany proces weryfikacji i sprawdź stawki Meta za wiadomości.
  4. Przygotuj kontrolowany telefon klienta i testową skrzynkę e-mail. Oznaczaj i anuluj testowe wizyty. Przed wdrożeniem zastąp fikcyjne dane firmy własnymi.

Pobierz zestaw Harbor Cycle Workshop z dokładnym Main Prompt, pięcioma artykułami źródłowymi, konfiguracją Calendly, tekstami przekazania rozmowy i danymi testowymi. To edytowalne pliki konfiguracyjne, a nie import jednym kliknięciem. Main Prompt i źródła wiedzy znajdują się też na końcu tego poradnika.

Najpierw zbuduj i przetestuj wszystko w AI Preview, a potem powtórz rozmowę na WhatsAppie. Aby zlecić część konfiguracji, skorzystaj z opcjonalnej instrukcji dla ChatGPT lub Claude z tym samym zestawem.

Krok 1: Przekaż Agentowi wiedzę o warsztacie

Pięć krótkich artykułów przekazuje Agentowi fakty o usługach, zachowując rozróżnienie między cenami, godzinami otwarcia i terminami do rezerwacji.

Diagram koncepcyjny oddzielający wiedzę o warsztacie, taką jak ceny i godziny otwarcia, od rzeczywistej dostępności wizyt w Calendly Używaj wiedzy o warsztacie do stałych faktów, a Calendly do aktualnych terminów.

  1. Podczas konfiguracji konta wybierz ścieżkę z opisem. Wpisz „Asystent serwisowy Harbor Cycle Workshop, który odpowiada na pytania o naprawy rowerów i rezerwuje 15-minutowy Repair assessment”, a następnie wybierz Create my AI Agent.
  2. Przejdź dalej przyciskiem Next. Wybierz plan lub Skip for now, aby dokończyć konfigurację. Otwórz Identity i ustaw nazwę na Harbor Cycle Workshop.
  3. Otwórz Knowledge Base > Add Article. Wpisz tytuł pierwszego źródła w Create custom article, a następnie wybierz Create article.
  4. Wklej całe źródło do pola Content w Edit Article, wybierz Save i poczekaj na status Ready. Powtórz to dla pozostałych czterech źródeł. Każdy zapis uruchamia przetwarzanie artykułu.

Lokalny ekran Edit Article z tytułem artykułu o usługach Harbor Cycle Workshop, polem Content i przyciskiem Save Wklej całe źródło do pola Content, zapisz je i sprawdź przetwarzanie. Lokalny edytor pokazuje początek artykułu o usługach.

Źródło do skopiowaniaCo ustala
1. UsługiBezpłatna 15-minutowa ocena to oględziny, a nie zarezerwowane prace naprawcze
2. Orientacyjne cenyCeny wyjściowe robocizny i dodatkowe koszty części
3. Godziny otwarcia i wizytyGodziny otwarcia, harmonogram wizyt i rzeczywista dostępność to trzy różne rzeczy
4. Lokalizacja i kontaktLokalizacja wizyt stacjonarnych i ścieżka kontaktu z pracownikami
5. Pomoc człowieka i ograniczenia rezerwacjiPotwierdzenie, niepewne wyniki, linki do zarządzania wizytą i rozwiązanie awaryjne

Kompletne bloki znajdują się w załączniku z wiedzą do skopiowania i w folderze knowledge/ zestawu.

Dostosowując własną zatwierdzoną dokumentację, zostaw stany magazynowe, ostateczne wyceny i terminy zakończenia napraw pracownikom.

Sprawdź pierwszy wynik: gdy wszystkie pięć źródeł ma status Ready, zapytaj w AI Preview: „Mam przebitą oponę w rowerze. Ile może kosztować naprawa i co obejmuje ocena?”. Sprawdź, czy odpowiedź zawiera cenę robocizny od 12 £, osobno naliczane części i informację, że ocena nie rezerwuje prac naprawczych.

Rozmowa na WhatsAppie na telefonie, w której Harbor Cycle Workshop wyjaśnia cenę robocizny za naprawę przebitej opony od 12 £, dodatkowy koszt części i bezpłatną 15-minutową ocenę

Ten sam test usługi na WhatsAppie: robocizna od 12 £, części płatne dodatkowo, a bezpłatna ocena nie rezerwuje prac naprawczych.

Krok 2: Przygotuj wizytę w Calendly

Utwórz jedno wydarzenie Repair assessment ze stałym czasem trwania, lokalizacją i harmonogramem. Agent będzie używać identyfikatora tego wydarzenia do sprawdzania dostępności i rezerwacji.

Ustawienie CalendlyWartość demonstracyjna
Nazwa i typ wydarzeniaRepair assessment; jeden gospodarz i jeden klient
Czas trwania15 minut
Lokalizacja14 Workshop Lane, Bristol, United Kingdom, jawnie fikcyjna
Strefa czasowa dostępnościEurope/London
Od wtorku do piątkuod 10:00 do 16:00
Sobotaod 10:00 do 13:00
Poniedziałek i niedzielaNiedostępne
Płatność i dodatkowe wymagane pytaniaBrak
  1. W sekcji Scheduling w Calendly edytuj docelowe wydarzenie lub wybierz + Create, aby utworzyć nowe wydarzenie jeden na jeden. Wypełnij Event name, Duration, Location i Availability, a następnie wybierz Save changes. Instrukcja konfiguracji wydarzeń Calendly objaśnia te ustawienia.
  2. Połącz kalendarz, w którym Calendly ma sprawdzać konflikty. Ustaw własną strefę czasową i godziny dostępności wydarzenia, a potem dodaj rzeczywiste wyjątki świąteczne i limity rezerwacji. Nie zmieniaj wspólnego harmonogramu używanego przez inne wydarzenia.
  3. W More options > Notifications and automations edytuj podstawowe powiadomienie e-mail lub zaproszenie do kalendarza. Włącz Include cancel and reschedule links in email invitations and reminders i zapisz. Te osobiste linki do zarządzania wizytą dają klientom dodatkową drogę do zarządzania wizytą.
  4. Otwórz publiczną stronę wydarzenia i sprawdź jego nazwę, 15-minutowy czas trwania, adres i dostępne daty. W Scheduling użyj Copy link dla tego konkretnego wydarzenia i zachowaj link jako awaryjny adres URL do kroku 4.

Prawdziwa publiczna strona rezerwacji Calendly pokazuje Repair assessment, 15-minutowy czas trwania, fikcyjny adres w Bristolu i informację o kontrolowanej demonstracji Sprawdź nazwę, czas trwania i lokalizację oceny na jej publicznej stronie rezerwacji. To prawdziwe wydarzenie demonstracyjne.

Warsztat otwiera się o 09:00, ale oceny zaczynają się o 10:00. O tym, które wizyty Agent może zaproponować, decydują harmonogram wydarzenia w Calendly i połączony kalendarz.

Krok 3: Połącz Calendly i ogranicz jego narzędzia

Połączenie MCP z Calendly daje Agentowi nazwane operacje. Włącz odczyty potrzebne do znalezienia wydarzenia i jego terminów, a rezerwację dodaj dopiero wtedy, gdy instrukcje i testy będą gotowe.

Diagram koncepcyjny: klient na WhatsAppie rozmawia z Quickchat AI, które przez Calendly MCP odczytuje terminy i tworzy wizytę Koncepcja: WhatsApp przenosi rozmowę; Quickchat AI odpowiada na pytania o usługi i używa Calendly do znajdowania terminów i tworzenia wizyty.

Połącz i ustaw listę narzędzi

  1. Otwórz Actions & MCPs > Add Action > MCP, wybierz Calendly w katalogu i przejdź proces autoryzacji z kontrolowanym kontem.

Ekran konfiguracji Calendly w prawdziwej lokalnej aplikacji prosi operatora o autoryzację dostępu Wybierz Connect with Calendly, aby autoryzować konto. Prawdziwy lokalny ekran konfiguracji.

  1. Otwórz utworzoną Action przyciskiem Edit Action. Ustaw MCP action name na Harbor Cycle Workshop appointments.
  2. W sekcji Tools ustaw Default tool activation na Wyłączone, a następnie zastosuj poniższą tabelę i wybierz Save. Jeśli użyjesz Use recommended, przejrzyj wynikowe przełączniki: włączane w ten sposób narzędzie anulowania nie jest częścią tej konfiguracji.
NarzędziePodczas konfiguracjiPodczas testu rezerwacji
users-get_current_userWłączoneWłączone
event_types-list_event_typesWłączoneWłączone
event_types-list_event_type_available_timesWłączoneWłączone
meetings-create_inviteeWyłączoneWłączone, po kroku 4 i testach usług
meetings-cancel_event i każde inne narzędzie CalendlyWyłączoneWyłączone
Default tool activationWyłączoneWyłączone

Lokalny edytor Tools dla Calendly przefiltrowany do meetings-c pokazuje włączoną rezerwację, wyłączone anulowanie i wyłączoną domyślną aktywację narzędzi Włącz rezerwację do kroku 5; podczas początkowej konfiguracji zostaw ją wyłączoną. Anulowanie i Default tool activation pozostają wyłączone. Przykład lokalnych ustawień.

Przełączniki narzędzi wybierają dostępne operacje. Main Prompt określa wydarzenie warsztatu, wymagane dane klienta i moment, w którym należy rezerwować.

Skopiuj identyfikator wydarzenia bez zgadywania

Zanim zastąpisz dwie wartości operatora w prompcie, rozpocznij nową rozmowę w AI Preview z włączonymi tylko trzema narzędziami odczytu. To żądanie konfiguracyjne prosi o szczegóły wydarzenia, bez sprawdzania terminów i bez tworzenia wizyty:

Skopiuj żądanie wyszukania wydarzenia (tylko odczyt)
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.

Najedź kursorem na odpowiedź i wybierz Copy. Porównaj nazwę, czas trwania i publiczny link z wydarzeniem z kroku 2. Zachowaj kompletne wartości uri i scheduling_url do dwóch ustawień promptu poniżej. Jeśli wyszukanie jest niejednoznaczne lub się nie powiedzie, rozwiąż to przed włączeniem rezerwacji.

Używaj uri do wywołań narzędzi, a scheduling_url jako strony awaryjnej. Skopiuj z odpowiedzi obie kompletne wartości, łącznie z https://.

Zapisz odniesienia do rezerwacji na potrzeby kolejnych tur

Rozwiń meetings-create_invitee, nawet gdy jego przełącznik jest wyłączony, aby odsłonić Save to memory. Potwierdź te wiersze i wybierz Save:

Wyrażenie JSONPathKlucz pamięci
$.resource.eventcalendly_event_uri
$.resource.cancel_urlcalendly_cancel_url
$.resource.reschedule_urlcalendly_reschedule_url

Lokalny edytor Save to memory pokazuje trzy ścieżki odpowiedzi przypisane do kluczy wydarzenia, linku anulowania i linku zmiany terminu Każda ścieżka JSONPath wybiera pole odpowiedzi; jej klucz pamięci udostępnia tę wartość późniejszym wiadomościom. Przykład lokalnych ustawień.

Po rezerwacji pytanie „Czy mogę zmienić godzinę?” powinno zwrócić zapisany link do zmiany terminu tej wizyty. Krok 5 sprawdza dokładnie tę wartość bez kolejnej rezerwacji i bez wyszukiwania po adresie e-mail.

Dla terminów wizyt w warsztacie używaj strefy Europe/London. Quickchat AI przelicza lokalne daty w kodzie i zwraca opcje z etykietami. Agent rezerwuje na podstawie opcji wybranej przez klienta.

Jak wypełniane są pola wydarzenia i wizyty

Gdy włączone są zarówno dostępność, jak i rezerwacja, narzędzia Calendly przyjmują lokalne daty i jawnie podaną strefę czasową. Quickchat AI obsługuje przeliczanie na UTC i ponownie sprawdza wybrany termin przed przesłaniem go do Calendly. Nazwy narzędzi pozostają takie same.

WartośćSkąd pochodziGdzie trafia
Zatwierdzony identyfikator wydarzeniaZweryfikowane wyszukanie wydarzeniaevent_type w dostępności i post_invitee_request.event_type w rezerwacji
Żądany zakres datOd północy żądanej daty do północy następnego dnia kalendarzowegolocal_start_time, local_end_time i timezone w dostępności
Proponowany czas lokalnyZwrócony display_time każdej opcjiWybór klienta i potwierdzenie rezerwacji
Wybrana wizytalocal_start_time opcji, łącznie z jej przesunięciem, oraz timezonepost_invitee_request.local_start_time i booking_timezone w rezerwacji
Dane klientaImię i nazwisko, e-mail i potwierdzona strefa czasowa klientapost_invitee_request.invitee
Stała lokalizacja fizycznaKonfiguracja wydarzenia i warsztatupost_invitee_request.location

Jednoznaczna prośba o zaproponowany termin wraz z wymaganymi danymi klienta wystarcza, aby kontynuować. Jeśli prośba jest wstępna lub niejasna, Agent najpierw prosi o potwierdzenie. Quickchat AI porównuje wybrany moment z bieżącą dostępnością i wysyła do Calendly jego oryginalny znacznik czasu.

Krok 4: Ustaw instrukcje rezerwacji i ścieżkę do pracowników

Main Prompt łączy fakty o usługach i narzędzia kalendarza w jedną rozmowę: sprawdź terminy, uzyskaj jednoznaczny wybór i wymagane dane, zarezerwuj, a potem potwierdź wynik. „Biorę 10:00” wraz z imieniem i nazwiskiem oraz adresem e-mail klienta może zakończyć prośbę. Wstępny wybór lub brakująca informacja wywołują pytanie przed rezerwacją.

Rozmowa na WhatsAppie na telefonie z zaproponowanymi terminami i jednoznacznym wyborem 10:00 przez Riley, a następnie imieniem i nazwiskiem oraz ukrytym adresem e-mail

„Biorę 10:00” wraz z wymaganymi danymi to jednoznaczna prośba o rezerwację. Agent może kontynuować bez proszenia klienta o powtórzenie wyboru.

Zainstaluj kompletny Main Prompt

Otwórz Identity > Main Prompt i wklej kompletny Main Prompt, dostarczony też jako main-prompt.txt w zestawie. Zastąp NOT CONFIGURED tylko w tych dwóch wierszach ustawień:

Ustawienie promptuWartość do wklejenia
Approved Calendly event type URIKompletny uri z kroku 3
Approved Calendly booking linkZweryfikowany publiczny scheduling_url

Dalsze zdanie zabezpieczające zostaw bez zmian. Main Prompt zapisuje się automatycznie; poczekaj na zakończenie zapisu i otwórz go ponownie, aby sprawdzić zapisany tekst. Fikcyjna lokalizacja pojawia się w wiedzy, w wydarzeniu i w instrukcji rezerwacji. Dla prawdziwego warsztatu zaktualizuj wszystkie trzy miejsca razem.

Ustawienia operatora w prawdziwym lokalnym edytorze Main Prompt pokazują URI wydarzenia i link do rezerwacji oczekujące na konfigurację Ustaw URI wydarzenia i awaryjny link do rezerwacji w Main Prompt, a potem sprawdź zapisane wartości. Prawdziwy lokalny edytor.

Skonfiguruj Human Handoff

Otwórz Actions & MCPs > Human Handoff, włącz tę funkcję oraz AI summary. W Handoff Rules użyj przycisku plusa, aby dodać regułę Workshop handoff, włącz ją i wklej poniższy tekst w pole Description:

Skopiuj Description reguły 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.

Ustaw Question na:

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

Ustaw Confirmation na:

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.

Lokalne ustawienia Human Handoff pokazują włączoną akcję, pytanie warsztatu i treść potwierdzenia Question pyta przed przekazaniem rozmowy; Confirmation wyjaśnia, że pracownicy mogą odpowiedzieć i że nie zarezerwowano żadnej wizyty. Przykład lokalnych ustawień.

Zostaw włączone przekazywanie na wyraźną prośbę użytkownika oraz Lack of knowledge. Pozostaw Human Agents’ availability bez ograniczeń, aby klienci mogli trafić do kolejki, gdy pracownicy są offline. Używaj Email notifications tylko z prawdziwym, monitorowanym adresem; fikcyjny adres w domenie .example nie może ich odbierać. Zapisz ustawienia.

Przetestuj tę ścieżkę do pracowników po rozmowie rezerwacyjnej w kroku 6.

Krok 5: Przetestuj rozmowę i wynik w kalendarzu

Najpierw uruchom cztery pytania o usługi, a potem przeprowadź jedną pełną rozmowę rezerwacyjną w AI Preview. Sprawdź wizytę w Calendly, zanim przeniesiesz rozmowę na WhatsAppa.

Sprawdź odpowiedzi o usługach w Simulation Testing

Podczas sprawdzania czterech pytań o usługi zostaw meetings-create_invitee wyłączone.

Lokalny pasek boczny Quickchat AI i strona Simulation Testing pokazują, gdzie utworzyć lub otworzyć dataset warsztatu Otwórz Testing, aby utworzyć lub znaleźć dataset warsztatu. Przykład lokalnej konfiguracji.

  1. Otwórz Testing na pasku bocznym. Tytuł strony to Simulation Testing.
  2. Wybierz Create Dataset > Paste messages i nadaj mu nazwę Workshop service checks.
  3. Wklej te cztery wiadomości, oddzielone wierszem zawierającym tylko ---, a następnie wybierz Create:
Skopiuj cztery testowe wiadomości o usługach
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?

Otwórz dataset, wklej poniższy tekst w pole Evaluation criteria, a następnie wybierz Save:

Skopiuj kryteria oceny odpowiedzi o usługach
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.

Lokalny dataset Workshop service checks zawiera cztery pytania o usługi, bez wyświetlonego uruchomienia ani ocen Cztery pytania o usługi w lokalnym datasecie, gotowe do pierwszego uruchomienia.

Aby uruchomić i przejrzeć testy:

  1. Wybierz Run, nadaj uruchomieniu etykietę, na przykład workshop service baseline, sprawdź wyświetlony koszt w kredytach i wybierz Start Run.
  2. Otwórz zakończone uruchomienie i przeczytaj każdą odpowiedź, AI Score i uzasadnienie oceny. Użyj View, aby obejrzeć rozmowę.
  3. Sprawdź w Inbox ewentualne przypisanie przekazanej rozmowy i jej podsumowanie.

Każdy element datasetu rozpoczyna nową rozmowę. Do rezerwacji użyj ciągłego testu w Preview opisanego poniżej. Poradnik testowania agenta wsparcia wyjaśnia, jak porównywać uruchomienia po wprowadzeniu zmiany.

Przeprowadź jedną pełną rozmowę rezerwacyjną

Diagram koncepcyjny pokazujący sprawdzenie dostępności, jednoznaczny wybór klienta, imię i nazwisko oraz e-mail, żądanie rezerwacji i sprawdzenie wyniku Odczytaj dostępność, ustal żądaną wizytę i zbierz jej dane. Potwierdź rezerwację dopiero po tym, jak Calendly zwróci sukces.

Po ukończeniu kroków 1–4 i testów usług włącz meetings-create_invitee w Tools, wybierz Save i rozpocznij nową rozmowę w AI Preview. Użyj przyszłej daty w zakresie rezerwacji wydarzenia i skrzynki e-mail, którą kontrolujesz.

Wyślij po koleiOczekiwany wynik
„Mam przebitą tylną oponę. Ile kosztuje naprawa?”Cena wyjściowa robocizny, części płatne dodatkowo i brak wiążącej wyceny
„Chcę umówić Repair assessment na [pełna przyszła data], w strefie Europe/London.”Dostępne terminy w żądanym dniu, oznaczone strefą czasową warsztatu
„Biorę opcję [numer]. Nazywam się [imię testowe], mój e-mail to [kontrolowany e-mail].”Jedna wizyta zgodna z wybraną datą i godziną, a po niej jej potwierdzenie
„Możesz mi wysłać link do zmiany godziny?”Zapisany adres URL do zmiany terminu, bez nowej rezerwacji
„Co mam ze sobą przynieść?”Wskazówki dotyczące przygotowania z wiedzy o warsztacie

Zastąp instrukcje w nawiasach kwadratowych swoimi wartościami testowymi. Podawaj pełną datę i strefę czasową wprost. Jeśli brakuje jakiejś informacji lub prośba jest niejasna, odpowiedz na pytanie Agenta, zanim przejdziesz dalej; Agent nie powinien wymyślać imienia i nazwiska, adresu e-mail ani wyboru wizyty.

Sprawdź wizytę i dalsze pytania

  1. W odpowiadającej rozmowie w Inbox rozwiń wskaźnik wywołania akcji. Sprawdź, czy wywołanie rezerwacji następuje po jednoznacznym wyborze i wymaganych danych klienta.
  2. Otwórz wizytę w Calendly. Porównaj jej wydarzenie, pełną datę, strefę czasową, czas trwania, lokalizację i klienta testowego z żądaną wizytą i dostarczonym potwierdzeniem.
  3. Poproś o link do zmiany terminu i wskazówki dotyczące przygotowania. Porównaj link z Inbox > Details > Memory, jak pokazano poniżej w sekcji o sprawdzaniu logu Action.

Lokalna Inbox rozwija przykładowe wywołanie rezerwacji, pokazując nazwę narzędzia, argumenty i wynik Rozwiń wywołaną Action, aby sprawdzić jej dane wejściowe i wynik. Lokalny przykład z syntetyczną odpowiedzią rezerwacji.

Diagram koncepcyjny porównujący wybraną wizytę i dane klienta z zapisanym rekordem Calendly, a następnie anulowanie kontrolowanego testu Porównaj wybraną datę, godzinę i strefę czasową z rekordem u dostawcy, a potem posprzątaj po kontrolowanym teście.

Sprawdź log Action i zapisane linki rezerwacji

Aby zobaczyć historię Action, otwórz Actions & MCPs i wybierz View logs na Harbor Cycle Workshop appointments. Otwórz wywołanie rezerwacji i sprawdź w Parameters sent identyfikator wydarzenia, post_invitee_request.local_start_time i booking_timezone, tam gdzie są widoczne. Dopasuj wywołanie do jego rozmowy, zanim porównasz je z wyborem i danymi klienta.

Lokalna karta Action Calendly pokazuje przycisk View logs Wybierz View logs na karcie Action, aby znaleźć zarejestrowane wywołania. Lokalny przykład.

Lokalny log Action Calendly pokazuje local_start_time i booking_timezone w przykładowym żądaniu rezerwacji Porównaj widoczne Parameters sent z wybraną wizytą. Lokalny przykład z syntetycznym żądaniem rezerwacji.

Otwórz wizytę w Calendly, aby zobaczyć jej pełne szczegóły, i porównaj je z wizytą żądaną przez klienta. Ta tabela przypisuje te szczegóły do pól rezerwacji:

Żądany szczeg󳯹danie rezerwacjiZapisana wizyta
Repair assessment, 15 minutZatwierdzony event_typeWłaściwe wydarzenie i czas trwania
Pełna data, godzina i strefa czasowaWybrane local_start_time i booking_timezone; osobno timezone osoby zaproszonejTen sam moment, z uwzględnieniem strefy wyświetlania operatora
Imię i nazwisko oraz e-mailinviteeZamierzony klient testowy
Adres warsztatuFizyczna locationTa sama lokalizacja wizyty stacjonarnej

Dla pytania „Możesz mi wysłać link do zmiany godziny?” otwórz Inbox > Details > Memory. Najedź kursorem na Calendly Reschedule Url, wybierz Copy i porównaj kompletną wartość z adresem docelowym z odpowiedzi.

Lokalny panel Details w Inbox pokazuje Memory z zapisanymi polami rezerwacji Calendly i linków do zarządzania wizytą Otwórz Memory i użyj Copy, aby skopiować kompletny zapisany link. Lokalny przykład z niedziałającymi przykładowymi adresami URL.

To sprawdza odczyt linku z tej rozmowy. Nie potwierdza, że klient faktycznie zmienił termin.

Sprawdź datę i strefę czasową

Dla tej wizyty stacjonarnej używaj pełnej daty, łącznie z rokiem, i strefy Europe/London. Londyn przechodzi między brytyjskim czasem letnim a GMT, więc ta sama godzina na zegarze może odpowiadać różnym godzinom UTC. Integracja Quickchat AI z Calendly obsługuje to przeliczenie w kodzie i rezerwuje z pasującym znacznikiem czasu zwróconym przez Calendly.

Diagram koncepcyjny porównujący 10:00 w Londynie z 09:00 UTC w brytyjskim czasie letnim i 10:00 UTC po zmianie czasu Ta sama godzina londyńska odpowiada różnym godzinom UTC przed zmianą czasu i po niej.

Odczytując wizytę w Calendly, uwzględnij wyświetlaną tam strefę czasową, gdy porównujesz ją z godziną wybraną przez klienta. W dniu zmiany czasu zapytanie o dostępność musi obejmować cały lokalny dzień: jego dwie granice o północy mogą być oddalone o 23 lub 25 godzin. Jeśli godzina się różni, popraw obsługę daty lub strefy czasowej i powtórz sprawdzenie przed kolejną rezerwacją.

Sprawdź zmiany daty, niedostępne terminy i inne przypadki brzegowe
KontrolaWynik pozytywny
Zmień datę po wybraniu godzinyŚwieża dostępność i jednoznaczny wybór nowej wizyty przed rezerwacją
Poproś o 09:00, bo warsztat jest wtedy otwartyBrak wymyślonego terminu; Agent używa rzeczywistej dostępności oceny
Nie podawaj adresu e-mail albo napisz „10:00 chyba pasuje”Pytanie ustalające brakującą informację lub jednoznaczną intencję; jeszcze bez rezerwacji
Wyślij samo „tak” bez ustalonej bieżącej wizytyDoprecyzowanie, a nie nowa rezerwacja
Powtórz „tak” lub poproś o link do zarządzania wizytą po udanej rezerwacjiPotwierdzenie istniejącej wizyty; brak drugiej rezerwacji
Poproś o niedostępną datę lub zajętą godzinęBrak oferty nieistniejącego terminu i brak twierdzenia, że alternatywy są zablokowane lub zarezerwowane
Poproś o wyszukanie cudzej rezerwacji po adresie e-mailBrak wyszukiwania i ujawniania danych
Opisz uszkodzenia po wypadku lub hamulce, które mogą być niebezpieczneBrak zdalnego zapewnienia o bezpieczeństwie; zalecenie, aby nie jeździć, i pomoc pracowników

Używaj osobnych rozmów tam, gdzie przekazanie rozmowy zakończyłoby test. Uwzględnij datę w czasie letnim i datę w czasie zimowym, gdy są dostępne do testów.

Rozwiąż problem z testem, który się nie kończy
ObjawCo sprawdzićNastępny krok
Brak terminów w dniu, który wygląda na otwartyAktywację wydarzenia, harmonogram wydarzenia, kalendarz konfliktów oraz żądany lokalny zakres dat i strefę czasowąSprawdź rzeczywistą dostępność wydarzenia; godziny otwarcia warsztatu nie tworzą terminów
Odpowiedź lub wizyta przesunięta o godzinęZwrócony display_time, zatwierdzoną lokalną datę i strefę, wybrane local_start_time, booking_timezone i strefę wyświetlania u dostawcyWstrzymaj testy rezerwacji, znajdź pierwszą niezgodność i powtórz sprawdzenie czasu lokalnego przed kolejnym zapisem
Calendly odrzuca rezerwacjęRzeczywisty błąd, uprawnienie do rezerwacji i wymagane pola wydarzeniaPopraw konkretną konfigurację lub brakujące pole; nie wnioskuj o niepowodzeniu wyłącznie z czatu
Wynik jest niepewnyHistorię wywołań i rzeczywistą wizytę w CalendlyNiech pracownicy ustalą, czy rezerwacja istnieje, przed jakąkolwiek ponowną próbą lub wysłaniem przez stronę publiczną
Brakuje linku do zmiany terminuPrzechwycenie odpowiedzi rezerwacji i Details > Memory w tej samej rozmowieSprawdź trzy ścieżki pamięci; jeśli link nie został przechwycony, użyj potwierdzenia klienta lub pomocy pracowników
WhatsApp nie wysyła odpowiedziOdpowiadającą pozycję w Inbox, stan połączenia i dostarczania, pozostałe kredyty i osobę przypisanąRozwiąż problemy z dostarczaniem lub kredytami; przypisz rozmowę ponownie do AI Agent, jeśli zakończone przekazanie nadal wstrzymuje odpowiedzi
Nie można wysłać odpowiedzi pracownikaGodzinę ostatniej wiadomości klientaSprawdź 24-godzinne okno opisane w kroku 6, zanim wyślesz zwykłą odpowiedź

Poradnik o niezawodności akcji wyjaśnia, jak prześledzić wynik do odpowiedniej instrukcji, wywołania i zapisanego rekordu. Po zmianie powtórz problematyczny przypadek i zwykłą rozmowę rezerwacyjną.

Po zapisaniu wyniku anuluj oznaczoną testową wizytę z Preview i zweryfikuj anulowanie w Calendly.

Krok 6: Przeprowadź rezerwację w WhatsAppie

Połącz przetestowanego Agenta z numerem firmowym, a potem przeprowadź tę samą rozmowę, od pytania o usługę do rezerwacji, z kontrolowanego telefonu klienta.

Panel łączenia WhatsAppa wymienia wymagania dotyczące konta firmowego, opcje numeru i przycisk Connect WhatsApp Prawdziwy lokalny panel konfiguracji pokazuje opcje numeru przed połączeniem. Wybierz ścieżkę pasującą do Twojego numeru.

  1. Otwórz Channels > External Apps > WhatsApp i wybierz Connect WhatsApp. Dokończ obsługiwaną przez Meta konfigurację konta i numeru. Dokumentacja połączenia WhatsApp opisuje aktualne opcje weryfikacji.
  2. Upewnij się, że docelowy numer jest włączony dla tego Agenta. Wyślij z telefonu testowego pytanie o usługę zainicjowane przez klienta i sprawdź zarówno dostarczoną odpowiedź, jak i jej rozmowę w Inbox.
  3. W konfiguracji kanału poszukaj statusu AI reply delivered. Waiting for your first message i Waiting for the AI reply to be delivered to stany pośrednie.
  4. Kontynuuj w tej samej rozmowie sekwencją rezerwacji z kroku 5. Ustal pełną datę i strefę czasową, jednoznacznie wybierz jeden ze zwróconych terminów i podaj kontrolowane imię i nazwisko oraz e-mail. Sprawdź potwierdzenie na telefonie i odpowiadające mu wywołanie rezerwacji w Inbox.
  5. Otwórz wizytę w Calendly. Porównaj jej wydarzenie, datę, strefę czasową, moment w czasie, czas trwania i osobę zaproszoną z prośbą i potwierdzeniem z WhatsAppa.

W naszym teście na WhatsAppie klient poprosił o Repair assessment w dniu 27 października 2026 w Londynie. Agent zaproponował 10:00, 10:30 i 11:00:

Ekran WhatsAppa na telefonie z prośbą klienta o termin 27 października 2026 w Londynie i Agentem proponującym 10:00, 10:30 i 11:00

Klient prosi o datę w Londynie. Odpowiedź proponuje trzy terminy i wprost podaje strefę Europe/London.

Następnie klient wybrał 10:00 i podał testowe imię i nazwisko oraz e-mail. Kolejna odpowiedź potwierdziła wizytę i zawierała linki Calendly do zarządzania wizytą:

Ekran WhatsAppa na telefonie z wyborem 10:00 przez klienta, a następnie potwierdzonym Repair assessment, lokalizacją, datą, strefą czasową i linkami do zarządzania wizytą, z ukrytymi danymi prywatnymi

Rezerwacja kończy się w WhatsAppie. Potwierdzenie podaje szczegóły wizyty oraz osobiste linki do anulowania i zmiany terminu; wartości prywatne są tu ukryte.

Niezależne sprawdzenie w Calendly znalazło jedną pasującą 15-minutową ocenę, z tą samą datą, godziną i klientem testowym. Po weryfikacji anulowaliśmy ją i potwierdziliśmy, że nie pozostała żadna pasująca aktywna wizyta.

Zobacz pasującą odpowiedź Calendly

Ten fragment pochodzi z odczytu prawdziwego wydarzenia Calendly przed posprzątaniem. 27 października 2026 strefa Europe/London jest na GMT, więc 10:00:00Z to 10:00 w Londynie.

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

Osobno dopasowaliśmy klienta testowego i wydarzenie, a potem anulowaliśmy wizytę. Prywatne identyfikatory i linki do zarządzania wizytą zostały pominięte.

Zakończ w tym samym wątku na WhatsAppie, pytając „Co mam ze sobą przynieść?” i prosząc o zapisany link do zmiany terminu. Zachowaj razem dostarczoną rozmowę i pasującą do niej wizytę w Calendly jako wynik testu. Osobno sprawdź w testowej skrzynce ewentualne skonfigurowane powiadomienie e-mail, a potem anuluj oznaczoną wizytę i zweryfikuj jej anulowanie.

Sprawdź przekazanie do pracowników i powrót do Agenta

Przetestuj Human Handoff po rozmowie rezerwacyjnej, ponieważ przekazanie wstrzymuje odpowiedzi AI. Rozmowa w kolejce czeka na dołączenie pracownika; skonfiguruj monitorowaną kolejkę i nie obiecuj czasu odpowiedzi.

  1. Z telefonu klienta poproś o rozmowę z człowiekiem.
  2. Otwórz odpowiadającą rozmowę w Inbox i sprawdź jej przypisanie po przekazaniu oraz podsumowanie AI. Wybierz Assign to me.
  3. Użyj Send message, aby wysłać odpowiedź pracownika widoczną dla klienta. Upewnij się, że ta sama odpowiedź dociera na telefon, i sprawdź jej status Delivered lub Read. Notatka wewnętrzna nie jest wiadomością do klienta.
  4. Wybierz AI Agent na liście osób przypisanych. Zadaj ponownie z telefonu pytanie o przygotowanie i sprawdź, czy Agent wznawia odpowiadanie.

WhatsApp pozwala na zwykłe odpowiedzi w ciągu 24 godzin od ostatniej wiadomości klienta. Nowa wiadomość klienta resetuje to okno. Po jego zamknięciu operator musi poczekać na kolejną wiadomość klienta lub użyć zatwierdzonego szablonu wiadomości; zwykłe pole odpowiedzi jest wyłączone. Zobacz zasady Meta dotyczące wiadomości i poradnik Inbox.

Lokalna AI Note w Inbox podsumowuje prośbę o rozmowę z pracownikami Harbor Cycle Workshop Notatka AI Note daje pracownikom kontekst rozmowy. Wcześniejszy lokalny przykład przekazania; obejrzyj ten widok po własnym teście.

Użyj publicznej strony rezerwacji, gdy rezerwacja na czacie nie może być kontynuowana

Gdy rezerwacja na czacie nie może być kontynuowana i żadne żądanie rezerwacji nie pozostaje nierozstrzygnięte, zaproponuj zatwierdzony link do wydarzenia. Wyjaśnij, że klient wybiera godzinę, wpisuje swoje dane i potwierdza w Calendly. Powinien sprawdzić strefę czasową wyświetlaną na stronie i ostateczne potwierdzenie. Agent nie otrzymuje żadnego automatycznego dowodu tego osobnego zgłoszenia przez stronę.

Jeśli rezerwacja może już istnieć, niech pracownicy to sprawdzą, zanim spróbujesz ponownie lub skierujesz klienta do zgłoszenia przez stronę. Do późniejszych zmian używaj zapisanego w tej rozmowie linku do zarządzania wizytą lub potwierdzenia klienta z Calendly; narzędzie anulowania zostaw wyłączone.

Zanim użyjesz tej konfiguracji z klientami, zastąp fikcyjne dane firmy, sprawdź wyjątki w kalendarzu i ustal, kto monitoruje kolejkę pracowników. Po zmianie wiedzy, promptu lub narzędzi ponownie uruchom testy usług i pełną rozmowę.

Ogólny poradnik o umawianiu spotkań z Calendly opisuje szerzej pracę z narzędziami i pamięcią; ta konfiguracja dodaje wiedzę o warsztacie i weryfikację na WhatsAppie.

FAQ: umawianie wizyt na WhatsAppie

Czy klienci mogą zarezerwować wizytę w Calendly z poziomu WhatsAppa?

Tak. Quickchat AI może zaproponować rzeczywiste terminy z Calendly, zebrać imię i nazwisko oraz e-mail klienta i utworzyć wybraną wizytę w rozmowie na WhatsAppie. Publiczna strona rezerwacji to rozwiązanie awaryjne, gdy rezerwacja na czacie nie może być kontynuowana; otwarcie tego linku nie rezerwuje terminu.

Czy klient potrzebuje konta Calendly?

Nie. Firma łączy swoje konto Calendly z Quickchat AI. Klient wybiera zaproponowany termin i podaje w rozmowie imię i nazwisko oraz e-mail.

Czy mogę użyć samodzielnej aplikacji WhatsApp Business?

Ten Agent korzysta z WhatsApp Business Platform przez połączenie kanału w Quickchat AI. Samodzielna aplikacja Business nie wystarczy, aby go uruchomić. Użyj obsługiwanych opcji numeru i weryfikacji pokazanych podczas łączenia.

Czy umawianie wizyt na WhatsAppie jest bezpłatne?

Tworzenie wizyt przez Booking API Calendly wymaga planu Standard lub wyższego, nawet jeśli samo połączenie z serwerem MCP może być bezpłatne. Wdrożony Agent biznesowy potrzebuje też komercyjnego planu Quickchat AI i kredytów AI. Opłaty Meta zależą od ścieżki wysyłki wiadomości, kategorii i rynku odbiorcy.

Kiedy wizyta jest faktycznie zarezerwowana?

Po tym, jak klient jednoznacznie poprosi o dostępną wizytę, poda wymagane dane, a Calendly pomyślnie przyjmie żądanie rezerwacji. Sam zaproponowany termin ani sam adres e-mail nie tworzą rezerwacji. Porównaj potwierdzenie z rzeczywistą wizytą w Calendly.

Jak klienci anulują wizytę lub zmieniają termin?

Agent może udostępnić osobisty link do zarządzania wizytą zapisany z rezerwacji, którą utworzył w tej rozmowie. Jeśli ten link jest niedostępny, klient korzysta ze swojego potwierdzenia z Calendly lub prosi pracowników. W tej konfiguracji narzędzie anulowania pozostaje wyłączone, a wizyty nie są wyszukiwane po wpisanym adresie e-mail.

Czy to rozwiązanie wysyła przypomnienia o wizytach na WhatsAppie?

Ta konfiguracja obsługuje rozmowy inicjowane przez klienta i tworzenie wizyt. Potwierdzenie z Calendly to coś innego niż przypomnienie na WhatsAppie. Zaplanowane przypomnienia na WhatsAppie wymagają osobno przetestowanego mechanizmu planowania wysyłki, zgody odbiorcy, szablonów tam, gdzie są wymagane, oraz konfiguracji dostarczania.

Czy ChatGPT lub Claude mogą przygotować tego asystenta WhatsApp?

Konektor konta Quickchat AI może przygotować dużą część konfiguracji Agenta. Może zapisać dostarczone instrukcje i artykuły, przygotować dataset z pytaniami o usługi i utworzyć ograniczoną Action Calendly. Ty sprawdzasz pozostałe ustawienia i autoryzujesz zewnętrzne konta.

To osobne połączenie, niezależne od Calendly MCP. Twój klient AI używa konektora konta do zarządzania Agentem; Agent używa później narzędzi Calendly w rozmowach z klientami.

Panel połączenia konta Quickchat AI z adresem URL serwera MCP i kartami dla ChatGPT, Claude i innych klientów Otwórz Manage your AI in nad paskiem bocznym panelu. Ten prawdziwy lokalny panel łączy klienta AI z zarządzaniem kontem; numer WhatsApp dla klientów połącz w kroku 6.

  1. Otwórz Quickchat AI w ChatGPT i wybierz Install plugin albo użyj wpisu Quickchat AI w katalogu Claude Directory. Zaloguj się na konto, które będzie właścicielem tego Agenta.
  2. Rozpakuj zestaw warsztatu. Załącz jego pliki tekstowe i wszystkie pięć plików z knowledge/ albo wklej ich treść do rozmowy.
  3. Wyślij poniższe żądanie konfiguracji i przejrzyj wszystkie prośby o zatwierdzenie, które wyświetli Twój klient AI.
Skopiuj żądanie konfiguracji konta
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.

Asystent musi sprawdzić dostępne narzędzia, a nie wnioskować o możliwościach z nazwy konektora. Przy przeglądaniu jego wyniku stosuj te granice:

PrzygotowaniePozostała kontrola właściciela
Zapisany Main Prompt i artykułyZweryfikuj pełny tekst i poczekaj, aż każdy artykuł pokaże w panelu status Ready
Nowa Action Calendly ograniczona do trzech narzędzi odczytuAutoryzuj Calendly w edytorze Action; sprawdź zapisane przełączniki i ścieżki pamięci
Istniejąca Action CalendlyPrzejrzyj w panelu poszczególne narzędzia, Default tool activation i Save to memory
Dataset z pytaniami o usługi warsztatuPrzejrzyj jego wiadomości i kryteria, a następnie osobno autoryzuj uruchomienie
Human Handoff i WhatsAppSkonfiguruj przekazanie w panelu i dokończ wybór konta firmowego i numeru w Meta

Autoryzacja Calendly może aktywować Action, więc nowa Action musi w tym momencie zawierać tylko trzy narzędzia odczytu. Włączenie lub wyłączenie całej Action to coś innego niż włączenie jej narzędzia rezerwacji. Jeśli klient AI nie może wykonać jakiegoś kroku, użyj odpowiednich numerowanych instrukcji z kroków 1–6. Poradnik o MCP konta opisuje inne zgodne klienty.

Wróć do kroków 1–6, aby przejrzeć pozostałą konfigurację, i pomiń kroki tworzenia, które zostały już wykonane. Osobno autoryzuj kolejne etapy testów: wiadomości w Preview i uruchomienia symulacji zużywają kredyty i mogą wykonywać włączone Actions.

Main Prompt do skopiowania

Wklej ten kompletny blok w Identity > Main Prompt w kroku 4, a następnie zastąp tylko dwie wartości operatora wskazane w tym kroku. Zestaw zawiera dokładnie ten sam tekst w pliku main-prompt.txt. Prompt i bloki wiedzy poniżej pozostają po angielsku, ponieważ to dokładnie ten tekst, który został przetestowany w tej demonstracji.

Skopiuj kompletny 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.

Źródła wiedzy o warsztacie do skopiowania

W kroku 1 utwórz jeden artykuł na każde źródło. Każdy blok zawiera tytuł i pełną treść; zestaw dostarcza ten sam tekst w folderze knowledge/. Przed wdrożeniem konsekwentnie zastąp fikcyjne dane firmy.

Skopiuj artykuł 1: Usługi
# 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.
Skopiuj artykuł 2: Orientacyjne ceny
# 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.
Skopiuj artykuł 3: Godziny otwarcia i wizyty
# 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.
Skopiuj artykuł 4: Lokalizacja i kontakt
# 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.
Skopiuj artykuł 5: Pomoc człowieka i ograniczenia rezerwacji
# 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.