Ir para a navegação

Supabase

Salve e consulte registros no seu banco de dados Supabase com ferramentas de webhook.

Sua recepcionista pode salvar detalhes de uma ligação em uma tabela do Supabase e consultar uma pessoa que ligou pelo número de telefone, usando a API REST do Supabase. A configuração abaixo usa a chave pública do seu projeto com segurança em nível de linha, para que a recepcionista faça apenas o que você permitir.

Nunca coloque a chave service_role ou secreta em uma ferramenta de webhook. Essas chaves ignoram a segurança em nível de linha e dão acesso completo ao seu banco de dados.

Antes de começar

No painel do Supabase, abra Project Settings → API Keys e copie a chave publishable ou a chave anon legada. A URL do seu projeto é https://PROJECT_REF.supabase.co.

Prepare o banco de dados

Execute isto no SQL Editor. Ele cria uma tabela na qual sua recepcionista só pode inserir dados e uma função que retorna um cliente pelo número de telefone exato. A função pressupõe uma tabela customers existente com as colunas name, plan, notes e phone, então ajuste os nomes ao seu esquema.

As pessoas que ligam não podem usar a função para listar clientes: ela não retorna nada a menos que o número de telefone exato seja conhecido.

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;

Crie as ferramentas

Para ambas as ferramentas, acesse Integrações, selecione Adicionar integração, escolha Ferramenta de webhook e adicione estes cabeçalhos de solicitação:

CabeçalhoValor
apikeySua chave publishable ou anon
AuthorizationBearer seguido da chave anon. Omita para uma chave publishable.

Salvar uma solicitação de retorno

CampoValor
Nomesave_callback_request
Descrição”Salve uma solicitação de retorno sempre que prometer um acompanhamento à pessoa que ligou.”
MétodoPOST
URLhttps://PROJECT_REF.supabase.co/rest/v1/callback_requests
Parâmetros do corpocaller_name, phone e reason (todos strings, obrigatórios)
Atribuir aos agentesRecepcionista

Consultar um cliente

CampoValor
Nomefind_customer
Descrição”Consulte a conta da pessoa que ligou pelo número de telefone. Use quando ela perguntar sobre seu plano ou conta.”
MétodoPOST
URLhttps://PROJECT_REF.supabase.co/rest/v1/rpc/find_customer_by_phone
Parâmetros do corpophone (string, obrigatório): “O número de telefone da pessoa que ligou no formato E.164, por exemplo, +14155550123.”
Atribuir aos agentesRecepcionista

Selecione Ativar em cada ferramenta e teste sua recepcionista com uma solicitação de retorno. A linha aparecerá no Table Editor.

Solução de problemas

ProblemaO que verificar
new row violates row-level security policyA política de inserção deve ter como destino a função anon.
Could not find the functionO parâmetro do corpo deve ter exatamente o mesmo nome do argumento da função, neste caso phone.
401 Invalid API keyCom uma chave publishable, remova o cabeçalho Authorization.
Clientes não são encontradosArmazene os números de telefone no formato E.164, o mesmo formato que sua recepcionista envia.