Pular para o conteúdo

Conectores

Conecte seu app a serviços de terceiros como Slack, Resend e ElevenLabs. As credenciais são criptografadas e as ações já vêm pré-autenticadas.

Os conectores permitem integrar serviços externos ao seu app sem precisar gerenciar chaves de API brutas no código. Você configura uma conexão uma única vez, vincula-a ao seu projeto e chama ações pré-construídas a partir do seu app. As credenciais são criptografadas em repouso e nunca são expostas ao código do frontend.

Conector Categoria Tipo de auth O que faz
Resend Comunicações API key Enviar e-mails transacionais, enviar e-mails em lote, listar domínios verificados
Slack Comunicações OAuth Postar mensagens, listar canais e usuários, reagir a mensagens, ler threads
ElevenLabs IA API key Text-to-speech, listar vozes disponíveis, gerar efeitos sonoros

Novos conectores são adicionados regularmente.

  1. Você cria uma conexão — fornece as credenciais (uma API key ou faz login via OAuth)
  2. Você vincula a conexão a um projeto — isso autoriza o projeto a usar essas credenciais
  3. Seu app chama ações — a requisição vai pelo Proyecta Cloud, que injeta as credenciais no lado do servidor

O código do seu app nunca toca a API key bruta nem o token OAuth. O sistema de conectores cuida da autenticação, do rate limiting e do registro de auditoria.

  1. Abra seu projeto no builder
  2. Vá em Settings > Connectors
  3. Clique em um conector do catálogo (ex.: Resend)
  4. Informe suas credenciais:
    • Conectores com API key (Resend, ElevenLabs): Cole sua chave secreta
    • Conectores OAuth (Slack): Faça login e autorize o acesso
  5. Dê um nome à conexão (ex.: “Production Resend”)
  6. A conexão é testada automaticamente e marcada como Active se for válida

Seu app pode ler uma API de terceiros direto do navegador sem que a API key chegue ao bundle. A credencial permanece criptografada na plataforma; seu app apenas informa o conector, a ação e um input tipado, e a plataforma faz a chamada por você.

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 conhecer duas proteções, porque elas são deliberadas:

  • Apenas leituras. Só são alcançáveis as ações que a plataforma marcou como seguras para o navegador — qualquer outra retorna 403. Escritas (postar no Slack, enviar e-mail, cobrar um cartão) nunca são alcançáveis pelo navegador.
  • Você não pode passar uma URL nem um host. Para o conector genérico http-read, o input é { endpointKey, params }, e a URL por trás de endpointKey é configurada por você, o dono do app — não pelo código do app. As respostas têm cache no servidor e rate limiting, já que chaves de terceiros são medidas por cota.

Um 404 significa que o dono ainda não conectou aquele conector — esse é o caso que vale a pena tratar na sua UI.

Você não precisa escrever o código dos conectores manualmente. O builder de IA conhece quais conectores estão vinculados ao seu projeto e pode gerar a integração para você:

  • "Send a welcome email when users sign up" — usa o conector Resend
  • "Post a Slack message when a new order comes in" — usa o conector Slack
  • "Play audio narration on the article page" — usa o conector ElevenLabs
Ação Efeitos colaterais Descrição
sendEmail escrita Envia um único e-mail transacional
sendBatch escrita Envia múltiplos e-mails de uma só vez
listDomains leitura Lista os domínios de envio verificados
Ação Efeitos colaterais Descrição
postMessage escrita Posta uma mensagem em um canal
listChannels leitura Lista os canais do workspace
listUsers leitura Lista os membros do workspace
reactToMessage escrita Adiciona uma reação com emoji
getThread leitura Obtém as respostas de uma thread
Ação Efeitos colaterais Descrição
textToSpeech escrita Converte texto em áudio de fala
listVoices leitura Lista as vozes disponíveis
generateSoundEffect escrita Gera um efeito sonoro com IA
Status Significado
Active As credenciais são válidas e a conexão está pronta para uso
Broken As credenciais expiraram ou foram revogadas — atualize-as para restaurar a conexão
  • As credenciais são criptografadas com AES-256-GCM em repouso
  • As ações têm rate limit de 1.000 requisições por minuto por conector por projeto
  • Cada chamada de ação é registrada com uma trilha de auditoria (conexão, ação, duração, status)
  • As conexões têm escopo para todo o workspace

Posso usar a mesma conexão em vários projetos?

Sim. Crie a conexão uma vez e vincule-a a quantos projetos quiser dentro do mesmo workspace.

O que acontece se minha API key expirar ou for revogada?

O status da conexão muda para Broken. Atualize as credenciais em Settings > Connectors para restaurá-la.

Posso chamar ações de conectores a partir do frontend?

Seu app nunca as guarda. Ações de leitura seguras para o navegador são intermediadas pelo Proyecta Cloud, que injeta as credenciais no lado do servidor, então a chave nunca fica no seu bundle. Ações de escrita não são alcançáveis pelo navegador de forma alguma.

Posso adicionar meus próprios conectores personalizados?

Ainda não. Definições de conectores personalizados estão no roadmap.

  • Conectores adicionais (Google, Twilio, SendGrid e mais)
  • Definições de conectores personalizados — traga sua própria API
  • Ingestão de webhooks para eventos recebidos de serviços conectados
  • Gateway OAuth — mantenha os tokens no servidor mesmo para fluxos iniciados pelo cliente