Ir al contenido

Conectores

Conecta tu app a servicios de terceros como Slack, Resend y ElevenLabs. Las credenciales se encriptan y las acciones se pre-autentican.

Los conectores te permiten integrar servicios externos en tu app sin tener que gestionar claves API directamente en el código. Configuras una conexión una sola vez, la vinculas a tu proyecto y llamas acciones predefinidas desde tu app. Las credenciales se encriptan en reposo y nunca quedan expuestas en tu código de frontend.

Conector Categoría Tipo de autenticación Qué hace
Resend Comunicaciones API key Envía correos transaccionales, correos en lote y lista dominios verificados
Slack Comunicaciones OAuth Publica mensajes, lista canales y usuarios, reacciona a mensajes, lee hilos
ElevenLabs IA API key Texto a voz, lista voces disponibles, genera efectos de sonido

Se agregan más conectores regularmente.

  1. Creas una conexión — proporcionas las credenciales (una API key o inicias sesión vía OAuth)
  2. Vinculas la conexión a un proyecto — esto autoriza al proyecto a usar esas credenciales
  3. Tu app llama acciones — la solicitud pasa por Proyecta Cloud, que inyecta las credenciales del lado del servidor

El código de tu app nunca toca la API key sin procesar ni el token OAuth. El sistema de conectores se encarga de la autenticación, el rate limiting y el registro de auditoría.

  1. Abre tu proyecto en el builder
  2. Ve a Settings > Connectors
  3. Haz clic en un conector del catálogo (por ejemplo, Resend)
  4. Ingresa tus credenciales:
    • Conectores por API key (Resend, ElevenLabs): pega tu clave secreta
    • Conectores OAuth (Slack): inicia sesión y autoriza el acceso
  5. Dale un nombre a la conexión (por ejemplo, “Production Resend”)
  6. La conexión se prueba automáticamente y se marca como Active si es válida

Tu app puede leer una API de terceros directamente desde el navegador sin que la API key llegue nunca al bundle. La credencial permanece encriptada en la plataforma; tu app solo nombra el conector, la acción y un input tipado, y la plataforma hace la llamada por ti.

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

Vale la pena conocer dos salvaguardas, porque son deliberadas:

  • Solo lecturas. Únicamente son alcanzables las acciones que la plataforma marcó como seguras para el navegador — cualquier otra devuelve 403. Las escrituras (publicar en Slack, enviar correo, cobrar una tarjeta) nunca son alcanzables desde el navegador.
  • No puedes pasar una URL ni un host. Para el conector genérico http-read el input es { endpointKey, params }, y la URL detrás de endpointKey la configuras tú, el dueño de la app — no el código de la app. Las respuestas se cachean del lado del servidor y tienen rate limiting, ya que las llaves de terceros están medidas por cuota.

Un 404 significa que el dueño aún no ha conectado ese conector — ese es el caso que vale la pena manejar en tu UI.

No tienes que escribir el código del conector a mano. El builder de IA sabe qué conectores están vinculados a tu proyecto y puede generar la integración por ti:

  • "Send a welcome email when users sign up" — usa el conector de Resend
  • "Post a Slack message when a new order comes in" — usa el conector de Slack
  • "Play audio narration on the article page" — usa el conector de ElevenLabs
Acción Efectos secundarios Descripción
sendEmail escritura Envía un correo transaccional individual
sendBatch escritura Envía múltiples correos a la vez
listDomains lectura Lista los dominios de envío verificados
Acción Efectos secundarios Descripción
postMessage escritura Publica un mensaje en un canal
listChannels lectura Lista los canales del workspace
listUsers lectura Lista los miembros del workspace
reactToMessage escritura Agrega una reacción con emoji
getThread lectura Obtiene las respuestas en un hilo
Acción Efectos secundarios Descripción
textToSpeech escritura Convierte texto en audio de voz
listVoices lectura Lista las voces disponibles
generateSoundEffect escritura Genera un efecto de sonido con IA
Estado Significado
Active Las credenciales son válidas y la conexión está lista para usarse
Broken Las credenciales expiraron o fueron revocadas — actualízalas para restaurar la conexión
  • Las credenciales se encriptan con AES-256-GCM en reposo
  • Las acciones tienen un rate limit de 1,000 solicitudes por minuto por conector por proyecto
  • Cada llamada a una acción se registra con una pista de auditoría (conexión, acción, duración, estado)
  • Las conexiones tienen alcance a todo el workspace

¿Puedo usar la misma conexión en múltiples proyectos?

Sí. Crea la conexión una vez y vincúlala a cualquier número de proyectos dentro del mismo workspace.

¿Qué pasa si mi API key expira o es revocada?

El estado de la conexión cambia a Broken. Actualiza las credenciales en Settings > Connectors para restaurarla.

¿Puedo llamar acciones de conectores desde el frontend?

Tu app nunca las tiene. Las acciones de lectura seguras para el navegador se enrutan a través de Proyecta Cloud, que inyecta las credenciales del lado del servidor, así que la llave nunca está en tu bundle. Las acciones de escritura no son alcanzables desde el navegador en absoluto.

¿Puedo agregar mis propios conectores personalizados?

Todavía no. Las definiciones de conectores personalizados están en el roadmap.

  • Conectores adicionales (Google, Twilio, SendGrid y más)
  • Definiciones de conectores personalizados — trae tu propia API
  • Recepción de webhooks para eventos entrantes desde servicios conectados
  • OAuth gateway — mantén los tokens del lado del servidor incluso en flujos iniciados desde el cliente