Connecteurs
Connectez votre app à des services tiers comme Slack, Resend et ElevenLabs. Les identifiants sont chiffrés et les actions sont pré-authentifiées.
Les connecteurs te permettent d’intégrer des services externes dans ton app sans avoir à gérer des clés API brutes dans le code. Tu configures une connexion une seule fois, tu la lies à ton projet, puis tu appelles des actions préconstruites depuis ton app via le SDK Proyecta. Les identifiants sont chiffrés au repos et ne sont jamais exposés à ton code frontend.
Connecteurs disponibles
Section intitulée « Connecteurs disponibles »| Connecteur | Catégorie | Type d’auth | Ce qu’il fait |
|---|---|---|---|
| Resend | Communications | Clé API | Envoyer des emails transactionnels, envoyer des emails en lot, lister les domaines vérifiés |
| Slack | Communications | OAuth | Publier des messages, lister les canaux et les utilisateurs, réagir à des messages, lire des fils de discussion |
| ElevenLabs | IA | Clé API | Synthèse vocale, liste des voix disponibles, génération d’effets sonores |
De nouveaux connecteurs sont ajoutés régulièrement.
Comment fonctionnent les connecteurs
Section intitulée « Comment fonctionnent les connecteurs »- Tu crées une connexion — fournis tes identifiants (une clé API ou connecte-toi via OAuth)
- Tu lies la connexion à un projet — cela autorise le projet à utiliser ces identifiants
- Ton app appelle des actions — le SDK envoie la requête via Proyecta Cloud, qui injecte les identifiants côté serveur
Le code de ton app ne touche jamais la clé API brute ni le token OAuth. Le système de connecteurs gère l’authentification, la limitation de débit et la journalisation des audits.
Configurer un connecteur
Section intitulée « Configurer un connecteur »- Ouvre ton projet dans le builder
- Va dans Settings > Connectors
- Clique sur un connecteur dans le catalogue (par ex., Resend)
- Saisis tes identifiants :
- Connecteurs à clé API (Resend, ElevenLabs) : colle ta clé secrète
- Connecteurs OAuth (Slack) : connecte-toi et autorise l’accès
- Donne un nom à la connexion (par ex., « Production Resend »)
- La connexion est testée automatiquement et marquée Active si elle est valide
Utiliser un connecteur dans ton app
Section intitulée « Utiliser un connecteur dans ton app »Les actions des connecteurs sont appelées depuis du code côté serveur (actions Convex) à l’aide du SDK 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; },});La méthode execute retourne :
| Champ | Description |
|---|---|
output | La valeur de retour de l’action (la forme dépend de l’action) |
durationMs | Durée d’exécution en millisecondes |
invocationId | Identifiant de l’entrée dans le journal d’audit |
Laisser l’IA tout câbler
Section intitulée « Laisser l’IA tout câbler »Tu n’as pas à écrire le code des connecteurs à la main. Le builder IA sait quels connecteurs sont liés à ton projet et peut générer l’intégration pour toi :
"Send a welcome email when users sign up"— utilise le connecteur Resend"Post a Slack message when a new order comes in"— utilise le connecteur Slack"Play audio narration on the article page"— utilise le connecteur ElevenLabs
Référence des actions de connecteurs
Section intitulée « Référence des actions de connecteurs »| Action | Effets de bord | Description |
|---|---|---|
sendEmail | écriture | Envoyer un seul email transactionnel |
sendBatch | écriture | Envoyer plusieurs emails en une seule fois |
listDomains | lecture | Lister les domaines d’envoi vérifiés |
| Action | Effets de bord | Description |
|---|---|---|
postMessage | écriture | Publier un message dans un canal |
listChannels | lecture | Lister les canaux de l’espace de travail |
listUsers | lecture | Lister les membres de l’espace de travail |
reactToMessage | écriture | Ajouter une réaction emoji |
getThread | lecture | Obtenir les réponses d’un fil de discussion |
ElevenLabs
Section intitulée « ElevenLabs »| Action | Effets de bord | Description |
|---|---|---|
textToSpeech | écriture | Convertir du texte en audio vocal |
listVoices | lecture | Lister les voix disponibles |
generateSoundEffect | écriture | Générer un effet sonore par IA |
Statuts des connexions
Section intitulée « Statuts des connexions »| Statut | Signification |
|---|---|
| Active | Les identifiants sont valides et la connexion est prête à l’emploi |
| Broken | Les identifiants ont expiré ou ont été révoqués — mets-les à jour pour rétablir la connexion |
Sécurité
Section intitulée « Sécurité »- Les identifiants sont chiffrés avec AES-256-GCM au repos
- Les actions sont limitées à 1 000 requêtes par minute par connecteur et par projet
- Chaque appel d’action est journalisé avec une piste d’audit (connexion, action, durée, statut)
- Les connexions sont limitées à l’ensemble de l’espace de travail
Puis-je utiliser la même connexion sur plusieurs projets ?
Oui. Crée la connexion une seule fois et lie-la à autant de projets que tu le souhaites dans le même espace de travail.
Que se passe-t-il si ma clé API expire ou est révoquée ?
Le statut de la connexion passe à Broken. Mets à jour les identifiants dans Settings > Connectors pour rétablir la connexion.
Puis-je appeler des actions de connecteurs depuis le frontend ?
Non. Les actions de connecteurs doivent être appelées depuis du code côté serveur (actions Convex) pour garantir la sécurité des identifiants. Le SDK achemine les requêtes via Proyecta Cloud, qui injecte l’authentification côté serveur.
Puis-je ajouter mes propres connecteurs personnalisés ?
Pas encore. Les définitions de connecteurs personnalisés sont prévues dans la feuille de route.
Bientôt disponible
Section intitulée « Bientôt disponible »- Des connecteurs supplémentaires (Google, Twilio, SendGrid, et bien d’autres)
- Définitions de connecteurs personnalisés — apporte ta propre API
- Ingestion de webhooks pour les événements entrants des services connectés
- Passerelle OAuth — conserve les tokens côté serveur même pour les flux initiés par le client