> This is a page from the ElevenLabs documentation. For an index of the documentation, fetch https://elevenlabs.io/docs/llms.txt.

# Notion

Twoja recepcjonistka może przeszukiwać obszar roboczy Notion, czytać stronę i przeglądać bazę danych, np. cennik, tabelę produktów lub listę otwartych ofert pracy, by odpowiadać osobom dzwoniącym. Odczytywanie danych działa przez [narzędzia webhook](/docs/pl/reception-ai/integrations/webhooks) z wewnętrznym połączeniem Notion, które działa w każdym planie Notion i widzi tylko udostępnione mu strony. Dodawanie wpisów do bazy danych też działa przez narzędzie webhook, za pomocą drugiego połączenia, które może tylko dodawać treści. Możesz zamiast tego użyć [Zapier](/docs/pl/reception-ai/integrations/zapier), ale zalecamy narzędzie webhook: nie wymaga konta Zapier ani nie zużywa zadań Zapier, a każde żądanie trafia bezpośrednio do Notion. Narzędzie webhook nie może jednak uzupełnić właściwości tytułu, więc jeśli wpisy potrzebują prawdziwego tytułu, użyj Zapier.

> **Note**
>
> Jeśli treści w Notion rzadko się zmieniają, integracja może nie być potrzebna. Wyeksportuj stronę z
> Notion i zamiast tego [prześlij ją do bazy wiedzy](#use-the-knowledge-base-instead).

> **Warning**
>
> Twoja recepcjonistka może odczytać wszystko, co udostępnisz połączeniu, i przekazać to osobom dzwoniącym.
> Udostępniaj tylko strony, o których dzwoniący mogą usłyszeć, i dodaj
> [regułę](/docs/pl/reception-ai/receptionist/rules-and-procedures), że recepcjonistka nigdy nie odczytuje
> osobom dzwoniącym prywatnych danych, takich jak dane klientów.

## Konfiguracja

### Utwórz wewnętrzne połączenie

Musisz być właścicielem obszaru roboczego. Otwórz [app.notion.com/developers/connections](https://app.notion.com/developers/connections), wybierz **Internal connections**, a potem **Create a new connection**. Nazwij je `Reception.ai` i wybierz swój obszar roboczy. Na karcie **Configuration** zezwól tylko na odczyt treści i skopiuj **API token**.

### Udostępnij strony połączeniu

Otwórz kartę **Content access** połączenia, wybierz **Edit access** i wskaż strony oraz bazy danych, które recepcjonistka ma odczytywać. Możesz też otworzyć stronę w Notion, wybrać **•••** → **Connections** → **+ Add connection** i wskazać `Reception.ai`. Strony podrzędne też zostaną udostępnione.

### Znajdź ID źródła danych

Aby recepcjonistka mogła odczytywać bazę danych, otwórz jej ustawienia w Notion, wybierz **Manage data sources**, otwórz menu **•••** obok źródła danych i wybierz **Copy data source ID**.

### Utwórz narzędzia webhook

Utwórz [poniższe narzędzia](#tools). W każdym przejdź do **Integrations**, wybierz **Add integration**, a następnie **Webhook Tool**.

### Przetestuj

[Przetestuj recepcjonistkę](/docs/pl/reception-ai/receptionist/testing), zadając pytanie, na które odpowiada jedna z udostępnionych stron.

## Narzędzia

Każde narzędzie wysyła te nagłówki żądania:

| Nagłówek         | Typ     | Wartość                              |
| ---------------- | ------- | ------------------------------------ |
| `Authorization`  | Sekret  | `Bearer `, a po nim token połączenia |
| `Notion-Version` | Wartość | `2026-03-11`                         |

W każdym narzędziu ustaw **Assign to agents** na **Receptionist** i wybierz **Enable**.

### Wyszukiwanie stron

| Pole                | Wartość                                                                                                                                                                               |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**            | `search_notion`                                                                                                                                                                       |
| **Description**     | "Przeszukaj nasze strony Notion według tytułu. Użyj, gdy dzwoniący pyta o coś, na co mogą odpowiadać nasze dokumenty, a potem odczytaj najlepszy wynik za pomocą `read_notion_page`." |
| **Method**          | POST                                                                                                                                                                                  |
| **URL**             | `https://api.notion.com/v1/search`                                                                                                                                                    |
| **Body Parameters** | `query` (string, wymagane): "Krótki tytuł do wyszukania, np. `pricing` lub `opening hours`."  `page_size` (number, stała wartość): `10`                                               |

### Odczyt strony

| Pole                 | Wartość                                                                      |
| -------------------- | ---------------------------------------------------------------------------- |
| **Name**             | `read_notion_page`                                                           |
| **Description**      | "Odczytaj pełny tekst strony Notion znalezionej przez `search_notion`."      |
| **Method**           | GET                                                                          |
| **URL**              | `https://api.notion.com/v1/pages/{page_id}/markdown`                         |
| **Path Parameters**  | `page_id` (string, wymagane): "`id` strony zwróconej przez `search_notion`." |
| **Query Parameters** | `markdown_version` (string, stała wartość): `v2`                             |

### Odczyt bazy danych

| Pole                | Wartość                                                                                                     |
| ------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Name**            | `read_notion_table`                                                                                         |
| **Description**     | "Wypisz wiersze naszego cennika. Użyj, gdy dzwoniący pyta o ceny lub naszą ofertę." Opisz tu własną tabelę. |
| **Method**          | POST                                                                                                        |
| **URL**             | `https://api.notion.com/v1/data_sources/DATA_SOURCE_ID/query`                                               |
| **Body Parameters** | `page_size` (number, stała wartość): `100`                                                                  |

Zastąp `DATA_SOURCE_ID` skopiowanym ID. Utwórz jedno narzędzie na każdą bazę danych, każde z własną nazwą i opisem.

## Dodawanie wpisów do bazy danych za pomocą narzędzia webhook (zalecane)

Aby zapisać w bazie danych Notion coś z rozmowy, np. kontakt sprzedażowy lub prośbę o oddzwonienie, utwórz narzędzie dodające wpis.

### Utwórz połączenie dla nowych wpisów

Utwórz drugie wewnętrzne połączenie, np. `Reception.ai entries`, tak samo jak pierwsze. Na karcie **Configuration** zezwól tylko na wstawianie treści i skopiuj jego **API token**. W **Content access** udostępnij tylko bazę danych, do której dodaje wpisy. To połączenie nie może nic odczytać, więc wpisy pozostają prywatne.

### Przygotuj bazę danych

Skopiuj ID źródła danych bazy, jak w sekcji [Konfiguracja](#set-up). Każda właściwość uzupełniana przez narzędzie jest kluczem w żądaniu, a klucze nie mogą zawierać spacji, więc nadaj tym właściwościom jednowyrazowe nazwy, np. `Phone`, `Email` i `Status`.

### Utwórz narzędzie webhook

Przejdź do **Integrations**, wybierz **Add integration**, a następnie **Webhook Tool**.

| Pole                 | Wartość                                                                                                                              |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Name**             | `add_notion_entry`                                                                                                                   |
| **Description**      | "Zapisz nowy kontakt sprzedażowy w naszej bazie kontaktów, gdy dzwoniący chce wycenę lub oddzwonienie." Opisz tu własną bazę danych. |
| **Method**           | POST                                                                                                                                 |
| **URL**              | `https://api.notion.com/v1/pages`                                                                                                    |
| **Request Headers**  | `Authorization` (Secret): `Bearer `, a po nim token nowego połączenia  `Notion-Version` (Value): `2026-03-11`                        |
| **Body Parameters**  | `parent` (object, wymagane)  `markdown` (string, wymagane)  `markdown_version` (string)  `properties` (object, wymagane)             |
| **Assign to agents** | **Receptionist**                                                                                                                     |

Skonfiguruj parametry body tak:

* `parent`: jedno pole, `data_source_id` (string, stała wartość): ID źródła danych.
* `markdown` (z rozmowy): "Wpis jako Markdown. Zacznij od wiersza `# `, po którym podaj imię i nazwisko dzwoniącego oraz to, czego potrzebuje, np. `# Jane Doe: quote for a new boiler`. Następnie dodaj pusty wiersz i szczegóły prośby."
* `markdown_version` (stała wartość): `v2`
* `properties`: wybierz **Add field** raz dla każdej właściwości do uzupełnienia. Każda z nich jest obiektem nazwanym dokładnie jak właściwość, z jednym polem na jej wartość:
  * `Phone` (object): `phone_number` (string, z rozmowy): "Numer telefonu dzwoniącego."
  * `Email` (object): `email` (string, z rozmowy): "Adres e-mail dzwoniącego, przeliterowany mu. Pomiń, jeśli go nie podał."
  * `Status` (object, wymagane): `select` (object, wymagane), z jednym polem `name` (string, stała wartość): `New`

Notion dokumentuje, że gdy właściwość tytułu zostanie pominięta, pierwszy nagłówek `#` staje się tytułem strony; dokumentacja pokazuje to tylko dla stron utworzonych wewnątrz strony, więc sprawdź, czy działa w twojej bazie danych. W każdym przypadku nagłówek i szczegóły zostaną zapisane jako treść wpisu, a właściwości telefonu, e-maila i statusu będą uzupełnione. Pomiń właściwość tytułu w `properties`: Notion zagnieżdża wartości tytułu i tekstu na sześciu poziomach, o jeden więcej niż pozwalają narzędzia webhook. Mieszczą się właściwości numeru telefonu, e-maila, URL, liczby, pola wyboru, listy wyboru i daty. Właściwość typu Status przyjmuje `status` zamiast `select`.

Wybierz **Enable**, a następnie [przetestuj recepcjonistkę](/docs/pl/reception-ai/receptionist/testing), prosząc o oddzwonienie. Wpis pojawi się w bazie danych.

## Dodawanie wpisów do bazy danych przez Zapier

Aby zamiast tego dodawać wpisy przez Zapier, połącz [Zapier](/docs/pl/reception-ai/integrations/zapier). Na serwerze Zapier MCP pod adresem [mcp.zapier.com](https://mcp.zapier.com) dodaj akcję Notion **Create Data Source Item**, ustaw bazę danych jako stałą wartość i pozwól AI uzupełniać pola. W Reception.ai otwórz kartę **Tools** integracji Zapier, wybierz **Refresh tools** i przypisz akcję do **Client** (recepcjonistki).

## Użyj zamiast tego bazy wiedzy

W przypadku treści, które nie zmieniają się często, [baza wiedzy](/docs/pl/reception-ai/knowledge-base/overview) jest prostsza i szybsza niż wyszukiwanie na żywo. W Notion otwórz menu **•••** strony, wybierz **More** → **Export** i wskaż **PDF**, **HTML** lub **Markdown & CSV**. Eksport HTML i Markdown pobiera się jako plik zip, więc najpierw go rozpakuj. Następnie [prześlij plik](/docs/pl/reception-ai/knowledge-base/file-uploads). Bazy danych są eksportowane do CSV, którego baza wiedzy nie obsługuje, więc eksportuj je jako PDF. Eksportuj i przesyłaj ponownie, gdy treść się zmieni.

## Ograniczenia

* Wyszukiwarka Notion dopasowuje tytuły stron i baz danych, a nie tekst wewnątrz stron. Nadawaj stronom jasne tytuły, np. "Cancellation policy".
* `read_notion_table` zwraca pierwsze 100 wierszy i tylko ich właściwości, a nie treść strony każdego wiersza. Tabele odczytywane przez recepcjonistkę powinny być małe.
* Hostowany serwer MCP Notion wymaga logowania w przeglądarce, z wyjątkiem planów Business i Enterprise, w których właściciel obszaru roboczego może utworzyć token MCP. Powyższe narzędzia webhook działają w każdym planie.
* `add_notion_entry` nie może uzupełniać właściwości tytułu ani tekstu. Zamiast tego umieszczaj nazwy i notatki w nagłówku oraz treści.
* Jeśli dodajesz wpisy przez Zapier, każda akcja Zapier uruchomiona przez recepcjonistkę zużywa zadania z twojego planu Zapier. Zapier obecnie nalicza dwa zadania za każde udane wywołanie.

## Rozwiązywanie problemów

| Problem                                        | Co sprawdzić                                                                                                                                                                                         |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 401 z Notion                                   | Nagłówek `Authorization` musi zawierać `Bearer `, a po nim token połączenia.                                                                                                                         |
| 400 dotyczący wersji                           | Ustaw `Notion-Version` na `2026-03-11`.                                                                                                                                                              |
| 404 lub `object_not_found`                     | Udostępnij stronę lub bazę danych połączeniu i użyj ID źródła danych, a nie ID bazy danych.                                                                                                          |
| 403 przy `read_notion_page`                    | Połączenie potrzebuje uprawnień do odczytu treści.                                                                                                                                                   |
| 403 przy `add_notion_entry`                    | Połączenie do wpisów potrzebuje uprawnień do wstawiania treści i dostępu do bazy danych.                                                                                                             |
| 400 `validation_error` przy `add_notion_entry` | Każdy klucz w `properties` musi dokładnie odpowiadać nazwie właściwości, a jego pole musi odpowiadać typowi właściwości.                                                                             |
| Nowe wpisy wyświetlają się jako **Untitled**   | Notion nie użył nagłówka `#` jako tytułu w twojej bazie danych. Nagłówek nadal jest na górze strony każdego wpisu, a wpisy możesz znaleźć po telefonie lub statusie. Aby uzyskać tytuł, użyj Zapier. |
| Wyszukiwanie nic nie znajduje                  | Wyszukiwanie dopasowuje tylko tytuły i tylko stron udostępnionych połączeniu.                                                                                                                        |
| Recepcjonistka działa wolno przy dużej tabeli  | Duże tabele zwracają dużo danych. Podziel tabelę lub przenieś treść do bazy wiedzy.                                                                                                                  |