Sign inGet Started

Kieruj wiadomości do swojego agenta AI

Bird wysyła każdą wiadomość otrzymaną przez WhatsApp, SMS, Apple Messages lub skrzynkę agenta do Twojego agenta AI. Podłącz agenta raz, podając jego dane i poświadczenia, a każda nowa wiadomość do niego trafi.

Obsługiwani są dwaj agenci:

  • Claude Managed Agents: każda wiadomość rozpoczyna sesję agenta utworzonego w Claude Console.
  • Grok Bot: każda wiadomość uruchamia jedną z Twoich procedur Grok Bot.

Bird wysyła każdą pasującą wiadomość do Twojego agenta i ponawia dostarczenie, które się nie powiodło, więc ponowiona wiadomość może rozpocząć kolejne uruchomienie. Agent otrzymuje zdarzenie JSON wiadomości, ten sam payload, który otrzymuje zwykły endpoint webhooka, i odpowiada za pomocą narzędzi, które mu udostępnisz, np. serwera Bird MCP.

Wybierz wiadomości, na które odpowiada Twój agent

Twój agent może odpowiadać tylko na wiadomości przychodzące: whatsapp.received, sms.received, amb.received (Apple Messages) i email_mailbox.message_received. Wybierz te, które agent ma obsługiwać. Potwierdzenia dostarczenia, zmiany statusu i inne zdarzenia nie są wysyłane do agenta.

Claude Managed Agents

  1. W Claude Console utwórz agenta, środowisko i klucz API.
  2. W Bird utwórz webhook, wybierz Claude Managed Agents i zaznacz wiadomości w sekcji Triggers.
  3. W sekcji Connect wprowadź identyfikator agenta, identyfikator środowiska i klucz API, a następnie utwórz webhook.
  4. Wybierz Send test.
  5. (Opcjonalnie) Aby agent mógł odpowiadać przez Bird, otwórz agenta w Claude Console, wybierz + MCP Server i wskaż Bird. Aby ograniczyć zużycie tokenów przez agenta, włącz tylko te narzędzia Bird, których używa, zgodnie z opisem w Claude Managed Agents.
  6. (Opcjonalnie) Otwórz Managed Agents > Credential vaults, utwórz sejf, wybierz + Add credential, ustaw Type na MCP OAuth, wskaż Bird i wybierz Connect.
  7. (Opcjonalnie) Wprowadź identyfikator sejfu (zaczyna się od vlt_) w sekcji Connect albo edytuj istniejący webhook, aby go dodać.

Grok Bot

  1. Zainstaluj Bird w Grok Bot i połącz swój obszar roboczy Bird.
  2. Poproś Grok Bota o utworzenie rutyny z wyzwalaczem webhook. Otwórz sekcję Webhook rutyny i skopiuj jej URL oraz klucz nadawcy.
  3. Utwórz webhook w Bird na jeden z dwóch sposobów:
    • Poproś Grok Bota o utworzenie go z miejscem docelowym Grok Bot dla zdarzenia takiego jak amb.received lub email_mailbox.message_received, używając URL i klucza nadawcy z kroku 2. W przypadku e-maila podaj nazwę skrzynki pocztowej.
    • Utwórz go w dashboardzie: wybierz Grok Bot, zaznacz zdarzenie w sekcji Triggers i wklej URL oraz klucz nadawcy w sekcji Connect.
  4. Wybierz Send test, a następnie wyślij prawdziwą wiadomość do swojej firmy lub skrzynki pocztowej.

Zacznij od szablonu (opcjonalnie). Przed krokiem 2 wybierz AMB Booking Desk lub Email Support Desk, a następnie przekaż Grok Botowi jego bot.md i shared/message-safety.md jako trwałe instrukcje. Uzupełnij sekcje Your settings i Knowledge, włącz umiejętność kanału i użyj jego Routine prompt w kroku 2.

Odpowiedzi z szablonów są domyślnie zapisywane jako wersje robocze.

Jeśli żadne uruchomienie się nie rozpocznie, porównaj URL z sekcji Webhook rutyny i klucz nadawcy z wartościami w Bird.

Utwórz z poziomu CLI lub API

Strona Konektory webhooków wymienia pola każdego konektora, wskazuje, które z nich są tajne, podaje akceptowane zdarzenia i wymaganą wstępną konfigurację, a bird webhooks create --connector <id> --request-schema wyświetla te same pola jako JSON Schema. Przekaż jawne pola za pomocą --field name=value, a każdy sekret za pomocą --credential name=FILE z pliku lub --credential name=- przez potok na stdin, żeby nie trafił do historii powłoki. --events domyślnie obejmuje każde zdarzenie wiadomości akceptowane przez konektor.

W przypadku Claude utwórz klucz API w obszarze roboczym, w którym działa Twój agent, a następnie wczytaj go do zmiennej powłoki bez wyświetlania i przekaż potokiem, żeby nigdy nie pojawił się w wierszu poleceń ani w historii powłoki:

Przykład kodu
read -rs ANTHROPIC_API_KEY  # paste the key, then press Enter
bird webhooks create --connector claude_managed_agents \
  --field agent_id=agent_123 --field environment_id=env_123 \
  --field vault_id=vlt_123 --credential api_key=- <<< "$ANTHROPIC_API_KEY"

bird webhooks connect <connector> wykonuje to wszystko w jednym kroku. Wskazuje każde pole, którego konektor jeszcze potrzebuje, tworzy webhook i wyświetla identyfikator webhooka, zdarzenia oraz filtr skrzynki pocztowej, bez żadnego sekretu. W next wskazuje bird webhooks test dla webhooka, co sprawdza pola na platformie. Przez MCP narzędzie webhooks_create z connector_id robi to samo w jednym wywołaniu, a jego next wskazuje wywołanie webhooks_test.

Aby wysyłać do agenta e-maile z jednej skrzynki pocztowej, dodaj --mailbox z identyfikatorem lub adresem skrzynki; adres jest wyszukiwany, co wymaga zakresu mailbox:read. Opcja ustawia filter.mailbox_id, a --events domyślnie obejmuje wtedy zdarzenia skrzynki wymienione przez akcję konektora lub email_mailbox.message_received w przypadku akcji akceptującej każde zdarzenie. W przypadku Grok Bota zastąp YOUR_MAILBOX_ADDRESS i YOUR_ROUTINE_WEBHOOK_URL swoją skrzynką i URL webhooka rutyny, a gdy read na to poczeka, wklej klucz nadawcy rutyny:

Przykład kodu
read -rs GROK_SENDER_KEY  # paste the sender key, then press Enter
bird webhooks connect grok_bot --mailbox YOUR_MAILBOX_ADDRESS \
  --field webhook_url=YOUR_ROUTINE_WEBHOOK_URL \
  --credential sender_key=- <<< "$GROK_SENDER_KEY"

Każde dostarczenie email_mailbox.message_received zawiera wiadomość w data: data.message_id, data.mailbox_id i data.thread_id, nadawcę w data.from, odbiorców w data.to oraz data.subject, które ma wartość null, gdy wiadomość go nie miała. data.extracted_text to treść bez cytowanej historii, null, gdy nie ma tekstu, ograniczona do 64 KB; data.truncated_text ma wartość true, gdy treść została obcięta. Dokumentacja zdarzeń wymienia wszystkie pola.

API przyjmuje te same destination w POST /v1/webhooks. Pomiń url: Bird buduje go na podstawie konektora. Żadna odpowiedź nie zawiera danych uwierzytelniających.

Przetestuj połączenie

Zaraz po utworzeniu webhooka wybierz Send test. Później użyj Send test event na stronie webhooka lub w akcjach wiersza, uruchom bird webhooks test <webhook_id> albo wywołaj POST /v1/webhooks/{webhook_id}/test; utworzenie lub aktualizacja z poziomu CLI lub API wskazuje ten krok w next. Zapisanie webhooka nie łączy się z platformą, więc to test sprawdza jego pola. W przypadku Claude Managed Agents test odczytuje agenta zamiast rozpoczynać sesję, co potwierdza poprawność klucza API i identyfikatora agenta, i zwraca kind: probe; gdy odpowiedź wskazuje błędną wartość, field ją podaje. Test nie wysyła żadnego zdarzenia, więc dopiero pierwsza prawdziwa wiadomość sprawdza całe połączenie. W przypadku Grok Bota test rozpoczyna uruchomienie rutyny ze zdarzeniem oznaczonym jako "test": true, więc sprawdź w Cursorze, czy uruchomienie się rozpoczęło. Następnie wyślij prawdziwą wiadomość na jeden ze swoich numerów lub kanałów i potwierdź, że agent ją obsługuje; w przypadku Claude potwierdź, że odpowiedź dociera na kanał nadawcy, a sesja nie pokazuje session.error.

Zarządzaj webhookiem

  • Wymień dane uwierzytelniające. Edytuj webhook i wprowadź tylko nową wartość; pole pozostawione puste zachowuje zapisaną wartość. W CLI uruchom bird webhooks update <webhook_id> --credential name=FILE lub przekaż wartość potokiem przez --credential name=-. Przez API wyślij zmieniony klucz w PATCH /v1/webhooks/{webhook_id} destination.connector.credentials. Następne dostarczenie użyje go, łącznie z ponownymi próbami.
  • Zmień ustawienia. Edytuj webhook lub uruchom bird webhooks update <webhook_id> --field name=value, aby zmienić ustawienie takie jak identyfikator agenta, identyfikator sejfu czy URL webhooka rutyny Grok Bot; następne dostarczenie użyje nowej wartości. Aby zmienić platformę, utwórz nowy webhook.
  • Wstrzymaj lub usuń. Wstrzymanie webhooka zatrzymuje jego dostarczenia. Usunięcie kasuje jego dane uwierzytelniające.
  • Odczytuj błędy. Lista prób webhooka pokazuje każde dostarczenie ze statusem odpowiedzi i treścią zwróconą przez platformę albo brak danych, gdy platforma była nieosiągalna. Próba, która nie powiodła się, zanim Bird cokolwiek wysłał, na przykład z powodu zmiany połączenia po zdarzeniu, zawiera zamiast tego failure_reason.

Następne kroki