Rork × n8n × Google AI Studio の組み合わせで何が変わるか
Rork はAIでモバイルアプリの UI・ロジックを素早く生成できる強力なツールですが、バックエンドの処理——たとえばユーザーが送信したフォームデータの処理、通知の送信、コンテンツの AI 分析——はアプリ外で別途仕組みを作る必要があります。
ここで活躍するのが n8n(ノーコードのワークフロー自動化ツール)と Google AI Studio 経由の Gemini API です。
この3つを組み合わせると、以下のようなことが実現できます。
- Rork アプリのフォームから投稿されたテキストを Gemini がリアルタイムで分類・感情分析して Supabase に保存する
- ユーザーが画像をアップロードしたら n8n が受け取り、Gemini API で内容を分析してプッシュ通知を送る
- アプリ内のユーザー行動データを週次で集計し、Gemini がサマリーレポートを自動生成してメールで送信する
コードをほとんど書かずに、Rork アプリに AI バックエンドを後付けできるのが最大の魅力です。
必要なもの
- Rork アカウント(Webhook を設定できるプランが必要)
- n8n アカウント(n8n.cloud 無料プランでOK)
- Google AI Studio の API キー(aistudio.google.com で取得)
- 必要に応じて Supabase・Slack・SendGrid 等のアカウント
Google AI Studio で Gemini API キーを取得する
- aistudio.google.com にアクセスし、Google アカウントでサインインする
- 「Get API key」→「Create API key」を選択する
- プロジェクトを選択(または新規作成)し、API キーを発行する
- 発行されたキーをすぐにコピーし、パスワードマネージャーに保管する
ヒント: Google AI Studio の「Prompt design」画面でプロンプトのテストができます。n8n に組み込む前にここで動作確認すると、API コストを節約できます。
n8n に Gemini API の認証情報を設定する
- n8n → Credentials → Add Credential → Header Auth
- 以下を設定して保存する
- Name:
Gemini API - Header Name:
x-goog-api-key - Header Value: Google AI Studio で取得した API キー
- Name:
実践:Rork アプリのフォーム送信を AI 分析する
Rork で作ったユーザーレビューフォームを例に、投稿内容を Gemini が自動分析するワークフローを構築します。
ワークフロー全体像
Rork アプリ(Webhook 送信)
↓
n8n: Webhook Trigger(受信)
↓
n8n: HTTP Request(Gemini API で感情分析)
↓
n8n: Switch ノード(ポジティブ / ネガティブ で振り分け)
↓ ポジティブ ↓ ネガティブ
Supabase 保存 Slack アラート + Supabase 保存
Step 1: n8n に Webhook Trigger を追加する
- n8n で「+」→「Webhook」ノードを追加する
- HTTP Method:
POST - Response Mode:
Respond to Webhook - 表示される Webhook URL をコピーしておく(後で Rork に設定します)
Step 2: Rork 側で Webhook を設定する
Rork のワークフローまたは API 連携機能で、フォーム送信時に上記 Webhook URL へ POST リクエストを送るように設定します。
送信するデータ形式の例:
{
"user_id": "user_123",
"review_text": "このアプリは本当に使いやすくて気に入っています!",
"rating": 5,
"timestamp": "2026-04-04T11:30:00Z"
}Step 3: Gemini API で感情分析を行う
HTTP Request ノードを追加し、Gemini に分析を依頼します。
Method: POST
URL: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent
Authentication: Header Auth(Gemini API)
Content-Type: application/json
リクエストボディ:
{
"contents": [
{
"parts": [
{
"text": "以下のアプリレビューを分析し、JSON形式で返答してください:\n{\n \"sentiment\": \"positive/negative/neutral\",\n \"score\": 1〜10の数値,\n \"summary\": \"30文字以内の要約\",\n \"keywords\": [\"キーワード1\", \"キーワード2\"]\n}\n\nレビュー: {{ $json.review_text }}"
}
]
}
],
"generationConfig": {
"temperature": 0.1,
"responseMimeType": "application/json"
}
}期待されるレスポンス例:
{
"sentiment": "positive",
"score": 9,
"summary": "使いやすさへの高評価",
"keywords": ["使いやすい", "気に入っている"]
}Step 4: 感情スコアで条件分岐する
Switch ノードを追加し、sentiment の値で処理を振り分けます。
{{ JSON.parse($json.candidates[0].content.parts[0].text).sentiment }}
= "negative" の場合 → Slack にアラート送信
= "positive" の場合 → Supabase に保存
= "neutral" の場合 → Supabase に保存(アラートなし)
応用:ユーザーのアップロード画像を Gemini が解析する
Rork アプリでユーザーが画像をアップロードする機能がある場合、その画像を n8n 経由で Gemini に送り、自動でコンテンツ分析・タグ付けするワークフローも構築できます。
Rork: 画像を Supabase Storage にアップロード
↓
Supabase: n8n に Webhook で通知
↓
n8n: HTTP Request(Supabase Storage から画像取得)
↓
n8n: HTTP Request(Gemini API マルチモーダル分析)
↓
n8n: Supabase(分析結果をメタデータとして保存)
Gemini のマルチモーダル能力を活用することで、Rork アプリのコンテンツ管理を大幅に効率化できます。
よくあるエラーと対処法(トラブルシューティング)
エラー 1: Webhook が Rork から届かない
症状: n8n の Webhook Trigger が反応しない
原因と対処:
- n8n.cloud の場合、Webhook URL は
https://your-n8n.app.n8n.cloud/webhook/xxxx形式になります。Rork 側の HTTP リクエスト設定に正確な URL が入力されているか確認してください - Rork のネットワーク設定でアウトバウンドの HTTPS リクエストが許可されているか確認してください
- n8n のワークフローが「Active(有効)」になっているか確認してください。テストモードでは Webhook は Trigger の「Test Step」からしか受け付けません
エラー 2: Gemini の JSON レスポンスがパースできない
症状: JSON.parse() でエラーになる
原因と対処:
responseMimeType: "application/json"をgenerationConfigに指定すると、Gemini が確実に JSON を返すようになります- プロンプトに「必ず上記の JSON 形式だけで回答してください。それ以外のテキストは含めないでください」と明示的に指示することで精度が上がります
temperatureを 0〜0.2 に設定することで、出力の安定性が向上します
エラー 3: Supabase への書き込みエラー
症状: 403 Forbidden または JWT expired エラーが Supabase から返る
原因と対処:
- n8n の Supabase Credential に設定した Service Role Key(または Anon Key)が正しいか確認してください
- Supabase の Row Level Security(RLS)ポリシーが n8n からの書き込みを許可しているか確認してください
- Anon Key を使っている場合、RLS を無効化するか、適切なポリシーを設定する必要があります
エラー 4: 大量のレビューでレート制限に引っかかる
症状: 429 Too Many Requests エラーが発生する
原因と対処:
- Gemini API の無料枠には 1 分あたりのリクエスト数制限(RPM)があります
- n8n の「Wait」ノードをリクエストの間に挿入し、1〜2 秒の遅延を設けてください
- 大量のデータを一括処理する場合は、Gemini の Batch API の利用を検討してください
エラー 5: n8n の Webhook がタイムアウトする
症状: Rork からのリクエストがタイムアウトエラーになる
原因と対処:
- n8n の Webhook は、全ての処理が完了するまで接続を保持します。Gemini API の処理に時間がかかる場合、Rork 側でタイムアウトが発生することがあります
- 解決策: Webhook ノードの「Response Mode」を「Immediately」に変更し、受信確認だけを即座に返す設定にしてください。処理は非同期で続けられます
Webhook: Response Mode = "Immediately"
↓(並行して処理続行)
Gemini API 呼び出し → Supabase 保存
Google AI Studio でプロンプトを磨く
Google AI Studio の「Prompt design」機能を使えば、n8n に組み込む前に Gemini のレスポンスを手軽にテストできます。
- aistudio.google.com にアクセスする
- 「New prompt」→「Freeform」を選択する
- 実際のレビューテキストをペーストしてプロンプトをテストする
Temperature(0に近いほど安定)、Max output tokensなどのパラメータも GUI から調整できる- 満足のいくレスポンスが得られたら、そのプロンプトをそのまま n8n にコピーする
この「AI Studio でプロトタイプ → n8n で自動化」のフローは、開発コストを大幅に抑えられるのでお勧めです。
全体を振り返って
n8n × Google AI Studio(Gemini API)の組み合わせは、Rork アプリに AI バックエンドを追加する最も手軽な方法のひとつです。コードをほとんど書かずに、フォームデータの AI 分析、画像の自動タグ付け、ユーザー行動の要約といった機能を後付けできます。
まずはシンプルなフォーム送信 → 感情分析のワークフローから試してみてください。動かせると自信がつき、次のアイデアへの足がかりになります。