クイズ - 学習
中級
これはOther, AI分野の自動化ワークフローで、15個のノードを含みます。主にIf, Merge, Webhook, Supabase, HttpRequestなどのノードを使用、AI技術を活用したスマート自動化を実現。 GPT-4o-mini と Supabase ストレージを使用して AI 駆動の WhatsApp クイズボットを作成
前提条件
- •HTTP Webhookエンドポイント(n8nが自動生成)
- •Supabase URL と API Key
- •ターゲットAPIの認証情報が必要な場合あり
- •OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "G5sy4PdIPoOIdy8a",
"meta": {
"instanceId": "47132c409ea4cfc382a6c48656c8a35b5da4c1fa7ef892882b424c42ae8a05b2",
"templateCredsSetupCompleted": true
},
"name": "Quiz - Estudos",
"tags": [],
"nodes": [
{
"id": "49e9a3e6-8d75-4b26-8060-36778e30e4c2",
"name": "シンプルメモリ",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
1360,
-320
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "02d7559c-c735-455e-b21b-ec468a0d4532",
"name": "OpenAI チャットモデル",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1180,
-320
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "ZKobrAKEac2WpmRs",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "bb91ac3f-be03-44e3-a342-b8e488c6165b",
"name": "マージ",
"type": "n8n-nodes-base.merge",
"position": [
1040,
-520
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "13cd878e-e453-42d9-8c0e-988a53795bde",
"name": "Whatsapp Trigger",
"type": "n8n-nodes-base.webhook",
"position": [
-280,
-420
],
"webhookId": "aae5d69a-d682-4d9d-9710-a3807ca73b9c",
"parameters": {
"path": "aae5d69a-d682-4d9d-9710-a3807ca73b9c",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "164d4163-c48b-40af-b747-5ca1c20c9f48",
"name": "User exist?",
"type": "n8n-nodes-base.if",
"position": [
140,
-420
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "156a2527-ccc7-4249-9d8f-fd22fa066ad1",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "b3eb496f-1fd5-4f89-a77b-711035efbc37",
"name": "AI エージェント - Portuguese BR System Msg",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1260,
-520
],
"parameters": {
"options": {
"systemMessage": "=Você é um especialista em quizzes altamente qualificado e um tutor virtual extremamente amigável, paciente e empático. Sua principal missão é criar quizzes educativos e engajadores, e auxiliar os usuários em sua jornada de aprendizado. Você se comunica em português do Brasil.\n\nDiretrizes de Interação e Personalidade:\n\n1. **Especialista em Quizzes:** Demonstre profundo conhecimento na criação de perguntas relevantes e bem formuladas sobre uma vasta gama de temas. Seu objetivo é testar e expandir o conhecimento do usuário.\n2. **Uso do Nome:** Sempre que interagir, dirija-se ao usuário pelo nome que foi fornecido no contexto da conversa (ex: \"Olá, [NomeDoUsuario]! Que bom ter você por aqui para um quiz!\"). Isso cria uma atmosfera mais próxima e pessoal.\n3. **Foco no Tema Fornecido:** O quiz deve ser sobre o tema que o usuário definiu [placeholder.json.tema]. Concentre-se nesse tema para a geração das perguntas.\n4. **Flexibilidade para Mudança de Tema:** Embora o foco seja no tema atual, se o usuário expressar um desejo claro de mudar de tema, reconheça essa solicitação de forma positiva. A execução da mudança de tema (como a coleta do novo tema) será gerenciada pelo sistema externo (n8n), mas sua resposta deve ser receptiva a essa intenção (ex: \"Entendido, [placeholder.NomeDoUsuario]! Se quiser explorar um novo assunto, é só me dizer qual será o próximo tema quando o sistema perguntar!\").\n5. **Personalização e Empatia:** Vá além de apenas fazer perguntas. Mostre genuíno interesse pelo aprendizado do usuário. Utilize frases que demonstrem encorajamento, paciência se o usuário errar, e entusiasmo quando ele acertar. Adapte sua linguagem para ser motivadora. Por exemplo: \"Não se preocupe se essa não foi fácil, [NomeDoUsuario], o importante é aprender!\" ou \"Excelente, [NomeDoUsuario], você está indo muito bem!\".\n6. **Geração de Conteúdo do Quiz (Instrução Implícita para o \"User Prompt\"):** Esteja preparado para, quando solicitado no *prompt do usuário/tarefa*, gerar um conjunto de 10 perguntas de múltipla escolha (com 4 opções: A, B, C, D, e a indicação da correta) sobre o tema fornecido. \n7. **Linguagem:** Use um tom conversacional, positivo e acessível, adequado para um ambiente de aprendizado no WhatsApp. Evite jargões desnecessários, a menos que o tema do quiz exija e possa ser uma oportunidade de aprendizado.\n8. **Feedback Construtivo:** Forneça explicações claras e concisas, especialmente para respostas incorretas, ajudando o usuário a entender o porquê.\n\nLembre-se, [NomeDoUsuario] está buscando uma experiência de estudo que seja eficaz, mas também agradável. Sua empatia e sua capacidade de personalizar a conversa são tão importantes quanto a qualidade do quiz."
}
},
"typeVersion": 1.9
},
{
"id": "272d4b9e-4e14-4d0f-b269-4a89fff170a5",
"name": "Supabase: Fetch User Data",
"type": "n8n-nodes-base.supabase",
"position": [
-60,
-420
],
"parameters": {
"operation": "select"
},
"credentials": {
"supabaseApi": {
"id": "HhlIKNFIScBo9gSX",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "5475ea85-9672-4d2b-83d9-4ab688569389",
"name": "Ask For Name",
"type": "n8n-nodes-base.httpRequest",
"position": [
380,
-260
],
"parameters": {
"method": "POST",
"options": {},
"jsonBody": "=Bem-vindo(a) ao nosso espaço de estudos! Para que eu possa te ajudar melhor, me conta, qual é o seu nome?",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
},
{
"id": "19a8e284-8287-40c9-8623-abbdd6b33e5d",
"name": "Supabase: Update User Name",
"type": "n8n-nodes-base.supabase",
"position": [
600,
-260
],
"parameters": {
"operation": "update"
},
"credentials": {
"supabaseApi": {
"id": "HhlIKNFIScBo9gSX",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "e5f6cab2-b476-4795-80d8-022c1dd7e9ff",
"name": "Quiz Topic Defined?",
"type": "n8n-nodes-base.if",
"position": [
380,
-520
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c15ea575-fe71-436c-9abd-dd282c22d056",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "eca29455-df9f-4f02-807e-7657f8a8d04c",
"name": "Ask For Study Topic (WhatsApp Message)",
"type": "n8n-nodes-base.httpRequest",
"position": [
600,
-440
],
"parameters": {
"method": "POST",
"options": {},
"jsonBody": "={{NOME_DO_USUARIO_AQUI}}, pensando em te ajudar nos estudos, qual matéria ou tópico específico prefere para o nosso quiz?\n",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
},
{
"id": "08760830-e348-4fe9-882f-9d05507e02c5",
"name": "Supabase: Update Study Topic",
"type": "n8n-nodes-base.supabase",
"position": [
820,
-440
],
"parameters": {
"operation": "update"
},
"credentials": {
"supabaseApi": {
"id": "HhlIKNFIScBo9gSX",
"name": "Supabase account"
}
},
"typeVersion": 1
},
{
"id": "b38b927f-f076-4388-aecb-81c35a15c4ea",
"name": "Send Message to User (WhatsApp Message)",
"type": "n8n-nodes-base.httpRequest",
"position": [
1636,
-520
],
"parameters": {
"options": {}
},
"typeVersion": 4.2
},
{
"id": "28f7ad21-bbf8-42ac-bd8f-a37fc80c9914",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-340,
-220
],
"parameters": {
"height": 240,
"content": "## WhatsApp Quiz Bot\nLet users study a specific topic via WhatsApp.\n🧠 Fetch user name & topic\n📚 Ask for missing info\n📥 Save to Supabase\n🤖 Generate quiz with AI\n📲 Send back questions\n\n"
},
"typeVersion": 1
},
{
"id": "72c3a241-89a0-4454-9ebb-99c994ff6f4f",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-220
],
"parameters": {
"width": 260,
"height": 380,
"content": "## Flow Overview\n\nTrigger: Incoming WhatsApp msg\n\nFetch user data (Supabase)\n\nCheck if name & topic exist\n\nAsk missing info via WhatsApp\n\nUpdate Supabase with answers\n\nMerge inputs\n\nAI Agent generates quiz\n\nSend response to user\n\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e383ac09-7b4c-47b1-9e1f-1f16ff8f63f1",
"connections": {
"Merge": {
"main": [
[
{
"node": "AI Agent - Portuguese BR System Msg",
"type": "main",
"index": 0
}
]
]
},
"164d4163-c48b-40af-b747-5ca1c20c9f48": {
"main": [
[
{
"node": "e5f6cab2-b476-4795-80d8-022c1dd7e9ff",
"type": "main",
"index": 0
}
],
[
{
"node": "5475ea85-9672-4d2b-83d9-4ab688569389",
"type": "main",
"index": 0
}
]
]
},
"5475ea85-9672-4d2b-83d9-4ab688569389": {
"main": [
[
{
"node": "19a8e284-8287-40c9-8623-abbdd6b33e5d",
"type": "main",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "AI Agent - Portuguese BR System Msg",
"type": "ai_memory",
"index": 0
}
]
]
},
"13cd878e-e453-42d9-8c0e-988a53795bde": {
"main": [
[
{
"node": "272d4b9e-4e14-4d0f-b269-4a89fff170a5",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent - Portuguese BR System Msg",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"e5f6cab2-b476-4795-80d8-022c1dd7e9ff": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
],
[
{
"node": "eca29455-df9f-4f02-807e-7657f8a8d04c",
"type": "main",
"index": 0
}
]
]
},
"272d4b9e-4e14-4d0f-b269-4a89fff170a5": {
"main": [
[
{
"node": "164d4163-c48b-40af-b747-5ca1c20c9f48",
"type": "main",
"index": 0
}
]
]
},
"19a8e284-8287-40c9-8623-abbdd6b33e5d": {
"main": [
[]
]
},
"08760830-e348-4fe9-882f-9d05507e02c5": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"AI Agent - Portuguese BR System Msg": {
"main": [
[
{
"node": "b38b927f-f076-4388-aecb-81c35a15c4ea",
"type": "main",
"index": 0
}
]
]
},
"eca29455-df9f-4f02-807e-7657f8a8d04c": {
"main": [
[
{
"node": "08760830-e348-4fe9-882f-9d05507e02c5",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - その他, 人工知能
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
AI スマートアシスタント: Supabase ストレージと Google Drive ファイルとの対話
AIワンチャットボット:SupabaseストレージとGoogle Driveのファイルと対話
If
Set
Wait
+
If
Set
Wait
62 ノードMark Shcherbakov
エンジニアリング
AI自動化とアイグゥチューブの構築と販売
販売AIの自動化とエージェントの構築
If
Set
Wait
+
If
Set
Wait
74 ノードNICKYAI
その他
AI エージェント レストラン [テンプレート]
🤖 WhatsApp、Instagram、MessengerのAIレストランアシスタント
If
N8n
Set
+
If
N8n
Set
239 ノードAmanda Benks
その他
n8nノードの探索(可視化リファレンスライブラリ内)
n8nノードを可視化リファレンスライブラリで探索
If
Ftp
Set
+
If
Ftp
Set
113 ノードI versus AI
その他
ペットショップ 4
ペットショップ予約AIエージェント
If
Set
Code
+
If
Set
Code
187 ノードBruno Dias
人工知能
⚡AI驱动のYouTube播放列表と视频摘要与分析v2
AI YouTube播放列表与视频分析チャットボット
If
Set
Code
+
If
Set
Code
72 ノードdmr
その他
ワークフロー情報
難易度
中級
ノード数15
カテゴリー2
ノードタイプ9
作成者
Danielle Gomes
@daniellegomesProduct Designer | n8n Automation | Practical AI Solutions I turn ideas into smart digital experiences focused on efficiency and personalization. Specialized in building solutions that combine design, n8n workflows, and AI to scale products, optimize processes, and maximize impact.
外部リンク
n8n.ioで表示 →
このワークフローを共有