Przejdź do nawigacji

Supabase

Zapisuj i wyszukuj rekordy w bazie Supabase za pomocą narzędzi webhook.

Twój recepcjonista może zapisywać dane z rozmowy do tabeli Supabase i wyszukiwać dzwoniącego po numerze telefonu przez REST API Supabase. Poniższa konfiguracja używa publicznego klucza projektu z zabezpieczeniami na poziomie wierszy, więc recepcjonista może robić tylko to, na co zezwolisz.

Nigdy nie umieszczaj klucza service_role ani tajnego klucza w narzędziu webhook. Te klucze omijają zabezpieczenia na poziomie wierszy i dają pełny dostęp do bazy danych.

Zanim zaczniesz

W panelu Supabase otwórz Project Settings → API Keys i skopiuj klucz publishable albo starszy klucz anon. URL projektu to https://PROJECT_REF.supabase.co.

Przygotuj bazę danych

Uruchom to w SQL Editor. Utworzy tabelę, do której recepcjonista może tylko dodawać wpisy, oraz funkcję zwracającą jednego klienta na podstawie dokładnego numeru telefonu. Funkcja zakłada, że istnieje tabela customers z kolumnami name, plan, notes i phone, więc dostosuj nazwy do swojego schematu.

Dzwoniący nie mogą użyć funkcji do wyświetlenia listy klientów: nie zwraca ona nic, jeśli nie jest znany dokładny numer telefonu.

create table callback_requests (
id bigint generated always as identity primary key,
created_at timestamptz not null default now(),
caller_name text not null,
phone text not null,
reason text not null
);
alter table callback_requests enable row level security;
create policy "Receptionist can add callback requests"
on callback_requests for insert to anon
with check (true);
create function find_customer_by_phone(phone text)
returns table (name text, plan text, notes text)
language sql stable security definer set search_path = public
as $$
select c.name, c.plan, c.notes from customers c where c.phone = find_customer_by_phone.phone limit 1;
$$;
revoke execute on function find_customer_by_phone from public;
grant execute on function find_customer_by_phone to anon;

Utwórz narzędzia

Dla obu narzędzi przejdź do Integrations, wybierz Add integration, wybierz Webhook Tool i dodaj te nagłówki żądania:

NagłówekWartość
apikeyTwój klucz publishable lub anon
AuthorizationBearer , a potem klucz anon. Pomiń dla klucza publishable.

Zapisz prośbę o oddzwonienie

PoleWartość
Nazwasave_callback_request
Opis”Zapisz prośbę o oddzwonienie, gdy obiecasz dzwoniącemu kontakt zwrotny.”
MetodaPOST
URLhttps://PROJECT_REF.supabase.co/rest/v1/callback_requests
Parametry bodycaller_name, phone i reason (wszystkie string, wymagane)
Przypisz do agentówRecepcjonista

Wyszukaj klienta

PoleWartość
Nazwafind_customer
Opis”Wyszukaj konto dzwoniącego po numerze telefonu. Użyj, gdy dzwoniący pyta o swój plan lub konto.”
MetodaPOST
URLhttps://PROJECT_REF.supabase.co/rest/v1/rpc/find_customer_by_phone
Parametry bodyphone (string, wymagane): “Numer telefonu dzwoniącego w formacie E.164, na przykład +14155550123.”
Przypisz do agentówRecepcjonista

Wybierz Enable dla każdego narzędzia, a potem przetestuj recepcjonistę za pomocą prośby o oddzwonienie. Wiersz pojawi się w Table Editor.

Rozwiązywanie problemów

ProblemCo sprawdzić
new row violates row-level security policyPolityka dodawania musi dotyczyć roli anon.
Could not find the functionParametr body musi nazywać się dokładnie tak jak argument funkcji, tutaj phone.
401 Invalid API keyW przypadku klucza publishable usuń nagłówek Authorization.
Nie znaleziono klientówZapisuj numery telefonów w formacie E.164, takim samym, jaki wysyła recepcjonista.