> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Supabase

Din receptionist kan spara information från ett samtal i en Supabase-tabell och söka upp en uppringare efter telefonnummer via Supabases REST API. Konfigurationen nedan använder projektets publika nyckel med säkerhet på radnivå, så att receptionisten bara kan göra det du tillåter.

> **Warning**
>
> Lägg aldrig `service_role` eller den hemliga nyckeln i ett webhook-verktyg. De nycklarna kringgår säkerhet på radnivå
> och ger full åtkomst till din databas.

## Innan du börjar

I Supabase-instrumentpanelen öppnar du **Project Settings** → **API Keys** och kopierar nyckeln **publishable**, eller den äldre nyckeln **anon**. Projektets URL är `https://PROJECT_REF.supabase.co`.

## Förbered databasen

Kör detta i **SQL Editor**. Det skapar en tabell som din receptionist bara kan infoga i, samt en funktion som returnerar en kund utifrån ett exakt telefonnummer. Funktionen förutsätter en befintlig `customers`-tabell med kolumnerna `name`, `plan`, `notes` och `phone`, så anpassa namnen efter ditt schema.

Uppringare kan inte använda funktionen för att lista kunder: den returnerar ingenting om inte det exakta telefonnumret är känt.

```sql
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;
```

## Skapa verktygen

För båda verktygen går du till **Integrations**, väljer **Add integration**, väljer **Webhook Tool** och lägger till dessa förfrågningsheaders:

| Header          | Värde                                                                    |
| --------------- | ------------------------------------------------------------------------ |
| `apikey`        | Din publishable- eller anon-nyckel                                       |
| `Authorization` | `Bearer ` följt av anon-nyckeln. Utelämna den för en publishable-nyckel. |

### Spara en begäran om återuppringning

| Fält                      | Värde                                                                          |
| ------------------------- | ------------------------------------------------------------------------------ |
| **Namn**                  | `save_callback_request`                                                        |
| **Beskrivning**           | "Spara en begäran om återuppringning när du lovar uppringaren en uppföljning." |
| **Metod**                 | POST                                                                           |
| **URL**                   | `https://PROJECT_REF.supabase.co/rest/v1/callback_requests`                    |
| **Brödtextparametrar**    | `caller_name`, `phone` och `reason` (alla strängar, obligatoriska)             |
| **Tilldela till agenter** | **Receptionist**                                                               |

### Sök upp en kund

| Fält                      | Värde                                                                                                                 |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Namn**                  | `find_customer`                                                                                                       |
| **Beskrivning**           | "Sök upp uppringarens konto efter telefonnummer. Använd det när en uppringare frågar om sitt abonnemang eller konto." |
| **Metod**                 | POST                                                                                                                  |
| **URL**                   | `https://PROJECT_REF.supabase.co/rest/v1/rpc/find_customer_by_phone`                                                  |
| **Brödtextparametrar**    | `phone` (sträng, obligatoriskt): "Uppringarens telefonnummer i E.164-format, till exempel +14155550123."              |
| **Tilldela till agenter** | **Receptionist**                                                                                                      |

Välj **Enable** för varje verktyg och [testa sedan din receptionist](/docs/sv/reception-ai/receptionist/testing) med en begäran om återuppringning. Raden visas i **Table Editor**.

## Felsökning

| Problem                                      | Kontrollera                                                                    |
| -------------------------------------------- | ------------------------------------------------------------------------------ |
| `new row violates row-level security policy` | Infogningspolicyn måste riktas mot rollen `anon`.                              |
| `Could not find the function`                | Brödtextparametern måste heta exakt som funktionens argument, här `phone`.     |
| 401 `Invalid API key`                        | Med en publishable-nyckel tar du bort headern `Authorization`.                 |
| Kunder hittas inte                           | Spara telefonnummer i E.164-format, samma format som din receptionist skickar. |