Przejdź do głównej zawartości

Connectors

Połącz swoją aplikację z zewnętrznymi usługami, takimi jak Slack, Resend i ElevenLabs. Dane uwierzytelniające są szyfrowane, a akcje są wstępnie autoryzowane.

Connectors pozwalają integrować zewnętrzne usługi z Twoją aplikacją bez konieczności zarządzania surowymi kluczami API w kodzie. Konfigurujesz połączenie raz, przypisujesz je do projektu i wywołujesz gotowe akcje z poziomu aplikacji. Dane uwierzytelniające są szyfrowane w stanie spoczynku i nigdy nie są ujawniane w kodzie frontendowym.

Connector Kategoria Typ autoryzacji Co robi
Resend Komunikacja Klucz API Wysyłanie e-maili transakcyjnych, wysyłanie wsadowe, lista zweryfikowanych domen
Slack Komunikacja OAuth Wysyłanie wiadomości, lista kanałów i użytkowników, reakcje, odczyt wątków
ElevenLabs AI Klucz API Zamiana tekstu na mowę, lista dostępnych głosów, generowanie efektów dźwiękowych

Regularnie dodajemy kolejne connectors.

  1. Tworzysz połączenie — podajesz dane uwierzytelniające (klucz API lub logujesz się przez OAuth)
  2. Przypisujesz połączenie do projektu — tym samym autoryzujesz projekt do korzystania z tych danych
  3. Twoja aplikacja wywołuje akcje — żądanie trafia przez Proyecta Cloud, który wstrzykuje dane uwierzytelniające po stronie serwera

Kod aplikacji nigdy nie ma dostępu do surowego klucza API ani tokenu OAuth. System connectors obsługuje uwierzytelnianie, ograniczanie liczby żądań i rejestrowanie zdarzeń.

  1. Otwórz projekt w builderze
  2. Przejdź do Settings > Connectors
  3. Kliknij wybrany connector w katalogu (np. Resend)
  4. Wprowadź dane uwierzytelniające:
    • Connectors z kluczem API (Resend, ElevenLabs): Wklej swój tajny klucz
    • Connectors OAuth (Slack): Zaloguj się i autoryzuj dostęp
  5. Nadaj połączeniu nazwę (np. „Production Resend“)
  6. Połączenie jest testowane automatycznie i oznaczane jako Active, jeśli jest prawidłowe

Twoja aplikacja może odczytywać dane z zewnętrznego API bezpośrednio z przeglądarki, a klucz API nigdy nie trafia do bundle’a. Dane uwierzytelniające pozostają zaszyfrowane na platformie; Twoja aplikacja podaje jedynie nazwę connectora, akcję i typowane dane wejściowe, a platforma wykonuje wywołanie za Ciebie.

import { useConnectorData, useHttpRead } from '@/hooks/useConnector.ts';
// A connector's own read action, as a cached query
const { data, isLoading, error } = useConnectorData('eleven-labs', 'listVoices');
// The generic HTTP-read connector, by endpoint name
const { data: feed } = useHttpRead('news-feed', { limit: 10 });

Warto znać dwa zabezpieczenia, bo są w pełni zamierzone:

  • Tylko odczyt. Dostępne są wyłącznie akcje oznaczone przez platformę jako bezpieczne dla przeglądarki — wszystko inne zwraca 403. Operacje zapisu (publikowanie na Slacku, wysyłanie poczty, obciążanie karty) nigdy nie są osiągalne z przeglądarki.
  • Nie możesz przekazać adresu URL ani hosta. W przypadku ogólnego connectora http-read danymi wejściowymi jest { endpointKey, params }, a adres URL kryjący się za endpointKey konfigurujesz Ty, właściciel aplikacji — nie kod aplikacji. Odpowiedzi są buforowane po stronie serwera i objęte limitem żądań, ponieważ klucze zewnętrznych usług mają przydziały.

Kod 404 oznacza, że właściciel nie podłączył jeszcze danego connectora — i to właśnie ten przypadek warto obsłużyć w interfejsie.

Nie musisz pisać kodu connectora ręcznie. Builder AI wie, które connectors są przypisane do Twojego projektu i może wygenerować integrację za Ciebie:

  • "Wyślij e-mail powitalny, gdy użytkownicy się rejestrują" — używa connectora Resend
  • "Wyślij wiadomość na Slack, gdy wpłynie nowe zamówienie" — używa connectora Slack
  • "Odtwórz narrację audio na stronie artykułu" — używa connectora ElevenLabs
Akcja Efekty uboczne Opis
sendEmail zapis Wyślij pojedynczy e-mail transakcyjny
sendBatch zapis Wyślij wiele e-maili jednocześnie
listDomains odczyt Wyświetl listę zweryfikowanych domen
Akcja Efekty uboczne Opis
postMessage zapis Wyślij wiadomość na kanał
listChannels odczyt Wyświetl listę kanałów w workspace
listUsers odczyt Wyświetl listę członków workspace
reactToMessage zapis Dodaj reakcję emoji
getThread odczyt Pobierz odpowiedzi w wątku
Akcja Efekty uboczne Opis
textToSpeech zapis Konwertuj tekst na audio mowy
listVoices odczyt Wyświetl listę dostępnych głosów
generateSoundEffect zapis Wygeneruj efekt dźwiękowy za pomocą AI
Status Znaczenie
Active Dane uwierzytelniające są prawidłowe i połączenie jest gotowe do użycia
Broken Dane uwierzytelniające wygasły lub zostały odwołane — zaktualizuj je, aby przywrócić połączenie
  • Dane uwierzytelniające są szyfrowane algorytmem AES-256-GCM w stanie spoczynku
  • Akcje są ograniczone do 1 000 żądań na minutę na connector na projekt
  • Każde wywołanie akcji jest rejestrowane w dzienniku audytu (połączenie, akcja, czas trwania, status)
  • Połączenia mają zasięg całego workspace

Czy mogę używać tego samego połączenia w wielu projektach?

Tak. Utwórz połączenie raz i przypisz je do dowolnej liczby projektów w tym samym workspace.

Co się stanie, jeśli mój klucz API wygaśnie lub zostanie odwołany?

Status połączenia zmieni się na Broken. Zaktualizuj dane uwierzytelniające w Settings > Connectors, aby przywrócić połączenie.

Czy mogę wywoływać akcje connectorów z frontendu?

Twoja aplikacja nigdy ich nie przechowuje. Bezpieczne dla przeglądarki akcje odczytu są przekazywane przez Proyecta Cloud, który wstrzykuje dane uwierzytelniające po stronie serwera, więc klucz nigdy nie trafia do bundle’a. Akcje zapisu w ogóle nie są osiągalne z przeglądarki.

Czy mogę dodać własne, niestandardowe connectors?

Jeszcze nie. Definiowanie własnych connectorów jest w planach rozwoju.

  • Dodatkowe connectors (Google, Twilio, SendGrid i inne)
  • Niestandardowe definicje connectorów — podłącz własne API
  • Webhook ingestion dla przychodzących zdarzeń z połączonych usług
  • OAuth gateway — przechowuj tokeny po stronie serwera nawet w przypadku przepływów inicjowanych przez klienta