AI 인공지능 - 단축 링크 생성기
고급
이것은Miscellaneous, AI Chatbot분야의자동화 워크플로우로, 18개의 노드를 포함합니다.주로 Set, Code, Html, Webhook, DataTable 등의 노드를 사용하며. GPT-4.1과 데이터 저장을 사용하여 단链接 생성 및 관리
사전 요구사항
- •HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
- •OpenAI API Key
사용된 노드 (18)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "WmHtnpnkARE1wVqs",
"meta": {
"instanceId": "a0e41110bf9f611e96e18e0663d80d746aeedc58368940bfe471a8d577a5069b",
"templateCredsSetupCompleted": true
},
"name": "AI Agent - Short Link Generator",
"tags": [],
"nodes": [
{
"id": "6c7043d8-e091-4e50-a661-f1047576c565",
"name": "행 삽입",
"type": "n8n-nodes-base.dataTable",
"position": [
-16,
-144
],
"parameters": {
"columns": {
"value": {
"orginalLink": "={{ $('GenerateShortLink').item.json.originalLink }}",
"shortlinkId": "={{ $json.shortLinkId }}"
},
"schema": [
{
"id": "orginalLink",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "orginalLink",
"defaultMatch": false
},
{
"id": "shortlinkId",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "shortlinkId",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "MzE4aKh7Wsv4N0Cv",
"cachedResultUrl": "/projects/pjq2PmuJxpMOPZST/datatables/MzE4aKh7Wsv4N0Cv",
"cachedResultName": "ShortLink"
}
},
"typeVersion": 1
},
{
"id": "310ecc62-f469-42d8-bb15-8795e0aef955",
"name": "단축링크ID 생성",
"type": "n8n-nodes-base.code",
"position": [
-240,
-144
],
"parameters": {
"jsCode": "\nvar length = 4;\n const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n let result = '';\n for (let i = 0; i < length; i++) {\n const randomIndex = Math.floor(Math.random() * chars.length);\n result += chars[randomIndex];\n }\n\n return [{ shortLinkId: result }];\n"
},
"typeVersion": 2
},
{
"id": "1a615458-ea3c-4336-b9fd-602844b36f5d",
"name": "행 가져오기",
"type": "n8n-nodes-base.dataTable",
"position": [
-464,
80
],
"parameters": {
"filters": {
"conditions": [
{
"keyName": "shortlinkId",
"keyValue": "={{ $json.query.a }}"
}
]
},
"operation": "get",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "MzE4aKh7Wsv4N0Cv",
"cachedResultUrl": "/projects/pjq2PmuJxpMOPZST/datatables/MzE4aKh7Wsv4N0Cv",
"cachedResultName": "ShortLink"
}
},
"typeVersion": 1
},
{
"id": "2c2ace57-bb37-43b5-a606-122e38928bb2",
"name": "채팅 메시지 수신 시",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-688,
-576
],
"webhookId": "a282c57a-a0b2-43d9-9fe5-fdd3b61ad585",
"parameters": {
"public": true,
"options": {}
},
"typeVersion": 1.3
},
{
"id": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-352,
-576
],
"parameters": {
"options": {
"systemMessage": "You are a helpful assistant.\n"
}
},
"typeVersion": 2.2
},
{
"id": "c10cdd53-ddaa-4701-922c-5788c3f41759",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-480,
-368
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "2TBvwobWbbHlIjKT",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "8d9e3709-0fb7-4fbc-9c1d-f3f74878e6bc",
"name": "심플 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
-256,
-368
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "1e495a59-c48b-4887-a9c1-19c53072a591",
"name": "단축링크 생성",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
-688,
-144
],
"parameters": {
"inputSource": "jsonExample",
"jsonExample": "\n{\n\"originalLink\": \n\"https://www.nghiaai.dev/\"\n}"
},
"typeVersion": 1.1
},
{
"id": "4e019563-fc6f-4ec7-b79e-1817cd35e411",
"name": "설정",
"type": "n8n-nodes-base.set",
"position": [
-464,
-144
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5c7030c4-c308-4e95-a78d-c32d8a252df4",
"name": "your_webhook_url",
"type": "string",
"value": "http://localhost:5678"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "290c7c96-1cc9-432a-806e-6f2b04fe92a5",
"name": "단축 링크 생성",
"type": "n8n-nodes-base.code",
"position": [
208,
-144
],
"parameters": {
"jsCode": "var your_webhook_url = $('Config').first().json.your_webhook_url;\nvar shortLinkId = $('Generate shorlinkId').first().json.shortLinkId\nvar shortLink = your_webhook_url + \"/webhook/shortLink?a=\" + shortLinkId;\nreturn [{ shortLink: shortLink }];"
},
"typeVersion": 2
},
{
"id": "1a2213c2-c423-49a0-a2b1-939109d30391",
"name": "'단축 링크 생성' 호출",
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"position": [
-48,
-368
],
"parameters": {
"workflowId": {
"__rl": true,
"mode": "list",
"value": "WmHtnpnkARE1wVqs",
"cachedResultUrl": "/workflow/WmHtnpnkARE1wVqs",
"cachedResultName": "Create Short Link"
},
"description": "Call this tool to get short link",
"workflowInputs": {
"value": {
"originalLink": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('originalLink', ``, 'string') }}"
},
"schema": [
{
"id": "originalLink",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "originalLink",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "host",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "host",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
}
},
"typeVersion": 2.2
},
{
"id": "49807a5c-8c1a-4a6d-9e1b-b6d0ea72ff92",
"name": "페이지 리디렉션",
"type": "n8n-nodes-base.html",
"position": [
-240,
80
],
"parameters": {
"html": "<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\" />\n <title>Redirecting…</title>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <!-- Optional: meta refresh as a no-JS fallback -->\n <meta http-equiv=\"refresh\" content=\"0; url={{ $json.orginalLink }}\" />\n <script>\n // Use replace() so it doesn't create an extra history entry\n location.replace({{ $json.orginalLink }});\n </script>\n <style>\n body {font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; display:grid; place-content:center; min-height:100vh;}\n a {text-decoration: none;}\n </style>\n</head>\n<body>\n <p>Redirecting… If nothing happens, <a href=\"{{ $json.orginalLink }}\">click here</a>.</p>\n</body>\n</html>\n"
},
"typeVersion": 1.2
},
{
"id": "d6732527-8565-4d7d-8bf5-77f02eba0462",
"name": "응답",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
-16,
80
],
"parameters": {
"options": {},
"respondWith": "text",
"responseBody": "={{ $json.html }}"
},
"typeVersion": 1.4
},
{
"id": "866a4e41-ff4f-4eda-8be8-0e584285318b",
"name": "단축링크 API",
"type": "n8n-nodes-base.webhook",
"position": [
-688,
80
],
"webhookId": "b280e565-5037-4752-ba2c-547e4b52531c",
"parameters": {
"path": "shortLink",
"options": {},
"responseMode": "responseNode"
},
"typeVersion": 2.1
},
{
"id": "ad474ea3-02bb-4770-88b0-8bba2c5ad859",
"name": "스티커 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
-656
],
"parameters": {
"width": 336,
"height": 896,
"content": "## Setup Guide\n1. Add your_webhook_url to the 'Config' Node.\n2. Set up OpenAI account\n3. Create a database table named ShortLink with the following columns:\n- originalLink\n- shortLinkId\n"
},
"typeVersion": 1
},
{
"id": "4903952a-5da7-4bee-b945-550c0a636b7e",
"name": "스티커 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-784,
-656
],
"parameters": {
"color": 4,
"width": 1168,
"height": 448,
"content": "## Agent "
},
"typeVersion": 1
},
{
"id": "05b8c558-4503-45a9-8c5d-52809d60f0d6",
"name": "스티커 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-784,
-208
],
"parameters": {
"color": 5,
"width": 1168,
"height": 224,
"content": "## Create Short Link"
},
"typeVersion": 1
},
{
"id": "5ba8e271-d542-42e9-8cab-fac08171c120",
"name": "스티커 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-784,
16
],
"parameters": {
"color": 3,
"width": 1168,
"height": 224,
"content": "## Process Short Link Requests\n"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "be460863-5692-4397-a9d3-c94e69d2c6b3",
"connections": {
"4e019563-fc6f-4ec7-b79e-1817cd35e411": {
"main": [
[
{
"node": "310ecc62-f469-42d8-bb15-8795e0aef955",
"type": "main",
"index": 0
}
]
]
},
"1a615458-ea3c-4336-b9fd-602844b36f5d": {
"main": [
[
{
"node": "49807a5c-8c1a-4a6d-9e1b-b6d0ea72ff92",
"type": "main",
"index": 0
}
]
]
},
"6c7043d8-e091-4e50-a661-f1047576c565": {
"main": [
[
{
"node": "290c7c96-1cc9-432a-806e-6f2b04fe92a5",
"type": "main",
"index": 0
}
]
]
},
"49807a5c-8c1a-4a6d-9e1b-b6d0ea72ff92": {
"main": [
[
{
"node": "d6732527-8565-4d7d-8bf5-77f02eba0462",
"type": "main",
"index": 0
}
]
]
},
"866a4e41-ff4f-4eda-8be8-0e584285318b": {
"main": [
[
{
"node": "1a615458-ea3c-4336-b9fd-602844b36f5d",
"type": "main",
"index": 0
}
]
]
},
"8d9e3709-0fb7-4fbc-9c1d-f3f74878e6bc": {
"ai_memory": [
[
{
"node": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
"type": "ai_memory",
"index": 0
}
]
]
},
"1e495a59-c48b-4887-a9c1-19c53072a591": {
"main": [
[
{
"node": "4e019563-fc6f-4ec7-b79e-1817cd35e411",
"type": "main",
"index": 0
}
]
]
},
"c10cdd53-ddaa-4701-922c-5788c3f41759": {
"ai_languageModel": [
[
{
"node": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"310ecc62-f469-42d8-bb15-8795e0aef955": {
"main": [
[
{
"node": "6c7043d8-e091-4e50-a661-f1047576c565",
"type": "main",
"index": 0
}
]
]
},
"1a2213c2-c423-49a0-a2b1-939109d30391": {
"ai_tool": [
[
{
"node": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
"type": "ai_tool",
"index": 0
}
]
]
},
"2c2ace57-bb37-43b5-a606-122e38928bb2": {
"main": [
[
{
"node": "af6bae57-7f02-4b14-b5a0-f4d852321a62",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 기타, AI 챗봇
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
시각화 참조 라이브러리에서 n8n 노드를 탐색
可视化 참조 라이브러리에서 n8n 노드를 탐색
If
Ftp
Set
+
If
Ftp
Set
113 노드I versus AI
기타
GPT-4o 채팅 인터페이스와 시각적 보고서를 갖춘 인터랙티브 Snowflake 데이터 브라우저 생성
GPT-4o 채팅 인터페이스와 시각적 보고서를 포함한 인터랙티브 Snowflake 데이터 브라우저를 만듭니다.
If
Set
Webhook
+
If
Set
Webhook
28 노드Mark Shcherbakov
내부 위키
GPT-4를 사용하여 플레이리스트 생성 및 Spotify 플레이어 제어
GPT-4를 사용하여 플레이리스트 생성 및 Spotify 플레이어 제어
Set
Code
Spotify
+
Set
Code
Spotify
29 노드Guillaume Duvernay
개인 생산성
[템플릿] - 대시보드 채팅
AI 모델 대시보드 사용: LLM 워크플로우의 토큰 지표 및 비용 추적
N8n
Set
Code
+
N8n
Set
Code
30 노드Hugo
브랜드화 AI 추동 웹사이트 채팅 로봇 생성
브랜드화된 AI 드라이브드 웹사이트 채팅 로봇 생성
If
Set
Code
+
If
Set
Code
24 노드Wayne Simpson
제품
OpenAI 임베딩을 사용한 BigQuery RAG
BigQuery RAG 및 OpenAI를 사용하여 문서 관련 질문에 답변
Set
Http Request
Agent
+
Set
Http Request
Agent
24 노드Dataki
기타
워크플로우 정보
난이도
고급
노드 수18
카테고리2
노드 유형13
저자
Nghia Nguyen
@nghiaaidevI am Nguyen Trung Nghia, a Software Engineer passionate about AI Automation. I build intelligent automation systems that help businesses reduce costs, increase productivity, and scale faster with the power of AI technology.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유