Ga naar inhoud

Connectors

Verbind je app met diensten van derden zoals Slack, Resend en ElevenLabs. Inloggegevens worden versleuteld opgeslagen en acties zijn vooraf geverifieerd.

Met Connectors kun je externe diensten integreren in je app zonder dat je ruwe API-sleutels in je code hoeft te beheren. Je stelt een verbinding eenmalig in, koppelt deze aan je project, en roept kant-en-klare acties aan vanuit je app. Inloggegevens worden versleuteld opgeslagen en zijn nooit zichtbaar voor je frontend-code.

Connector Categorie Verificatietype Wat het doet
Resend Communicatie API-sleutel Verstuur transactionele e-mails, batch-e-mails en bekijk geverifieerde domeinen
Slack Communicatie OAuth Stuur berichten, bekijk kanalen en gebruikers, reageer op berichten, lees threads
ElevenLabs AI API-sleutel Tekst-naar-spraak, bekijk beschikbare stemmen, genereer geluidseffecten

Er worden regelmatig nieuwe connectors toegevoegd.

  1. Je maakt een verbinding aan — geef inloggegevens op (een API-sleutel of meld je aan via OAuth)
  2. Je koppelt de verbinding aan een project — hiermee geef je het project toestemming om die inloggegevens te gebruiken
  3. Je app roept acties aan — het verzoek verloopt via Proyecta Cloud, dat de inloggegevens server-side injecteert

Je app-code heeft nooit toegang tot de ruwe API-sleutel of het OAuth-token. Het connectorsysteem regelt de authenticatie, rate limiting en auditlogboekregistratie.

  1. Open je project in de builder
  2. Ga naar Settings > Connectors
  3. Klik op een connector uit de catalogus (bijv. Resend)
  4. Vul je inloggegevens in:
    • API-sleutel connectors (Resend, ElevenLabs): Plak je geheime sleutel
    • OAuth connectors (Slack): Meld je aan en geef toegang
  5. Geef de verbinding een naam (bijv. “Production Resend”)
  6. De verbinding wordt automatisch getest en gemarkeerd als Active als deze geldig is

Je app kan een externe API rechtstreeks vanuit de browser lezen zonder dat de API-sleutel ooit in de bundle terechtkomt. De inloggegevens blijven versleuteld op het platform; je app noemt alleen de connector, de actie en een getypeerde invoer, en het platform voert de aanroep voor je uit.

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 });

Twee vangrails zijn goed om te kennen, want ze zijn bewust zo gebouwd:

  • Alleen lezen. Alleen acties die het platform als browserveilig heeft gemarkeerd zijn bereikbaar — al het andere geeft een 403. Schrijfacties (posten in Slack, mail versturen, een kaart belasten) zijn nooit vanuit de browser bereikbaar.
  • Je kunt geen URL of host meegeven. Voor de generieke http-read-connector is de invoer { endpointKey, params }, en de URL achter endpointKey stel jij als app-eigenaar in — niet de app-code. Antwoorden worden server-side gecachet en gerate-limit, omdat sleutels van derden aan quota gebonden zijn.

Een 404 betekent dat de eigenaar die connector nog niet heeft verbonden — dat is het geval dat je in je UI wilt afvangen.

Je hoeft connector-code niet zelf te schrijven. De AI builder weet welke connectors aan je project gekoppeld zijn en kan de integratie voor je genereren:

  • "Stuur een welkomstmail wanneer gebruikers zich aanmelden" — gebruikt de Resend connector
  • "Stuur een Slack-bericht wanneer er een nieuwe bestelling binnenkomt" — gebruikt de Slack connector
  • "Speel audiovertelling af op de artikelpagina" — gebruikt de ElevenLabs connector
Actie Neveneffecten Beschrijving
sendEmail schrijven Verstuur een enkele transactionele e-mail
sendBatch schrijven Verstuur meerdere e-mails tegelijk
listDomains lezen Bekijk geverifieerde verzendende domeinen
Actie Neveneffecten Beschrijving
postMessage schrijven Stuur een bericht naar een kanaal
listChannels lezen Bekijk kanalen in de workspace
listUsers lezen Bekijk leden van de workspace
reactToMessage schrijven Voeg een emoji-reactie toe
getThread lezen Bekijk antwoorden in een thread
Actie Neveneffecten Beschrijving
textToSpeech schrijven Zet tekst om naar spraakgeluid
listVoices lezen Bekijk beschikbare stemmen
generateSoundEffect schrijven Genereer een AI-geluidseffect
Status Betekenis
Active Inloggegevens zijn geldig en de verbinding is klaar voor gebruik
Broken Inloggegevens zijn verlopen of ingetrokken — werk ze bij om de verbinding te herstellen
  • Inloggegevens worden versleuteld opgeslagen met AES-256-GCM
  • Acties zijn rate-limited tot 1.000 verzoeken per minuut per connector per project
  • Elke actie-aanroep wordt geregistreerd met een audittrail (verbinding, actie, duur, status)
  • Verbindingen zijn gekoppeld aan de gehele workspace

Kan ik dezelfde verbinding gebruiken in meerdere projecten?

Ja. Maak de verbinding eenmalig aan en koppel deze aan elk gewenst aantal projecten binnen dezelfde workspace.

Wat gebeurt er als mijn API-sleutel verloopt of wordt ingetrokken?

De verbindingsstatus verandert naar Broken. Werk de inloggegevens bij via Settings > Connectors om de verbinding te herstellen.

Kan ik connector-acties aanroepen vanuit de frontend?

Je app heeft ze nooit in handen. Browserveilige leesacties worden geproxyd via Proyecta Cloud, dat de inloggegevens server-side injecteert, zodat de sleutel nooit in je bundle zit. Schrijfacties zijn helemaal niet bereikbaar vanuit de browser.

Kan ik mijn eigen aangepaste connectors toevoegen?

Nog niet. Aangepaste connector-definities staan op de roadmap.

  • Extra connectors (Google, Twilio, SendGrid en meer)
  • Aangepaste connector-definities — gebruik je eigen API
  • Webhook-ontvangst voor inkomende gebeurtenissen van verbonden diensten
  • OAuth-gateway — houd tokens server-side, zelfs bij door de client geïnitieerde flows