Conectores
Conecta tu app a servicios de terceros como Slack, Resend y ElevenLabs. Las credenciales se cifran y las acciones se pre-autentican.
Los conectores te permiten integrar servicios externos en tu app sin necesidad de gestionar claves API en el código. Configuras una conexión una sola vez, la vinculas a tu proyecto y llamas a acciones predefinidas desde tu app a través del SDK de Proyecta. Las credenciales se cifran en reposo y nunca se exponen al código de tu frontend.
Conectores disponibles
Sección titulada «Conectores disponibles»| Conector | Categoría | Tipo de auth | Qué hace |
|---|---|---|---|
| Resend | Comunicaciones | API key | Enviar correos transaccionales, enviar correos en lote, listar dominios verificados |
| Slack | Comunicaciones | OAuth | Publicar mensajes, listar canales y usuarios, reaccionar a mensajes, leer hilos |
| ElevenLabs | IA | API key | Texto a voz, listar voces disponibles, generar efectos de sonido |
Se agregan más conectores regularmente.
Cómo funcionan los conectores
Sección titulada «Cómo funcionan los conectores»- Creas una conexión — proporcionas credenciales (una API key o inicias sesión vía OAuth)
- Vinculas la conexión a un proyecto — esto autoriza al proyecto a usar esas credenciales
- Tu app llama a acciones — el SDK envía la solicitud a través de Proyecta Cloud, que inyecta las credenciales del lado del servidor
El código de tu app nunca toca la API key o el token OAuth directamente. El sistema de conectores se encarga de la autenticación, la limitación de solicitudes y el registro de auditoría.
Configurar un conector
Sección titulada «Configurar un conector»- Abre tu proyecto en el builder
- Ve a Settings > Connectors
- Haz clic en un conector del catálogo (p. ej., Resend)
- Ingresa tus credenciales:
- Conectores con API key (Resend, ElevenLabs): pega tu clave secreta
- Conectores con OAuth (Slack): inicia sesión y autoriza el acceso
- Dale un nombre a la conexión (p. ej., “Production Resend”)
- La conexión se prueba automáticamente y se marca como Active si es válida
Usar un conector en tu app
Sección titulada «Usar un conector en tu app»Las acciones de los conectores se llaman desde código del lado del servidor (acciones de Convex) usando el SDK de Proyecta:
'use node';import { action } from './_generated/server';import { v } from 'convex/values';import Proyecta from '@proyecta-ai/sdk';
const proyecta = new Proyecta({ apiKey: process.env.PROYECTA_API_KEY ?? null });
export const notifySlack = action({ args: { message: v.string(), }, handler: async (ctx, args) => { const result = await proyecta.connectors.execute({ connectorId: 'slack', actionId: 'postMessage', input: { channel: '#general', text: args.message, }, }); return result.output; },});El método execute devuelve:
| Campo | Descripción |
|---|---|
output | El valor de retorno de la acción (la forma depende de la acción) |
durationMs | Tiempo de ejecución en milisegundos |
invocationId | ID del registro de auditoría |
Deja que la IA lo conecte
Sección titulada «Deja que la IA lo conecte»No tienes que escribir el código del conector a mano. El builder con 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
Referencia de acciones de conectores
Sección titulada «Referencia de acciones de conectores»| Acción | Efectos secundarios | Descripción |
|---|---|---|
sendEmail | escritura | Enviar un solo correo transaccional |
sendBatch | escritura | Enviar múltiples correos a la vez |
listDomains | lectura | Listar dominios de envío verificados |
| Acción | Efectos secundarios | Descripción |
|---|---|---|
postMessage | escritura | Publicar un mensaje en un canal |
listChannels | lectura | Listar canales del workspace |
listUsers | lectura | Listar miembros del workspace |
reactToMessage | escritura | Agregar una reacción con emoji |
getThread | lectura | Obtener respuestas en un hilo |
ElevenLabs
Sección titulada «ElevenLabs»| Acción | Efectos secundarios | Descripción |
|---|---|---|
textToSpeech | escritura | Convertir texto en audio de voz |
listVoices | lectura | Listar voces disponibles |
generateSoundEffect | escritura | Generar un efecto de sonido con IA |
Estados de la conexión
Sección titulada «Estados de la conexión»| Estado | Significado |
|---|---|
| Active | Las credenciales son válidas y la conexión está lista para usarse |
| Broken | Las credenciales vencieron o fueron revocadas — actualízalas para restaurarla |
Seguridad
Sección titulada «Seguridad»- Las credenciales se cifran con AES-256-GCM en reposo
- Las acciones tienen un límite de 1,000 solicitudes por minuto por conector por proyecto
- Cada llamada a una acción se registra con una traza de auditoría (conexión, acción, duración, estado)
- Las conexiones tienen alcance a todo el workspace
Preguntas frecuentes
Sección titulada «Preguntas frecuentes»¿Puedo usar la misma conexión en múltiples proyectos?
Sí. Crea la conexión una vez y vincúlala a todos los proyectos que quieras dentro del mismo workspace.
¿Qué pasa si mi API key vence o es revocada?
El estado de la conexión cambia a Broken. Actualiza las credenciales en Settings > Connectors para restaurarla.
¿Puedo llamar a acciones de conectores desde el frontend?
No. Las acciones de los conectores deben llamarse desde código del lado del servidor (acciones de Convex) para mantener las credenciales seguras. El SDK enruta las solicitudes a través de Proyecta Cloud, que inyecta la autenticación del lado del servidor.
¿Puedo agregar mis propios conectores personalizados?
Todavía no. Las definiciones de conectores personalizados están en el roadmap.
Próximamente
Sección titulada «Próximamente»- Conectores adicionales (Google, Twilio, SendGrid y más)
- Definiciones de conectores personalizados — trae tu propia API
- Ingesta 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