サービスをつなぐコネクタ
データとコンテンツ
アプリに接続できるデータベース、スプレッドシート、コンテンツ管理システム、ファイル保存、検索のサービスです。Supabase、Neon、Firebase、Airtable、Notion、Google Sheets、WordPress、Contentful、Storyblok、Webflow、AWS S3、Cloudinary、Algoliaを扱います。
どのアプリにも、最初から独自のデータベース、ログイン、メールがあります。それがクラウドです。データがすでにほかの場所にある場合、ご自身のアカウントにデータを置きたい場合、アップロードされたファイルの保存など、クラウドにはできないことがアプリに必要な場合は、ここにあるサービスを接続してください。
このページは、サービスごとに1項目です。接続の仕組み全般(ボタンやキー、Test connection、どのアプリがサービスを使うかの選択、権限)については、コネクタをご覧ください。
| サービス | 用途 | 接続方法 |
|---|---|---|
| Supabase | 内蔵のバックエンドの代わりに、ご自身のSupabaseプロジェクトを使う | プロジェクトのアドレスとキー |
| Neon | 行のルールも含めて、ご自身のPostgresを使う | Data APIのアドレス |
| Firebase | ご自身のFirebaseプロジェクトのFirestoreとログイン | Firebaseコンソールの3つの値 |
| Airtable | テーブルをデータベースとして使う | ボタン、またはトークン |
| Notion | ページとデータベース | ボタン、またはトークン |
| Google Sheets | スプレッドシートをデータベースとして使う | ボタン、またはAPIキー |
| WordPress | WordPressサイトの投稿とページ | サイトのアドレスとアプリケーションパスワード |
| Contentful | ヘッドレスCMSのエントリー | スペースIDと配信トークン |
| Storyblok | ヘッドレスCMSのストーリー | 公開アクセストークン |
| Webflow | Webflow CMSのコレクション | サイトトークン |
| AWS S3 | ユーザーがアップロードするファイル | リージョン、バケット、アクセスキー |
| Cloudinary | 配信時にサイズが調整される画像とファイル | クラウド名、アップロードプリセット、キー |
| Algolia | 入力に合わせて表示される検索 | アプリケーションIDと2つのキー |
すべてのサービスに共通することがいくつかあります。
- シークレットキーはSetherionのサーバー上に残り、公開済みのアプリはSetherionを通じてサービスを呼び出します。ブラウザに届くのは、もともと公開されることを前提とした値だけです。Supabaseのanonキー、Firebaseの設定、Cloudinaryのクラウド名とアップロードプリセット、Algoliaの検索専用キー、Google SheetsのAPIキーです。
- 利用者に直接請求するサービスは、そのページにBilled byとサービス名が表示され、接続する前にそれに同意するよう求められます。Neon、Firebase、Supabase、Airtable、Cloudinary、Algolia、AWS S3がこのグループです。Notion、Google Sheets、WordPress、Contentful、Storyblok、WebflowにはNo usage chargesと表示されます。
- 公開済みのアプリがSetherionを通じて行う呼び出しは、1回ごとに連携クレジットを1つ使います。クレジットをご覧ください。
- Test connectionは、Firebaseを除くここにあるすべてのサービスで使えます。
- チームのワークスペースでは、オーナーが一部の接続をメンバーのアプリに貸し出せます(ワークスペースをご覧ください)。Supabase、Neon、Firebaseは貸し出せず、公開済みのアプリに値が組み込まれるサービスも貸し出せません。ここではCloudinary、Algolia、Google Sheetsがそれにあたります。
データベースとテーブル
Supabase
用途:ご自身のSupabaseプロジェクトの、データベース、ログイン、ファイル保存です。どのアプリにもバックエンドが最初からあるので、これは任意です。アプリのデータをご自身のプロジェクトに置きたいときに選びます。アプリでSupabaseがオンの間は、そのアプリは内蔵のバックエンドの代わりに、データ、ログイン、ファイルにSupabaseを使います。
接続:SupabaseのProject Settings、続いてAPIにあるProject URL(https://abcdefgh.supabase.coのような形)とAnon Keyを貼り付けます。anonキーはeyJまたはsb_publishable_で始まります。途中で切れたキーは受け付けられないので、Supabaseのコピーボタンを使ってください。Service Role Keyは任意で、eyJまたはsb_secret_で始まります。
テーブルの作成:Connect Supabase accountを押し、Supabaseにログインして承認します。すると、テーブルが必要なアプリでは、Manage、続いてCloudに、ご自身のプロジェクトにテーブルを作成するボタンが表示され、押すたびに作成されます。この許可はこちらのサーバー上に残ります。許可しない場合は、同じSQLが用意されているので、ご自身でSupabaseにコピーして使えます。アカウントを接続したあとは、Your projectsの一覧もあり、キーを貼り付ける代わりにUse this projectを押すだけで済みます。
頼み方の例:「予約をSupabaseに保存して、お客様がメールでログインできるようにして」「名前、価格、写真のある商品用のテーブルを追加して」
知っておくと便利なこと:ご自身のSupabaseを使っているアプリでは、まだキーとシークレットを使えません。すでにデータのあるアプリを移すには、詳細設定をご覧ください。
Neon
用途:アプリのデータベースとして、Neon上のご自身のPostgresを使います。SetherionはNeonのData APIを通じて接続し、誰がどの行を見られるかは、行レベルセキュリティによってPostgres自身が決めます。各ユーザーが自分の行だけを見るアプリ、誰でも読めるカタログ、チーム向けの表示などに向いています。
接続:Neonの、プロジェクト、続いてData APIにあるData API address(/rest/v1で終わるRESTエンドポイント)を貼り付けます。neon.techのアドレスである必要があります。その後、Test connectionを押します。NeonにSetherionを信頼するよう設定するまでは拒否され、結果にはNeonに貼り付けるためのJWKSアドレスが表示されます。
JWKSの手順:NeonでData APIを開き、続いてAuthenticationを開いて、カスタムプロバイダーを選び、そのJWKSアドレスを貼り付けます。オーディエンスは空のままにします。これは、Setherionが各呼び出しとともに送る、ログイン中のユーザーを、Neonが信頼できるようにする手順です。数分たってもTestがだめな場合は、Neonでそのプロバイダーを削除して、もう一度追加してください。
頼み方の例:「ログインしている人ごとのToDoリストを、Neonのデータベースに保存して」「Neonのproductsテーブルを、カテゴリで絞り込んだショップページとして表示して」
権限:Permissionsの下にスイッチが3つあります。行の読み取り、行の追加と変更と削除、データベース関数の実行です。
知っておくと便利なこと:テーブルは、AIが書いたSQL(neon/setup.sqlというファイル)を、NeonのSQL Editorで一度実行して、はじめて存在します。ログインしていない訪問者が届くのは、Neonのanonymousロールに許可したものだけです。
Firebase
用途:ご自身のFirebaseプロジェクトの、データ用のFirestoreと、ログイン用のFirebase Authenticationです。Firebaseのそれ以外の機能は組み込まれていません。
接続:Firebaseコンソールにあるプロジェクトのウェブアプリ設定から、3つの値を入力します。API Key(AIzaで始まります)、Project ID、App ID(1:123:web:abcのような形)です。3つとも、もともと公開される前提の値で、公開済みのアプリに入ります。FirebaseにはTest connectionがなく、Connectで値が保存されます。
頼み方の例:「ユーザーが新規登録できて、Firestoreに自分だけのメモリストを保存できるようにして」「Firebaseプロジェクトのメッセージを、リアルタイムの一覧で表示して」
知っておくと便利なこと:Firebaseでは、データを守るのはキーではなく、セキュリティルールです。公開済みのアプリから設定は誰でも読み取れるので、テストモードのままのプロジェクトは、インターネット全体に開かれています。アプリが個人情報を保存する前に、Firebaseコンソールで、Firestoreのルールを設定してください。AIは、各ドキュメントがFirebase AuthenticationのユーザーIDに属するように書き、アプリが個人情報を保存する場合は、画面上でその旨を伝えます。
Airtable
用途:行を持つテーブルを、アプリのデータベースとして使います。CRM、在庫リスト、Airtableで管理しているコンテンツなどです。
接続:Connect with Airtableを押し、ログインして、アプリが使ってよいベースにチェックを入れ、Choose baseを押して1つ選びます。キーを使う方法もあります。Airtableのアカウントで作成するPersonal Access Token(patで始まります)と、Base ID(appで始まり、ベースのアドレスに表示されます)です。
頼み方の例:「AirtableのProductsテーブルにある在庫を、写真と価格付きで表示して」「問い合わせフォームの内容を、Enquiriesテーブルに新しい行として追加して」
制限:アプリが届くのは、選んだ1つのベースだけです。トークンがそれ以上の権限を持っていても、アカウントの中のほかのものには届きません。名前にスペースの入ったテーブルは、自動的に処理されます。Airtableは長いテーブルを1ページずつ返すので、アプリには、すべてのページを取得するか、一覧が一部だけであることを伝えるよう指示されます。Test connectionはそのベースのテーブルを読み取るので、そのベースにチェックが入っていないと失敗します。
ページとシート
Notion
用途:軽量なコンテンツ管理やタスクリストとしてのNotionデータベースと、アプリが表示したり入力したりするNotionのページです。
接続:Connect with Notionを押し、ログインして、アプリが使ってよいページにチェックを入れます。アプリは、それらのページの読み取りと書き込みだけができ、ほかのものには触れません。トークンを使う方法もあります。notion.so/my-integrationsで内部インテグレーションを作成し、そのInternal Integration Token(ntn_またはsecret_で始まります)を、任意のDefault Database IDと一緒に貼り付けます。トークンを使う場合は、Notionで各ページやデータベースをそのインテグレーションと共有してください。共有しないと、Notionはすべてに404を返します。
頼み方の例:「Notionのデータベースからチームのページを、各メンバーの写真と役割付きで表示して」「フォームのメッセージを、Notionのタスクに新しい行として追加して」
制限:1回のクエリで返るのは最大100行です。長いデータベースでは、Notionがもうないと答えるまで、アプリが問い合わせを続けるよう指示されます。
知っておくと便利なこと:アプリを作るAIは、MCPサーバーを通じてNotionを読むこともできます。これは別の仕組みです。MCPサーバーの追加をご覧ください。
Google Sheets
用途:ご自身で編集するスプレッドシートを、アプリのデータとして使います。価格、メニュー、掲載情報、チームメンバー、行として集めた登録情報などです。
ボタンで接続する:Connect with Googleを押し、ログインしてから、Choose spreadsheetを押して、1つのファイルを選びます。シートは非公開のままで、アプリはSetherionを通じてそれを読み書きし、Driveのそのほかの部分には届きません。
キーで接続する:Google CloudでGoogle Sheets APIを有効にし、そのAPIとご自身のサイトに制限したGoogle APIキーと、シートIDを貼り付けます。この方法は、「リンクを知っている全員が閲覧可能」で共有されているシートでしか使えず、読み取りだけです。
頼み方の例:「シートの価格表を表示して、シートを編集したら更新して」「予約のリクエストを、シートの一番下に新しい行として追加して」
制限:ボタンで接続した場合は、1つのスプレッドシートと、その中のタブが対象です。範囲はタブを名前で指定するので、タブの名前を変えたら、そのことをチャットで伝えてください。
Notion、Airtable、Google Sheetsは、公開済みのアプリを開くすべての人の代わりに、Setherionを通じて呼び出されます。アプリが表示したり入力したりする予定のものだけを接続してください。
CMSのコンテンツ
この4つは、ほかの場所で書いたコンテンツを読み取って、アプリに表示します。4つとも読み取り専用で、公開済みのものだけが対象です。下書きが公開ページに届くことはありません。
WordPress
用途:WordPressサイトの公開済みの投稿、ページ、メディアを、アプリの中に表示します。ブログ、ニュースのページ、ポートフォリオなどです。
接続:Site address(https://で始まる必要があります)、Username、Application passwordです。パスワードは、WordPressのUsers、続いてProfile、続いてApplication Passwords、続いてAdd Newで作成します。WordPress.comの無料プランでは使えません。Test connectionはサイトにログインします。
頼み方の例:「WordPressの最新の投稿10件を画像付きで一覧表示するブログページを追加して」「各投稿を、そのスラッグから、専用のページで表示して」
権限:投稿、ページ、画像とファイル、カテゴリー、タグ、コメントに、それぞれReadスイッチが1つずつあります。
知っておくと便利なこと:サイトに何かが書き込まれることは決してありません。投稿とページは公開されたとおりに、コメントは承認されたものが表示されます。投稿の本文はご自身のサイトからHTMLで届くので、アプリは自分のタイポグラフィで描画します。
Contentful
用途:Contentfulで書いたエントリーです。記事、商品、ページ、チームメンバーなど、コンテンツタイプが何であっても対応します。
接続:Space ID(Settings、続いてGeneral settings)と、Content Delivery API token(Settings、続いてAPI keys)です。管理用ではなく、配信用のトークンを使ってください。Environmentは任意で、空のままならmasterになります。Test connectionはコンテンツタイプを読み取ります。
頼み方の例:「Contentfulのブログ記事を、新しい順に、カバー画像付きで表示して」「各商品エントリーのページを、そのスラッグで見つけられる形で作って」
権限:エントリー、画像とファイル、コンテンツタイプに、それぞれReadスイッチが1つずつあります。
知っておくと便利なこと:フィールド名はご自身のコンテンツモデルから決まるので、AIは推測せずに、最初にコンテンツタイプを読み取ります。リッチテキストのフィールドはドキュメントツリーとして届き、アプリがそれを自分で描画します。
Storyblok
用途:Storyblokで書いたストーリー、ページ、ブロックです。ブログ、ランディングページ、商品やチームメンバーの一覧などです。
接続:Access tokenです。StoryblokのSettings、続いてAccess tokensにある、Publicトークンを使います。Regionは任意で、eu(初期値)またはusで、スペースの設定に表示されているものを選びます。
頼み方の例:「blogフォルダの下にある最新のストーリーを一覧表示して」「スラッグがaboutのストーリーから、Aboutページを作って」
権限:ストーリー、リンク、データソースのエントリー、タグに、それぞれReadスイッチが1つずつあります。
知っておくと便利なこと:読み取られるのは公開済みのコンテンツだけです。Setherionがそれを強制するので、プレビュー用トークンを間違って貼り付けても、下書きが公開ページに載ることはありません。ストーリーはブロックのツリーで、アプリはご自身のスペースが使っているブロックを描画します。
Webflow
用途:Webflow CMSで書いたコレクションです。ブログ、チーム、メニュー、プロジェクト、拠点などです。
接続:Site API tokenです。WebflowでSite settings、続いてApps & integrations、続いてAPI accessを開き、CMSとSitesをRead-onlyにしたトークンを生成します。
頼み方の例:「Webflowのコレクションから最新のブログ記事を表示して」「各チームメンバーに、アイテムのスラッグから専用のページを作って」
制限:読み取られるのは公開済みのアイテムだけです。それらはWebflowのキャッシュから届くので、変更が表示されるまでに数分かかることがあります。サイトとそのコレクションを調べる呼び出しは、小さいプランではWebflowの1分あたり60回の上限に数えられます。そのため、アプリは訪問のたびに問い合わせる代わりに、その答えを1日保持するよう指示されます。このコネクタには、権限のスイッチはありません。
ファイル、画像、検索
AWS S3
用途:アプリでユーザーがアップロードするファイル(写真、書類、添付ファイル)を、ご自身のS3バケットに保存します。内蔵のバックエンドはレコードを保存し、ファイルは保存しないので、アップロードの行き先はここになります。
接続:4つの値です。Bucket region(ロンドンのeu-west-2のような形)、Bucket name(小文字、数字、ダッシュで、ドットは使えません)、そしてAWSのIAM、続いてUsersで、Setherion専用に作ったユーザーを開き、Security credentials、続いてCreate access keyで作る、Access key IDとSecret access keyです。シークレットは一度だけ表示されます。Test connectionはバケットを読み取り、続いて署名付きリンクで小さなテストファイルをアップロードし、読み戻して削除し、バケットがブラウザからのアップロードを許可しているかを確認します。この最後の確認が失敗したら、まずバケットのCORS設定を見てください。
頼み方の例:「お客様が修理依頼に写真を添付できるようにして」「各注文の、アップロードされた書類を注文ページに表示して」
制限:
- ファイルは1つあたり25 MBまでです。
- 各アプリは、バケットの中に自分専用のフォルダ(
apps/にアプリのIDが続くもの)を持ち、Setherionはその外側のキーをすべて拒否します。1つのバケットで、互いのファイルを読ませずに、すべてのアプリを賄えます。 - 訪問者はファイルを一覧表示できません。ファイルには、アプリがレコードと一緒に保管しているキーで届き、ファイルを表示するリンクは1時間有効です。
- アプリのファイルの一覧表示と削除は、アプリのチームだけができます。アップロードと表示は、アプリを使う誰にでも開かれています。
権限:スイッチが3つあります。ファイルのアップロード、ファイルの表示、ファイルの一覧表示と削除です。
知っておくと便利なこと:エディタのプレビューでのファイル選択も、公開済みのアプリと同じく、ご自身の実際のバケットにアップロードされます。
Cloudinary
用途:アプリから画像やファイルをアップロードし、表示するサイズに合わせて、CloudinaryのCDNから配信します。
接続:4つの値です。Cloud Name、Unsigned Upload Preset、API Key、API Secretです。プリセットは、CloudinaryのSettings、続いてUploadで、unsignedとして作ります。キーは、Settings、続いてAPI keysにあります。プリセットがないとアップロードは動かず、アプリは動いたふりをせずに、その旨を伝えます。
頼み方の例:「出品者が商品写真をアップロードできるようにして、ちょうどよいサイズで表示して」「訪問者が写真を送れるギャラリーのページを追加して」
制限:ブラウザは、プリセットを使って、ご自身のCloudinaryに直接アップロードします。クラウド名とプリセットは、Cloudinaryの想定どおり、公開済みのアプリに入ります。APIシークレットは入りません。Setherionがキーとシークレットを使うのはTest connectionだけなので、シークレットがアプリの中に置かれることはありません。アップロードも表示も、すべてご自身のCloudinaryアカウントで行われます。
知っておくと便利なこと:File uploadスキルは、このコネクタの上に作られています。スキルをご覧ください。
Algolia
用途:商品、記事、そのほかインデックスに入れたものを対象にした、入力に合わせてすぐに結果が出る検索です。
接続:AlgoliaのダッシュボードのAccount、続いてAPI keysにある、3つの値です。Application ID、Admin API Key、Search-Only API Keyです。
2つのキー:訪問者は、公開しても安全な検索専用キーを使って、ブラウザの中で検索します。このキーはアプリに入ります。管理者キーはインデックスを削除できるので、こちらのサーバーの外には出ません。アプリがこれを使うのは、Setherionを通じて、レコードをインデックスに入れるときだけです。検索専用キーが保存されていないと、検索は動かず、アプリは管理者キーに切り替えることなく、その旨を伝えます。レコードやインデックスの削除、インデックスを空にすること、別のインデックスへの上書き移動はチームだけができます。レコードの追加と更新は、アプリを使う誰でもできます。
頼み方の例:「ショップに、入力しながら商品が見つかる検索ボックスを追加して」「商品を追加したら、Algoliaにインデックスして」
知っておくと便利なこと:Searchスキルは、このコネクタの上に作られています。スキルをご覧ください。
このページは役に立ちましたか?
