## Dlaczego to ważne

Rekrutacja to kolejka. Oceny się piętrzą, aplikacje stoją w miejscu, a pięciu kandydatów czeka na to samo, życzliwie napisane „dziękujemy, tym razem nie”. Kit wystawia moduł Hiring asystentom AI na dwa sposoby: przez agenta w aplikacji, obecnego na każdej stronie modułu, i przez narzędzia MCP, które w kontekście Twojego konta może wywołać dowolny zewnętrzny klient (Claude Desktop, Claude Code, Codex CLI albo Twoi właśni agenci).

**Żeby się podłączyć, nie musisz być administratorem konta.** Klienta MCP może skonfigurować i wskazać mu Kit każdy, kto ma dostęp do modułu Hiring. Podłączenie to sprawa osobista, jak zainstalowanie aplikacji na własnym laptopie. O tym, do czego asystent naprawdę sięgnie, decydują przy każdym wywołaniu Twoje własne uprawnienia, a nie to, kto go skonfigurował.

Oba kanały egzekwują te same reguły co interfejs: uprawnienia modułu, dostęp do poszczególnych ogłoszeń, separację danych między kontami i każdą blokadę cyklu życia, której pilnują formularze. Asystent działa *jako Ty*. Nigdy nie sięgnie do ogłoszenia o pracę, którego sam nie możesz otworzyć, i nigdy nie zrobi czegoś, czego odmówiłby Ci interfejs webowy.

## Asystent w aplikacji

Otwórz czat AI na dowolnej stronie w [Hiring](/hiring/job_postings) — włącza się automatycznie, obok agentów modułów Security i Outreach. Potrafi:

**Obsłużyć Twoją kolejkę** — „Co dziś na mnie czeka?” zwraca Twoje otwarte oceny oraz każdą ocenę zespołu, która zakończyła się bez jasnego rozstrzygnięcia, a przy każdej: kandydata, etap i to, jak długo sprawa leży.

**Prześwietlić kandydatów** — „Podsumuj trzech najlepszych kandydatów na stanowisko Senior Rails” pobiera podsumowania aplikacji, wyodrębnione [pola danych kandydata](/docs/candidate-data-fields) i tekst CV, a potem porządkuje kandydatów pod kątem ogłoszenia.

**Poprowadzić pipeline** — awansować kandydata na kolejny etap, odrzucić go ze spersonalizowaną notatką albo cofnąć odrzucenie. Każde działanie jest przypisane do Ciebie i trafia do audit trail.

**Przygotować odpowiedzi do kandydatów** — agent odkłada e-mail jako oczekujący szkic. Nic nie wychodzi z Kit, dopóki człowiek go nie wyśle.

**Odpowiadać na pytania o platformę** — agent przeszukuje dokumentację Kit bez wychodzenia z rozmowy.

## Narzędzia MCP

### Na co pozwala Twoja rola

Nakładają się trzy niezależne ograniczenia i wywołanie narzędzia musi przejść przez wszystkie:

1. **Zakresy połączenia.** Autoryzując klienta, wybierasz dla każdego modułu odczyt albo odczyt i zapis. Połączenie, które dostało sam `hiring_read`, nie zapisze niczego, kimkolwiek jesteś. Na ekranie zgody zapis jest domyślnie wyłączony.
2. **Twój własny poziom dostępu w Hiring.** Kit odczytuje aktualny poziom dostępu do modułu przy każdym pojedynczym wywołaniu, więc zmiana Twoich uprawnień działa natychmiast, a nie dopiero przy kolejnym odświeżeniu tokenu. Członek bez dostępu do Hiring nie dostaje żadnych narzędzi rekrutacyjnych. Wewnątrz Hiring sięgasz do tych ogłoszeń, do których sięgnąłbyś w przeglądarce: nieograniczonych oraz tych, w których zespole jesteś. Ogłoszenie z ograniczonym dostępem zwraca „nie znaleziono”, dokładnie tak samo jak zmyślony identyfikator.
3. **Administrator modułu i subskrypcja.** Garść narzędzi jest zarezerwowana dla administratorów Hiring: tworzenie ogłoszeń o pracę i szablonów procesu oraz zmiana ustawień pobierania CV. Definiowanie i edycja pól meta podlegają tej samej regule co aplikacja webowa: administratorzy Hiring plus menedżerowie rekrutacji danego ogłoszenia. Większość narzędzi zapisujących wymaga dodatkowo aktywnej subskrypcji.

Predefiniowana rola `recruiter` daje uprawnienia administratora Hiring, więc rekruter dostaje pełny zestaw narzędzi rekrutacyjnych, nie będąc gdziekolwiek indziej administratorem konta. Co daje każda z predefiniowanych ról, sprawdzisz w [Rolach w zespole](/docs/team-roles).

W kolumnie **Wymaga** poniżej: *odczyt* to dowolny członek z dostępem do Hiring i zakresem odczytu; *zapis* oznacza, że połączenie potrzebuje odczytu i zapisu; *admin Hiring* to uprawnienia administratora modułu Hiring; *admin lub menedżer* to administrator Hiring lub menedżer rekrutacji danego ogłoszenia; *subskrypcja* to aktywny plan.

### Konfiguracja i szablony

| Narzędzie | Wymaga | Co robi |
|------|:--------:|--------------|
| `hiring_get_setup_guide` | odczyt | Zacznij tutaj. Stan konta, na co pozwala Twoja rola, checklist konfiguracji z narzędziem, które łata każdą lukę, oraz rekomendowane kolejne wywołanie |
| `hiring_list_templates` | odczyt | Szablony procesu rekrutacji dostępne na koncie, z tagami i stanem publikacji |
| `hiring_get_template` | odczyt | Jeden szablon w całości: każdy etap, jego typ i konfiguracja |
| `hiring_create_process_template` | zapis · admin Hiring | Tworzy wielokrotnego użytku szablon procesu z listy etapów, opcjonalnie z recenzentami przypisanymi do etapów |

### Ogłoszenia

| Narzędzie | Wymaga | Co robi |
|------|:--------:|--------------|
| `hiring_list_job_postings` | odczyt | Ogłoszenia, do których masz dostęp, ze statusem, liczbą aplikacji i podsumowaniem etapów |
| `hiring_get_job_posting` | odczyt | Jedno ogłoszenie w całości: treść, etapy z konfiguracją, recenzenci i adres URL w portalu |
| `hiring_create_job_posting` | zapis · admin Hiring · subskrypcja | Tworzy ogłoszenie w wersji roboczej, na podstawie szablonu albo etapów podanych wprost. Zwraca adres URL do edycji |
| `hiring_list_metafield_definitions` | odczyt | Niestandardowe pola danych zdefiniowane w ogłoszeniu, z typami i ustawieniami ekstrakcji. Pola tylko dla menedżerów widzą wyłącznie admini i menedżerowie rekrutacji danego ogłoszenia |
| `hiring_create_metafield_definition` | zapis · admin lub menedżer | Dodaje pole meta do ogłoszenia, opcjonalnie oznaczone do [ekstrakcji AI](/docs/ai-extraction) lub widoczne tylko dla menedżerów |

### Pipeline

| Narzędzie | Wymaga | Co robi |
|------|:--------:|--------------|
| `hiring_list_applications` | odczyt | Przesłane aplikacje, filtrowalne po ogłoszeniu, statusie i zakresie dat |
| `hiring_get_application_summary` | odczyt | Wszystko, czego trzeba do przejrzenia jednej aplikacji: kandydat, odpowiedzi, historia etapów, notatki |
| `hiring_get_stage_details` | odczyt | Szczegóły jednego etapu, właściwe dla jego typu: zadanie programistyczne, rozmowa, wideo, portfolio |
| `hiring_search_video_transcripts` | odczyt | Wyszukiwanie semantyczne i tekstowe w transkrypcjach rozmów wideo |
| `hiring_get_metafield_values` | odczyt | Wyodrębnione i ręcznie wpisane wartości pól dla aplikacji, ze wskaźnikami pewności. Pola tylko dla menedżerów widzą wyłącznie admini i menedżerowie rekrutacji danego ogłoszenia |
| `hiring_advance_application` | zapis · subskrypcja | Przenosi aplikację na kolejny etap albo od razu na wskazany |
| `hiring_reject_application` | zapis · subskrypcja | Odrzuca aplikację. Kandydat dostaje e-mail, a w nim Twoją spersonalizowaną wiadomość, jeśli ją podasz |
| `hiring_unreject_application` | zapis · subskrypcja | Cofa odrzucenie, z obowiązkowym powodem audytowym |
| `hiring_save_note` | zapis · subskrypcja | Zapisuje w aplikacji informację zwrotną albo podsumowanie wątku, przypisane do Ciebie |
| `hiring_update_metafield_value` | zapis · admin lub menedżer | Ustawia wartość pola ręcznie — zapisane jako Twoja edycja i chronione przed ponowną ekstrakcją |
| `hiring_trigger_metafield_extraction` | zapis · admin lub menedżer | Uruchamia ponownie ekstrakcję AI na CV z aplikacji |

### Oceny

| Narzędzie | Wymaga | Co robi |
|------|:--------:|--------------|
| `hiring_list_reviews` | odczyt | Twoja skrzynka ocen, podzielona na to, co wymaga decyzji, co masz do napisania i co czeka na innych |
| `hiring_get_review_details` | odczyt | Wszystko, czego recenzent potrzebuje do jednego kandydata na jednym etapie: kryteria, przesłane materiały, wcześniejsze oceny |
| `hiring_list_pending_decisions` | odczyt | Oceny zespołu, które zakończyły się bez jasnego rozstrzygnięcia: podzielony głos albo brak kworum |
| `hiring_decide_review` | zapis · subskrypcja | Zapisuje przypisaną i audytowaną decyzję w zablokowanej ocenie zespołu, z obowiązkowym uzasadnieniem |

### Pula talentów

| Narzędzie | Wymaga | Co robi |
|------|:--------:|--------------|
| `hiring_list_talent_pool` | odczyt | Zweryfikowane wpisy w puli talentów ze zwięzłymi podsumowaniami CV, stronicowane |
| `hiring_search_talent_pool` | odczyt | Przeszukuje pulę po umiejętnościach, doświadczeniu albo e-mailu: semantycznie, z awaryjnym wyszukiwaniem tekstowym |
| `hiring_invite_talent_pool` | zapis · subskrypcja | Zaprasza wpis z puli do aplikowania na konkretne ogłoszenie |

### Wiadomości

| Narzędzie | Wymaga | Co robi |
|------|:--------:|--------------|
| `hiring_list_messages` | odczyt | Pełny wątek e-mailowy między Twoim zespołem a jednym kandydatem |
| `hiring_send_message` | zapis · subskrypcja | Odkłada odpowiedź jako **oczekujący szkic**. Kandydat nie dostaje e-maila, dopóki człowiek go nie wyśle |

### Kandydaci i CV

| Narzędzie | Wymaga | Co robi |
|------|:--------:|--------------|
| `hiring_get_candidate_summary` | odczyt | Jeden kandydat i wszystkie aplikacje, jakie u Ciebie złożył |
| `hiring_get_candidate_cv` | odczyt | Wyodrębniony tekst CV kandydata albo wpisu z puli talentów |
| `hiring_get_candidate_cv_url` | odczyt | Krótko żyjący, podpisany adres URL do pobrania oryginalnego pliku: domyślnie pięć minut, maksymalnie dziesięć |
| `hiring_get_cv_download_settings` | odczyt | Konfiguracja zaufania przy pobieraniu CV na koncie: zaufane domeny, tryb ścisły i co z tego wynika w praktyce |
| `hiring_update_cv_download_settings` | zapis · admin Hiring · subskrypcja | Dodaje lub usuwa zaufane domeny albo włącza i wyłącza tryb ścisły |

Rekordy są adresowane prefiksowanymi identyfikatorami (`job_…` ogłoszenia, `app_…` aplikacje, `cand_…` kandydaci, `tpe_…` wpisy w puli talentów), które narzędzia zwracają i przyjmują, więc agent może łańcuchowo wykonać list → get → act bez wyciągania danych z interfejsu.

### Ograniczenia

- **Wiadomości do kandydatów to prawdziwe e-maile do prawdziwych ludzi.** `hiring_send_message` celowo zatrzymuje się na oczekującym szkicu: nie istnieje ścieżka MCP, którą dałoby się wrzucić e-mail do skrzynki kandydata bez człowieka naciskającego „wyślij”. `hiring_reject_application` *faktycznie* wysyła e-mail do kandydata, z uwzględnieniem okresu karencji przy odrzuceniach na Twoim koncie; traktuj je jak wysyłkę, a nie zmianę statusu.
- **Dostęp do CV podlega ustawieniom pobierania CV na koncie.** `hiring_get_candidate_cv_url` generuje podpisany adres URL według tych samych reguł zaufania, które stosuje przeglądarka: zaufane domeny, tryb ścisły i dostęp Twojego zespołu. Włączenie trybu ścisłego zawęża to, co narzędzie odda.
- **Ogłoszenia z ograniczonym dostępem są niewidoczne, a nie zabronione.** Ogłoszenie, od którego jesteś odcięty, zwraca „nie znaleziono”, a nie „brak dostępu”, więc nic o nim nie wycieka, łącznie z tym, czy w ogóle istnieje.
- **Żaden agent nie podniesie sobie uprawnień.** Nic w zestawie narzędzi rekrutacyjnych nie zmienia niczyjej roli, poziomu dostępu ani przynależności do modułu.

## Podłączanie zewnętrznego klienta

Konfiguracja mieszka w [Integracje > Kit dla AI](/integrations/mcp/settings), z gotowym do skopiowania configiem dla każdego klienta. Do jej otwarcia nie są potrzebne uprawnienia administratora. Dla Claude Code:

```
claude mcp add --transport http kit https://startupkit.app/api/v1/mcp
```

Przy pierwszym użyciu klient przeprowadza Cię przez przepływ OAuth Kit w przeglądarce. Wybierz konto, a potem nadaj `hiring_read` do triażu i raportowania, a `hiring_write` — tylko asystentom, które mają działać w Twoim imieniu. Moduły, do których nie masz dostępu, pojawiają się na ekranie zgody z adnotacją, że nie należą do Twojej roli; nadanie ich nie tworzy niczego użytecznego.

Pełną konfigurację każdego klienta, przepływ OAuth i 90-dniowe czyszczenie nieaktywnych połączeń opisuje [Podłączanie asystentów AI](/docs/connecting-ai-assistants).

## Przykładowe polecenia

| Co wpisujesz | Co się dzieje |
|---------------|--------------|
| „Co dziś na mnie czeka?” | `hiring_list_reviews` + `hiring_list_pending_decisions` → Twoje otwarte oceny i każda zablokowana decyzja zespołu, od najstarszej |
| „Podsumuj trzech najlepszych kandydatów na stanowisko Senior Rails” | `hiring_list_applications` → `hiring_get_application_summary` → `hiring_get_candidate_cv` → uszeregowana krótka lista wraz z dowodami stojącymi za każdą pozycją |
| „Przenieś Priyę Raman na etap rozmowy technicznej” | `hiring_get_application_summary` → `hiring_advance_application` → kandydatka zostaje awansowana i powiadomiona, a działanie przypisane Tobie |
| „Przygotuj życzliwe odrzucenie dla wszystkich, którzy stoją na etapie Screening od 3+ tygodni — pokaż mi je przed wysłaniem” | `hiring_list_applications` → szkic dla każdego kandydata w czacie; nic nie wychodzi, dopóki nie zatwierdzisz każdego `hiring_reject_application` |
| „Kto z puli talentów pasuje do tego ogłoszenia?” | `hiring_get_job_posting` → `hiring_search_talent_pool` → dopasowania z uzasadnieniem, a potem `hiring_invite_talent_pool` na Twoje polecenie |
| „Dlaczego rok temu odrzuciliśmy tego kandydata?” | `hiring_get_candidate_summary` → wszystkie wcześniejsze aplikacje, osiągnięty etap i dołączone notatki |

## Checklist

- [ ] Wypróbuj agenta w aplikacji w [Hiring](/hiring/job_postings): „Co dziś na mnie czeka?”
- [ ] Podłącz swojego klienta MCP w [Integracje > Kit dla AI](/integrations/mcp/settings) — uprawnienia administratora nie są potrzebne
- [ ] Nadawaj `hiring_read` szeroko; `hiring_write` zostaw asystentom, którym ufasz, że mogą działać
- [ ] Zacznij od `hiring_get_setup_guide` — mówi agentowi, na co pozwala Twoja rola, zanim ten cokolwiek zaplanuje
- [ ] Zepnij triaż w łańcuch: lista ocen → szczegóły oceny → awans albo odrzucenie
- [ ] Zanim skierujesz agenta na CV, sprawdź [ustawienia pobierania CV](/docs/candidate-data-fields) na swoim koncie

## Co dalej

- [Podłączanie asystentów AI](/docs/connecting-ai-assistants) — pełna konfiguracja MCP, przepływ OAuth i configi klientów
- [Dokumentacja narzędzi MCP](/docs/mcp-tools-reference) — każde narzędzie w każdym module, wraz z zakresami
- [Zarządzanie procesem rekrutacyjnym](/docs/managing-your-pipeline) — etapy i decyzje, którymi sterują te narzędzia
- [Role w zespole](/docs/team-roles) — co daje każda predefiniowana rola, w tym `recruiter`