AutomationFlowsAI & RAG › AI Course Guider Agent with Supabase

AI Course Guider Agent with Supabase

Original n8n title: Course Guider Agent

Course Guider Agent. Uses chainLlm, outputParserStructured, agent, supabase. Webhook trigger; 19 nodes.

Webhook trigger★★★★☆ complexityAI-powered19 nodesChain LlmOutput Parser StructuredAgentSupabaseAnthropic Chat
AI & RAG Trigger: Webhook Nodes: 19 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Agent → Chainllm recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Course Guider Agent",
  "nodes": [
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "6c364d12-e8b1-4921-9a99-28be22c076b6",
              "name": "query",
              "value": "={{ $json.body.query }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -60,
        -300
      ],
      "id": "fcc0da21-f16b-4136-a274-99798ae1ca2b",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $('Edit Fields').item.json.query }}",
        "hasOutputParser": true,
        "messages": {
          "messageValues": [
            {
              "message": "You are an intelligent assistant trained to identify course names and duration from user queries. Your primary goal is to extract the most relevant course name or topic based and duration on the user\u2019s request and add one emoji to the course name. Provide concise and accurate responses by interpreting the intent behind the user query. Ensure that the extracted course name and duration is clear and reflects standard course or subject terminology. If the user query is vague, extract the most probable course name based on common understanding.\"  Examples:  User Query: \"I want to learn about coding websites.\" Course: Web Development\ud83c\udf10  User Query: \"What should I study to become a data scientist in 1year?\" Course: Data Science \ud83e\udd16 Duration:1year User Query: \"Help me find resources for cloud technologies.\" Course: Cloud Computing \u2601\ufe0f Duration:Default  User Query: \"I need guidance for mastering AI tools in 6months.\" Course: Artificial Intelligence \ud83e\udd16 Duration:6Months User Query: \"Can you recommend something for financial markets?\" Course: Finance \ud83d\udcb8 Duration:Default"
            }
          ]
        }
      },
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "typeVersion": 1.5,
      "position": [
        400,
        -300
      ],
      "id": "416c564a-ad51-452b-8edb-0c35db4c615d",
      "name": "Basic LLM Chain"
    },
    {
      "parameters": {
        "jsonSchemaExample": "{\n\t\"course\": \"WebDevlopement\",\n  \"duration\":\"6months\"\n}"
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.2,
      "position": [
        480,
        -100
      ],
      "id": "840abdee-fc28-4fc3-beff-cdc19754be6e",
      "name": "Structured Output Parser"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Give me the {{ $('Basic LLM Chain').item.json.output.duration }} roadmap for the course : {{ $('Basic LLM Chain').item.json.output.course }} ",
        "options": {
          "systemMessage": "You are a specialized roadmap creator designed to assist users in achieving their learning goals effectively within a specified duration. When a user provides a course name and a timeframe (e.g., 3 months, 6 months, 1 year), your task is to:\n\n1. **Understand the Course Topic:** Break down the subject into key learning modules or stages.  \n2. **Divide the Duration:** Allocate the given time into smaller, manageable timeframes (e.g., months or weeks).  \n3. **Set Milestones:** For each timeframe, specify clear learning goals, practical tasks, and relevant resources.  \n4. **Include Actionable Outputs:** Ensure the roadmap contains hands-on tasks or projects to reinforce learning.  \n\nAlways provide **concise, structured, and engaging responses** with emojis to make the roadmap visually appealing. Focus on practical value and tailor the roadmap to the duration and complexity of the course topic. **Do not include any introductory or concluding text**\u2014just provide the roadmap directly.\"\n\n---\n\n**Example Interaction:**\n\n**User Input:**  \n\"Roadmap for Web Development in 6 months.\"\n\n**Agent Response:**  \n\n---\n\n### \ud83d\ude80 **Roadmap to Mastering Web Development**  \n**Duration:** 6 Months  \n\n---\n\n#### **Month 1: Foundations**  \n\ud83c\udfaf **Goal:** Learn the basics of web development.  \n- \ud83c\udf10 Introduction to HTML & CSS  \n- \ud83c\udfa8 Basic styling and responsive design  \n- \ud83d\udd27 Set up your development environment (VS Code, Git)  \n- \ud83d\udee0\ufe0f Build a simple static website  \n\n---\n\n#### **Month 2-3: Core Skills Development**  \n\ud83c\udfaf **Goal:** Dive into front-end and back-end basics.  \n- \ud83d\udda5\ufe0f JavaScript fundamentals (ES6+)  \n- \u269b\ufe0f Introduction to React.js or Vue.js  \n- \ud83d\uddc4\ufe0f Basics of Node.js and Express.js  \n- \ud83d\udee0\ufe0f Build a basic CRUD application  \n\n---\n\n#### **Month 4: Advanced Concepts**  \n\ud83c\udfaf **Goal:** Master advanced topics and frameworks.  \n- \ud83d\udd10 Authentication and authorization (JWT, OAuth)  \n- \ud83d\uddc3\ufe0f Database management (SQL, MongoDB)  \n- \ud83d\ude80 Advanced React/Vue (State management, hooks, etc.)  \n- \ud83d\udee0\ufe0f Build a full-stack project  \n\n---\n\n#### **Month 5: Practice and Projects**  \n\ud83c\udfaf **Goal:** Apply skills through real-world projects.  \n- \ud83c\udf1f Build a portfolio website  \n- \ud83d\uded2 Create an e-commerce site  \n- \ud83d\udcf1 Develop a responsive web app  \n- \ud83e\uddea Test and debug your projects  \n\n---\n\n#### **Month 6: Review and Mastery**  \n\ud83c\udfaf **Goal:** Solidify knowledge and prepare for job readiness.  \n- \ud83d\udcda Review core concepts and troubleshoot weak areas  \n- \ud83e\udde0 Practice coding challenges (LeetCode, HackerRank)  \n- \ud83d\udcdd Optimize your portfolio and LinkedIn profile  \n- \ud83d\ude80 Start applying for jobs or freelance projects  \n\n---"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        660,
        -60
      ],
      "id": "ba924e58-cf6b-4c1d-833e-a74c0251337e",
      "name": "Roadmapper Agent"
    },
    {
      "parameters": {
        "tableId": "messages",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "session_id",
              "fieldValue": "={{ $('Webhook').item.json.body.session_id }}"
            },
            {
              "fieldId": "message",
              "fieldValue": "={{ {\n\"type\": \"ai\",\n\"content\": $json.output,\n\"data\": {},\n\"additional_kwargs\": {},\n\"response_metadata\": {}\n} }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        960,
        160
      ],
      "id": "6145c06c-0e76-4504-80e4-8e2c91f9329d",
      "name": "Supabase1",
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "tableId": "messages",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "session_id",
              "fieldValue": "={{ $('Webhook').item.json.body.session_id }}"
            },
            {
              "fieldId": "message",
              "fieldValue": "={{ {\n\"type\": \"ai\",\n\"content\": $json.output,\n\"data\": {},\n\"additional_kwargs\": {},\n\"response_metadata\": {}\n} }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        1380,
        180
      ],
      "id": "9a4c3aef-e0f1-4f41-85bc-b9d67117dcd6",
      "name": "Supabase2",
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Suggest the more frame works or tools to master the {{ $('Basic LLM Chain').item.json.output.course }}",
        "options": {
          "systemMessage": "=You are a specialized learning assistant designed to help users identify the prerequisites, frameworks, and tools they must know to master a specific course or skill. When a user provides a course name or skill, your task is to:  \n\n1. **List Prerequisites:** Identify foundational knowledge or skills required to start learning the topic.  \n2. **Recommend Frameworks/Libraries:** Provide a list of essential frameworks, libraries, or technologies used in the field.  \n3. **Suggest Tools:** Mention tools or software that are commonly used for development, testing, or deployment.  \n\nAlways provide **concise, structured, and engaging responses** with emojis to make the information visually appealing. Do not include any introductory or concluding text\u2014just provide the prerequisites, frameworks, and tools directly.\"\n\n---\n\n**Example Interaction:**\n\n**User Input:**  \n\"Prerequisites and tools to master Web Development.\"\n\n**Agent Response:**  \n\n---\n\n### \ud83d\udee0\ufe0f **Prerequisites, Frameworks, and Tools for Web Development**  \n\n#### **Prerequisites:**  \n- \ud83c\udf10 Basic understanding of how the internet works (HTTP/HTTPS, browsers, servers).  \n- \ud83d\udcbb Familiarity with basic programming concepts (variables, loops, conditionals).  \n- \ud83d\udcc4 Basic knowledge of HTML and CSS for structuring and styling web pages.  \n- \ud83d\udda5\ufe0f Understanding of JavaScript fundamentals (ES6+ syntax, DOM manipulation).  \n\n---\n\n#### **Frameworks/Libraries:**  \n- \u269b\ufe0f **Front-end:** React.js, Vue.js, or Angular for building dynamic user interfaces.  \n- \ud83d\uddc4\ufe0f **Back-end:** Express.js (Node.js), Django (Python), or Ruby on Rails for server-side development.  \n- \ud83c\udfa8 **CSS Frameworks:** Bootstrap, Tailwind CSS, or Material-UI for responsive design.  \n- \ud83d\udee0\ufe0f **Full-stack:** Next.js or Nuxt.js for server-side rendering and full-stack development.  \n\n---\n\n#### **Tools:**  \n- \ud83d\udd27 **Code Editors:** VS Code, Sublime Text, or Atom.  \n- \ud83d\udc19 **Version Control:** Git and GitHub for collaboration and version management.  \n- \ud83d\ude80 **Package Managers:** npm or Yarn for managing JavaScript libraries.  \n- \ud83e\uddea **Testing Tools:** Jest, Cypress, or Selenium for testing applications.  \n- \ud83d\udee0\ufe0f **DevOps:** Docker for containerization, and CI/CD tools like Jenkins or GitHub Actions.  \n- \ud83c\udf10 **Deployment:** Netlify, Vercel, or AWS for hosting web applications.  \n\n---"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        1100,
        -60
      ],
      "id": "a3da8da7-087b-4b7e-bc2f-bc32f2f70734",
      "name": "Framework-Suggestor"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "=Give me roles which will suit to the course :  {{ $('Basic LLM Chain').item.json.output.course }} ",
        "options": {
          "systemMessage": "You are a highly knowledgeable and efficient assistant specialized in mapping educational courses to relevant job roles. When a user provides a course name, your task is to:  \n\n1. **Analyze the Course:** Identify the skills and knowledge gained from the course.  \n2. **Map to Job Roles:** Provide a list of potential job roles and industries that align with the course content.  \n3. **Use Emojis:** Make the response visually engaging by adding relevant emojis to each job role and industry.  \n4. **Structure the Response:** Use clear headings (e.g., **Potential Job Roles**, **Industries**) and separate items with line breaks for readability.  \n5. **Clarify Ambiguity:** If the course name is too broad or unclear, suggest roles for the most common interpretations.  \n\nEnsure your responses are **clear, concise, and highly relevant**, reflecting up-to-date market trends and job demands. Do not include any introductory or concluding text\u2014just provide the job roles and industries directly in a structured format.\"\n\n---\n\n**Example Interaction:**\n\n**User Input:**  \n\"Job roles for a Web Development course.\"\n\n**Agent Response:**  \n\n---\n\n\ud83d\ude80 **Job Roles for Web Development**  \n\n**Potential Job Roles:**  \n\ud83e\udd16 Full Stack Developer  \n\n\ud83d\udcca Front-end Developer  \n\n\ud83c\udfd7\ufe0f Back-end Developer  \n\n\ud83c\udfa8 Web Designer  \n\n\ud83d\udd12 Quality Assurance Engineer  \n\n\ud83d\udca1 UI/UX Designer  \n\n\ud83d\udc68\u200d\ud83d\udcbc Webmaster  \n\n\ud83d\udc69\u200d\ud83d\udcbb Junior Web Developer  \n\n\ud83d\udcc8 Web Analyst  \n\n\ud83d\udecd\ufe0f E-commerce Developer  \n\n---\n\n**Industries:**  \n\ud83d\udcbb Technology (Startups, tech companies like Google, Facebook)  \n\n\ud83c\udfe6 Finance (Online banking, fintech solutions)  \n\n\ud83c\udfe5 Healthcare (Patient portals, telemedicine platforms)  \n\n\ud83d\uded2 E-commerce (Online stores, marketplaces like Amazon)  \n\n\ud83c\udfae Gaming (Interactive web-based games)  \n\n\ud83d\udcf0 Media (News websites, content platforms)  \n\n---"
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1.7,
      "position": [
        1520,
        -60
      ],
      "id": "d0dae23b-ff61-4e46-abfb-d28dd49235c3",
      "name": "Avilable Roles"
    },
    {
      "parameters": {
        "tableId": "messages",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "session_id",
              "fieldValue": "={{ $('Webhook').item.json.body.session_id }}"
            },
            {
              "fieldId": "message",
              "fieldValue": "={{ {\n\"type\": \"ai\",\n\"content\": $json.output,\n\"data\": {},\n\"additional_kwargs\": {},\n\"response_metadata\": {}\n} }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        1860,
        180
      ],
      "id": "8f0d4b27-259e-4ca8-a2fc-bcc9b85ab52a",
      "name": "Supabase3",
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "invoke-course-guider",
        "authentication": "headerAuth",
        "responseMode": "responseNode",
        "options": {}
      },
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [
        -280,
        -300
      ],
      "id": "bbc422b9-7402-4a04-a588-dedfe12651ad",
      "name": "Webhook",
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "tableId": "messages",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "session_id",
              "fieldValue": "={{ $('Webhook').item.json.body.session_id }}"
            },
            {
              "fieldId": "message",
              "fieldValue": "={{ { \"type\": \"human\", \"content\": $json.query, \"additional_kwargs\": {}, \"response_metadata\": {} } }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        180,
        -300
      ],
      "id": "dd712405-ff5b-4214-a8ad-780a83f0b572",
      "name": "Add user message to DB",
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "4c10f3a8-de89-4b5e-8f2d-067d33928942",
              "name": "success",
              "value": "true",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        2020,
        -60
      ],
      "id": "18da5a5c-627d-4364-897a-6627449cca96",
      "name": "Edit Fields1"
    },
    {
      "parameters": {
        "respondWith": "allIncomingItems",
        "options": {
          "responseHeaders": {
            "entries": [
              {
                "name": "X-n8n-Signature",
                "value": ""
              }
            ]
          }
        }
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.1,
      "position": [
        2240,
        -260
      ],
      "id": "ae8eaa09-b60d-42c6-938b-965dbd74f687",
      "name": "Respond to Webhook"
    },
    {
      "parameters": {
        "content": "# Course Guider\n\nAuthor: [Perumalla Venkata Naga Dhanush](https://www.linkedin.com/in/dhanush-perumalla-917b70266/)\n\nThis n8n-powered agent is your personal assistant for creating structured, engaging, and research-backed learning roadmaps, prerequisites, and job role mappings for any course. It takes a course name and duration as input, analyzes the topic, and generates tailored roadmaps, prerequisites, tools, and job role suggestions to help learners achieve their goals effectively.\n\n## Features\n- Dynamic Roadmap Generation: Breaks down any course into a step-by-step learning roadmap with clear milestones and actionable tasks.\n- Prerequisites and Tools: Identifies foundational knowledge, frameworks, and tools required to master the course.\n- Job Role Mapping: Maps course content to relevant job roles and industries, reflecting up-to-date market trends.\n- Engaging and Visual Outputs: Uses emojis and structured formatting to make content visually appealing and easy to follow.",
        "height": 463,
        "width": 691,
        "color": 6
      },
      "id": "60c51066-8a6d-43f7-9bcf-2934c8ad4d30",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -520,
        -100
      ]
    },
    {
      "parameters": {
        "model": "claude-3-5-haiku-20241022",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.2,
      "position": [
        300,
        -100
      ],
      "id": "de79b6c9-2f98-44e6-bfd7-e2c508050c8b",
      "name": "Anthropic Chat Model",
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "claude-3-5-haiku-20241022",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.2,
      "position": [
        1580,
        200
      ],
      "id": "a807ab95-819d-4f22-bc5b-6816232897aa",
      "name": "Anthropic Chat Model1",
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "claude-3-5-haiku-20241022",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.2,
      "position": [
        620,
        180
      ],
      "id": "86b6b302-bad7-4757-8c8c-81529f1a4de1",
      "name": "Anthropic Chat Model2",
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "claude-3-5-haiku-20241022",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "typeVersion": 1.2,
      "position": [
        1180,
        220
      ],
      "id": "e0f1f5b0-5fde-4a87-826a-9ec3e42b8689",
      "name": "Anthropic Chat Model3",
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "tableId": "messages",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "session_id",
              "fieldValue": "={{ $('Webhook').item.json.body.session_id }}"
            },
            {
              "fieldId": "message",
              "fieldValue": "={{ {\n\"type\": \"ai\",\n\"content\":`# Here's the guide to master ${$json.output.course}`,\n\"data\": {},\n\"additional_kwargs\": {},\n\"response_metadata\": {}\n} }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        780,
        -300
      ],
      "id": "737f5624-761c-46db-a4f0-70aa5b34db54",
      "name": "Add AI message to DB",
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Add user message to DB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain": {
      "main": [
        [
          {
            "node": "Add AI message to DB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Roadmapper Agent": {
      "main": [
        [
          {
            "node": "Supabase1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Supabase1": {
      "main": [
        [
          {
            "node": "Framework-Suggestor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Supabase2": {
      "main": [
        [
          {
            "node": "Avilable Roles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Framework-Suggestor": {
      "main": [
        [
          {
            "node": "Supabase2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Avilable Roles": {
      "main": [
        [
          {
            "node": "Supabase3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Supabase3": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add user message to DB": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "Roadmapper Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "Framework-Suggestor",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Avilable Roles",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Add AI message to DB": {
      "main": [
        [
          {
            "node": "Roadmapper Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "0ec7ff1a-1d45-40a3-ab8b-77248f739cc0",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "7FgW0ZqSyxNTpsA0",
  "tags": [
    {
      "createdAt": "2024-12-10T13:21:06.912Z",
      "updatedAt": "2024-12-10T13:21:06.912Z",
      "id": "0tXJXfH2daB7QdK5",
      "name": "studio-test"
    }
  ]
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Course Guider Agent. Uses chainLlm, outputParserStructured, agent, supabase. Webhook trigger; 19 nodes.

Source: https://github.com/DPabloFlores/ottomator-agents/blob/main/course-guider-agent/Course_Guider_Agent.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

⏺ 🚀 How it works

Agent, Anthropic Chat, Output Parser Structured +6
AI & RAG

leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.

Supabase, Gmail, Form Trigger +13
AI & RAG

Tired of grinding out YouTube content? This n8n workflow turns AI into your personal video factory—creating engaging, faceless shorts on autopilot. Perfect for creators, marketers, or side-hustlers lo

HTTP Request, Google Drive, Google Sheets +6
AI & RAG

Faceless YouTube Generator. Uses httpRequest, limit, googleDrive, googleSheets. Webhook trigger; 49 nodes.

HTTP Request, Google Drive, Google Sheets +7
AI & RAG

Content Creator. Uses lmChatOpenAi, httpRequest, supabase, outputParserStructured. Webhook trigger; 22 nodes.

OpenAI Chat, HTTP Request, Supabase +3