AI 기반 학생 어시스턴트(Twilio SMS를 통한 코스 정보 제공)
중급
이것은AI분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 Set, Twilio, Airtable, AirtableTool, TwilioTrigger 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. AI 기반 학생 어시스턴트(Twilio SMS 통해 강의 정보 제공)
사전 요구사항
- •Airtable API Key
- •OpenAI API Key
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "c2429079-50b7-4da8-9fe4-9a1879bd681c",
"name": "Twilio Trigger",
"type": "n8n-nodes-base.twilioTrigger",
"position": [
-380,
-460
],
"webhookId": "47604448-e049-480d-899e-d3318a93276b",
"parameters": {
"updates": [
"com.twilio.messaging.inbound-message.received"
]
},
"credentials": {
"twilioApi": {
"id": "TJv4H4lXxPCLZT50",
"name": "Twilio account"
}
},
"typeVersion": 1
},
{
"id": "b1c0dc4c-593f-49aa-8fec-a77c7e40928e",
"name": "개설 교과목 검색",
"type": "n8n-nodes-base.airtableTool",
"position": [
380,
-80
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appO5xvP1aUBYKyJ7",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7",
"cachedResultName": "Northvale Institute of Technology Courses 2025-2026"
},
"limit": 5,
"table": {
"__rl": true,
"mode": "list",
"value": "tblRfh0t0KNSJYJVw",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7/tblRfh0t0KNSJYJVw",
"cachedResultName": "Imported table"
},
"options": {},
"operation": "search",
"returnAll": false,
"descriptionType": "manual",
"filterByFormula": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Filter_By_Formula', ``, 'string') }}",
"toolDescription": "Call this tool to access the course database. Ensure you have the course database schema before using this tool."
},
"credentials": {
"airtableTokenApi": {
"id": "Und0frCQ6SNVX3VV",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "ad06d5f6-cd6d-4804-b633-cf065866f41e",
"name": "교과목 DB 스키마 조회",
"type": "n8n-nodes-base.airtableTool",
"position": [
240,
-160
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appO5xvP1aUBYKyJ7",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7",
"cachedResultName": "Northvale Institute of Technology Courses 2025-2026"
},
"resource": "base",
"operation": "getSchema",
"descriptionType": "manual",
"toolDescription": "Call this tool to get the course database schema."
},
"credentials": {
"airtableTokenApi": {
"id": "Und0frCQ6SNVX3VV",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "7d16ef89-3e63-4f64-9470-eb1bf9c76ece",
"name": "사용자 메시지 수신",
"type": "n8n-nodes-base.set",
"position": [
-160,
-460
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5ca2fffb-2926-42df-ae2b-95ba081345ef",
"name": "message",
"type": "string",
"value": "={{ $json.Body || $json.chatInput }}"
},
{
"id": "3bfdb166-0ab1-44b9-b6e4-ce6ad52a465c",
"name": "sessionId",
"type": "string",
"value": "={{ $json.From || $json.sessionId }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b2b03e59-2c1d-4852-a8a6-37fb20f38b55",
"name": "SMS 답신 발송",
"type": "n8n-nodes-base.twilio",
"position": [
660,
-460
],
"parameters": {
"to": "={{ $json.fields.from }}",
"from": "={{ $('Twilio Trigger').item.json.To }}",
"message": "={{ $('Course Assistant Agent').item.json.output }}",
"options": {}
},
"credentials": {
"twilioApi": {
"id": "TJv4H4lXxPCLZT50",
"name": "Twilio account"
}
},
"typeVersion": 1
},
{
"id": "c07ba0c0-2e22-48fc-bca9-cbaeb221ccf9",
"name": "통신 기록 추가",
"type": "n8n-nodes-base.airtable",
"position": [
440,
-460
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appO5xvP1aUBYKyJ7",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7",
"cachedResultName": "Northvale Institute of Technology Courses 2025-2026"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblRFuaayw0En6T0c",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7/tblRFuaayw0En6T0c",
"cachedResultName": "Call Log"
},
"columns": {
"value": {
"from": "={{ $('Get User Message').first().json.sessionId }}",
"answer": "={{ $json.output }}",
"question": "={{ $('Get User Message').first().json.message }}"
},
"schema": [
{
"id": "from",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "from",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "question",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "question",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "answer",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "answer",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "Created",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "Und0frCQ6SNVX3VV",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "ba7b4d7b-7b78-41f0-b158-3d1f09d14120",
"name": "수업 도우미 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
60,
-460
],
"parameters": {
"text": "={{ $json.message }}",
"options": {
"systemMessage": "=You are a course enquiry assistant for the Northvale Institute of Technology helping students with various questions about the available courses for the year.\n* Answer factually and source the information from the course database to ensure you have updated information.\n* Avoid answering or engaging in any discussion not related to the Northvale Institute of Technology courses and instead, direct the student to contact helpdesk@northvale.edu.\n* always query the course database schema before using tools.\n\nNote: The airtable filter by query syntax was updated\n* Wrap your query in AND() or OR() to join parameters.\n* To filter select or multiple select finds, use the FIND() operation. eg. AND({Schedule_from}>=900, FIND('Wed', {Schedule_day}))\n* times should be inclusive unless otherwise stated. Use the >= or <= operators."
},
"promptType": "define"
},
"typeVersion": 1.8
},
{
"id": "3c790125-6665-4a0c-85b4-397e71faae35",
"name": "교수 목록 조회",
"type": "n8n-nodes-base.airtableTool",
"position": [
560,
-180
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appO5xvP1aUBYKyJ7",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7",
"cachedResultName": "Northvale Institute of Technology Courses 2025-2026"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblRfh0t0KNSJYJVw",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7/tblRfh0t0KNSJYJVw",
"cachedResultName": "Imported table"
},
"options": {
"fields": [
"Instructor"
]
},
"operation": "search",
"descriptionType": "manual",
"toolDescription": "Call this tool to get a list of active professors."
},
"credentials": {
"airtableTokenApi": {
"id": "Und0frCQ6SNVX3VV",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "27aacf1e-b8a7-46d0-915e-0481d9608251",
"name": "학과 목록 조회",
"type": "n8n-nodes-base.airtableTool",
"position": [
500,
-20
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appO5xvP1aUBYKyJ7",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7",
"cachedResultName": "Northvale Institute of Technology Courses 2025-2026"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblRfh0t0KNSJYJVw",
"cachedResultUrl": "https://airtable.com/appO5xvP1aUBYKyJ7/tblRfh0t0KNSJYJVw",
"cachedResultName": "Imported table"
},
"options": {
"fields": [
"Department"
]
},
"operation": "search",
"descriptionType": "manual",
"toolDescription": "Call this tool to get a list of departments."
},
"credentials": {
"airtableTokenApi": {
"id": "Und0frCQ6SNVX3VV",
"name": "Airtable Personal Access Token account"
}
},
"typeVersion": 2.1
},
{
"id": "f1991f1f-9666-43d9-88ce-a2c083491a78",
"name": "Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-40,
-240
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8gccIjcuf3gvaoEr",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "2afd9d28-a1ba-4364-a576-ed3e86c640b6",
"name": "Memory",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
100,
-240
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "774472f7-eb3d-4251-97e3-8e4033a0cf4f",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-940,
-1100
],
"parameters": {
"width": 420,
"height": 1320,
"content": "## Try It Out!\n### This n8n template offers a simple yet capable chatbot assistant who can answer course enquiries over SMS.\n\nGiven the right access to data, AI Agents are capable of planning and performing relatively complex research tasks to get their answers. In this example, the agent must first understand the database schema, retrieve lists of values before generating it's own query to search over the database.\n\n**Checkout the example database here - https://airtable.com/appO5xvP1aUBYKyJ7/shr8jSFDaghubDOrw**\n\n### How it works\n* A Twilio trigger gives us the ability to receive SMS input into our workflow via webhook.\n* The message is then directed to our AI agent who is instructed to assist the user and use the course database as reference. The database is an Airtable base.\n* The agent autonomously figures out which tool it needs to use and generates it's own \"filter_by_formula\" query to search over the available courses.\n* On successful search results, the Agent can then use this information to answer the user's query.\n* The Agent's output is logged in a second sheet of the Airtable base. We can use this later for analysis and lead gen.\n* Finally, the response is sent back to the user through SMS using Twilio.\n\n### How to use\n* Ensure your Twilio number is set to forward messages to this workflow's webhook URL.\n* Configure and update the course database as required. If you're not interested in courses, you can swap this out for inventory, deliveries or any other data relevant to your business.\n* Ask questions like:\n * \"Can you help me find suitable courses to fill my Wednesday mornings?\"\n * \"Which courses are being instructed by profession Lee?\"\n * \"I'm interested in creative arts. What courses are available which could be relevant to me?\"\n\n### Requirements\n* Twilio for SMS receiving and sending\n* OpenAI for LLM and Agent\n* Airtable for Course Database\n\n### Customising this workflow\n* Add additional tools and expand the range of queries the agent is able to answer or assist with.\n* Not using Airtable? This technique also works with SQL databases like PostgreSQL.\n\n### Need Help?\nJoin the [Discord](https://discord.com/invite/XPKeKXeB7d) or ask in the [Forum](https://community.n8n.io/)!\n\nHappy Hacking!"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"f1991f1f-9666-43d9-88ce-a2c083491a78": {
"ai_languageModel": [
[
{
"node": "ba7b4d7b-7b78-41f0-b158-3d1f09d14120",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"2afd9d28-a1ba-4364-a576-ed3e86c640b6": {
"ai_memory": [
[
{
"node": "ba7b4d7b-7b78-41f0-b158-3d1f09d14120",
"type": "ai_memory",
"index": 0
}
]
]
},
"c2429079-50b7-4da8-9fe4-9a1879bd681c": {
"main": [
[
{
"node": "7d16ef89-3e63-4f64-9470-eb1bf9c76ece",
"type": "main",
"index": 0
}
]
]
},
"7d16ef89-3e63-4f64-9470-eb1bf9c76ece": {
"main": [
[
{
"node": "ba7b4d7b-7b78-41f0-b158-3d1f09d14120",
"type": "main",
"index": 0
}
]
]
},
"c07ba0c0-2e22-48fc-bca9-cbaeb221ccf9": {
"main": [
[
{
"node": "b2b03e59-2c1d-4852-a8a6-37fb20f38b55",
"type": "main",
"index": 0
}
]
]
},
"ba7b4d7b-7b78-41f0-b158-3d1f09d14120": {
"main": [
[
{
"node": "c07ba0c0-2e22-48fc-bca9-cbaeb221ccf9",
"type": "main",
"index": 0
}
]
]
},
"3c790125-6665-4a0c-85b4-397e71faae35": {
"ai_tool": [
[
{
"node": "ba7b4d7b-7b78-41f0-b158-3d1f09d14120",
"type": "ai_tool",
"index": 0
}
]
]
},
"27aacf1e-b8a7-46d0-915e-0481d9608251": {
"ai_tool": [
[
{
"node": "ba7b4d7b-7b78-41f0-b158-3d1f09d14120",
"type": "ai_tool",
"index": 0
}
]
]
},
"b1c0dc4c-593f-49aa-8fec-a77c7e40928e": {
"ai_tool": [
[
{
"node": "ba7b4d7b-7b78-41f0-b158-3d1f09d14120",
"type": "ai_tool",
"index": 0
}
]
]
},
"ad06d5f6-cd6d-4804-b633-cf065866f41e": {
"ai_tool": [
[
{
"node": "ba7b4d7b-7b78-41f0-b158-3d1f09d14120",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 인공지능
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
25. Twilio와 Redis를 사용하여 고객 채팅 경험 강화
사용Twilio및Redis缓冲메시지功能增强고객채팅体验
If
Set
Wait
+
If
Set
Wait
18 노드Jimleuk
지원
Qdrant, Mistral.ai, OpenAI를 사용하여 세금 법률 어시스턴트를 구축합니다.
Qdrant, Mistral.ai, OpenAI를 사용하여 세금 법률 어시스턴트를 구축합니다.
Set
Wait
Filter
+
Set
Wait
Filter
38 노드Jimleuk
금융
빌드 커스텀 n8n 워크플로우 MCP 서버
구축할 수 있는 개별 n8n 워크플로우 MCP 서버
If
N8n
Set
+
If
N8n
Set
46 노드Jimleuk
기타
OpenAI 및 Redis 세션 관리를 사용한 채팅 지원 고객 인증
OpenAI와 Redis 세션 관리를 사용한 채팅 지원 고객 인증
Set
Form
Redis
+
Set
Form
Redis
19 노드Jimleuk
지원
4. 이메일 구독 서비스 - n8n 양식, Airtable 및 AI
이메일 구독 서비스 - n8n 양식, Airtable 및 AI 통합
Set
Code
Gmail
+
Set
Code
Gmail
32 노드Jimleuk
인공지능
OpenAI 드라이버의 Outlook 어시스턴트를 사용하여 Slack으로 일정 이벤트 관리
OpenAI 드라이브드 Outlook 어시스턴트를 통해 Slack을 사용하여 일정 이벤트 관리
If
Set
Slack
+
If
Set
Slack
16 노드Jimleuk
인공지능
워크플로우 정보
난이도
중급
노드 수12
카테고리1
노드 유형9
저자
Jimleuk
@jimleukFreelance consultant based in the UK specialising in AI-powered automations. I work with select clients tackling their most challenging projects. For business enquiries, send me an email at hello@jimle.uk LinkedIn: https://www.linkedin.com/in/jimleuk/ X/Twitter: https://x.com/jimle_uk
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유