Ir al contenido

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.

ConectorCategoríaTipo de authQué hace
ResendComunicacionesAPI keyEnviar correos transaccionales, enviar correos en lote, listar dominios verificados
SlackComunicacionesOAuthPublicar mensajes, listar canales y usuarios, reaccionar a mensajes, leer hilos
ElevenLabsIAAPI keyTexto a voz, listar voces disponibles, generar efectos de sonido

Se agregan más conectores regularmente.

  1. Creas una conexión — proporcionas 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 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.

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

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:

CampoDescripción
outputEl valor de retorno de la acción (la forma depende de la acción)
durationMsTiempo de ejecución en milisegundos
invocationIdID del registro de auditoría

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
AcciónEfectos secundariosDescripción
sendEmailescrituraEnviar un solo correo transaccional
sendBatchescrituraEnviar múltiples correos a la vez
listDomainslecturaListar dominios de envío verificados
AcciónEfectos secundariosDescripción
postMessageescrituraPublicar un mensaje en un canal
listChannelslecturaListar canales del workspace
listUserslecturaListar miembros del workspace
reactToMessageescrituraAgregar una reacción con emoji
getThreadlecturaObtener respuestas en un hilo
AcciónEfectos secundariosDescripción
textToSpeechescrituraConvertir texto en audio de voz
listVoiceslecturaListar voces disponibles
generateSoundEffectescrituraGenerar un efecto de sonido con IA
EstadoSignificado
ActiveLas credenciales son válidas y la conexión está lista para usarse
BrokenLas credenciales vencieron o fueron revocadas — actualízalas para restaurarla
  • 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

¿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.

  • 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