コンテンツにスキップ

コネクター

Slack、Resend、ElevenLabsなどのサードパーティサービスをアプリに接続します。認証情報は暗号化され、アクションは事前に認証済みです。

コネクターを使うと、コード内で生のAPIキーを管理することなく、外部サービスをアプリに統合できます。接続を一度設定してプロジェクトにバインドすれば、Proyecta SDKを通じてアプリから事前構築済みのアクションを呼び出せます。認証情報は保存時に暗号化され、frontendのコードに公開されることはありません。

コネクターカテゴリ認証タイプ機能
ResendコミュニケーションAPIキートランザクションメール送信、バッチメール送信、確認済みドメイン一覧取得
SlackコミュニケーションOAuthメッセージ投稿、チャンネル・ユーザー一覧取得、メッセージへのリアクション、スレッドの読み取り
ElevenLabsAIAPIキーテキスト読み上げ、利用可能な音声一覧取得、効果音生成

コネクターは随時追加されています。

  1. 接続を作成する — 認証情報(APIキー)を入力するか、OAuthでサインインする
  2. 接続をプロジェクトにバインドする — プロジェクトがその認証情報を使用することを許可する
  3. アプリからアクションを呼び出す — SDKがリクエストをProyecta Cloudに送信し、サーバーサイドで認証情報が注入される

アプリのコードが生のAPIキーやOAuthトークンに直接触れることはありません。コネクターシステムが認証、レート制限、監査ログを処理します。

  1. builderでプロジェクトを開く
  2. Settings > Connectors に移動する
  3. カタログからコネクターをクリックする(例:Resend)
  4. 認証情報を入力する:
    • APIキー方式(Resend、ElevenLabs):シークレットキーを貼り付ける
    • OAuth方式(Slack):サインインしてアクセスを承認する
  5. 接続に名前を付ける(例:“Production Resend”)
  6. 接続は自動的にテストされ、有効であれば Active とマークされる

アプリでコネクターを使用する

Section titled “アプリでコネクターを使用する”

コネクターのアクションは、Proyecta SDKを使用してサーバーサイドのコード(Convex アクション)から呼び出します:

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

execute メソッドの戻り値:

フィールド説明
outputアクションの戻り値(形式はアクションによって異なります)
durationMs実行時間(ミリ秒)
invocationId監査ログエントリーID

コネクターのコードを手書きする必要はありません。AI builderはプロジェクトにバインドされているコネクターを把握しており、統合コードを自動生成できます:

  • "ユーザーがサインアップしたときにウェルカムメールを送る" — Resend コネクターを使用
  • "新しい注文が入ったときにSlackにメッセージを投稿する" — Slack コネクターを使用
  • "記事ページで音声ナレーションを再生する" — ElevenLabs コネクターを使用

コネクターアクションのリファレンス

Section titled “コネクターアクションのリファレンス”
アクション副作用説明
sendEmailwrite単一のトランザクションメールを送信する
sendBatchwrite複数のメールを一括送信する
listDomainsread確認済みの送信ドメイン一覧を取得する
アクション副作用説明
postMessagewriteチャンネルにメッセージを投稿する
listChannelsreadワークスペースのチャンネル一覧を取得する
listUsersreadワークスペースのメンバー一覧を取得する
reactToMessagewrite絵文字リアクションを追加する
getThreadreadスレッドの返信を取得する
アクション副作用説明
textToSpeechwriteテキストを音声オーディオに変換する
listVoicesread利用可能な音声一覧を取得する
generateSoundEffectwriteAIが効果音を生成する
ステータス意味
Active認証情報が有効で、接続は使用可能な状態です
Broken認証情報が期限切れまたは無効化されています — 更新して復旧してください
  • 認証情報は保存時にAES-256-GCMで暗号化されます
  • アクションはコネクター・プロジェクトごとに1分間あたり1,000リクエストにレート制限されています
  • すべてのアクション呼び出しは監査証跡とともにログに記録されます(接続、アクション、実行時間、ステータス)
  • 接続はワークスペース全体にスコープされます

同じ接続を複数のプロジェクトで使用できますか?

はい。接続を一度作成すれば、同じワークスペース内の任意の数のプロジェクトにバインドできます。

APIキーが期限切れになったり無効化されたりするとどうなりますか?

接続ステータスが Broken に変わります。Settings > Connectors で認証情報を更新して復旧してください。

frontendからコネクターのアクションを呼び出せますか?

いいえ。認証情報を安全に保つため、コネクターのアクションはサーバーサイドのコード(Convex アクション)から呼び出す必要があります。SDKはProyecta Cloudを経由してルーティングし、サーバーサイドで認証を注入します。

カスタムコネクターを追加できますか?

現時点ではできません。カスタムコネクター定義はロードマップに含まれています。

  • 追加コネクター(Google、Twilio、SendGridなど)
  • カスタムコネクター定義 — 独自のAPIを持ち込む
  • 接続済みサービスからの受信イベント向けWebhookインジェスション
  • OAuthゲートウェイ — クライアント起点のフローでもトークンをサーバーサイドで保持