Thread와 Think Interface를 포함한 Slack AI 채팅 로봇을 만들기(OpenRouter와 Postgres)
중급
이것은Support Chatbot, AI Chatbot분야의자동화 워크플로우로, 12개의 노드를 포함합니다.주로 If, Slack, HttpRequest, SlackTrigger, Agent 등의 노드를 사용하며. OpenRouter와 Postgres를 사용하여 스레드와 인터페이스를 포함한 Slack AI 채팅 로봇을 생성합니다.
사전 요구사항
- •Slack Bot Token 또는 Webhook URL
- •대상 API의 인증 정보가 필요할 수 있음
- •PostgreSQL 데이터베이스 연결 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"meta": {
"instanceId": "9192ad8880fb52b25f18408be81eae9d996a6784a1da3c68d52d3b7ef01d482b",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "7436eb20-9360-4219-8c2b-8b56eb3843ec",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-80,
160
],
"parameters": {
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "muXopBcyQsze8BOD",
"name": "OpenRouter | Paper Jam"
}
},
"typeVersion": 1
},
{
"id": "9601c9d7-41c0-44da-8a9c-97956711bd07",
"name": "AI 에이전트",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-80,
-20
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "You are a helpful, friendly, assistant. \n\nYou always respond only nicely formatted markdown where appropriate."
},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "23df5bee-5095-4c8d-9f78-c62119734332",
"name": "NoOp",
"type": "n8n-nodes-base.noOp",
"position": [
-60,
440
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0442b3d9-2149-49b6-9cc8-af92d1ed036c",
"name": "On Message Received",
"type": "n8n-nodes-base.slackTrigger",
"position": [
-860,
80
],
"webhookId": "cf67c1e1-f3db-401e-9439-c0f315c05baf",
"parameters": {
"options": {
"resolveIds": false
},
"trigger": [
"message"
],
"channelId": {
"__rl": true,
"mode": "id",
"value": "YOUR_APPS_CHANNEL_ID"
}
},
"credentials": {
"slackApi": {
"id": "awboaOk6Kh1kQZ7N",
"name": "Slack | Paper Jam"
}
},
"typeVersion": 1
},
{
"id": "d9efc43e-b1c1-48c0-8c68-42304c752645",
"name": "Check If User",
"type": "n8n-nodes-base.if",
"position": [
-480,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ab6c4d27-4daf-4c6f-9ad5-866f6cb62758",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.bot_id }}",
"rightValue": ""
},
{
"id": "211e32ac-a544-46f4-8ce9-9a41674c4184",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.text }}",
"rightValue": ""
},
{
"id": "6160af99-6beb-4858-95e6-16e808c22581",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.type }}",
"rightValue": "message"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "99ccfdff-4fd1-4cff-99e0-7a2620735ff8",
"name": "설정 Thinking Status",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
-400
],
"parameters": {
"url": "https://slack.com/api/assistant.threads.setStatus",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "channel_id",
"value": "={{ $json.channel }}"
},
{
"name": "status",
"value": "is thinking..."
},
{
"name": "thread_ts",
"value": "={{ $json.thread_ts }}"
}
]
},
"genericAuthType": "httpBearerAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "Pp3oG0nadbpd6DqZ",
"name": "Jina Bearer Token | Paper Jam"
}
},
"typeVersion": 4.2
},
{
"id": "f1bbe14d-9274-4e7a-804a-dd65b6efca24",
"name": "Send Reply",
"type": "n8n-nodes-base.slack",
"position": [
560,
60
],
"webhookId": "f23b3a3c-b618-4d39-a5f0-4d85c65519af",
"parameters": {
"text": "={{ $json.output }}",
"select": "channel",
"blocksUi": "={\n \"blocks\": [\n { \n \"type\": \"markdown\", \n \"text\": {{ JSON.stringify($json.output) }}\n }\n ]\n}\n\n",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $('On Message Received').item.json.channel }}"
},
"messageType": "block",
"otherOptions": {
"mrkdwn": true,
"thread_ts": {
"replyValues": {
"thread_ts": "={{ $('On Message Received').item.json.ts }}"
}
},
"includeLinkToWorkflow": false
}
},
"credentials": {
"slackApi": {
"id": "awboaOk6Kh1kQZ7N",
"name": "Slack | Paper Jam"
}
},
"typeVersion": 2.3
},
{
"id": "484b674d-be92-49a9-9a0d-a4f9747dc5bb",
"name": "메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-940,
-40
],
"parameters": {
"color": 7,
"width": 300,
"height": 280,
"content": "## Listen for a DM\n\n**IMPORTANT**: Enter your Slack app's ID in the \"Channel to Watch\" field."
},
"typeVersion": 1
},
{
"id": "fdd9665d-b7c1-4a1d-b84d-6113ffb88a55",
"name": "메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-580,
-40
],
"parameters": {
"color": 7,
"width": 300,
"height": 280,
"content": "## Filter out noise\n\nWe only care about user messages."
},
"typeVersion": 1
},
{
"id": "c7cc385d-189f-4fb0-9901-8acbd4696e0c",
"name": "메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-120,
-560
],
"parameters": {
"color": 7,
"width": 360,
"height": 360,
"content": "## Activate loading UI\n\nThis HTTP POST request will trigger the \"three dots\" thinking UI in the message thread. Slack automatically removes this UI when our app responds."
},
"typeVersion": 1
},
{
"id": "07c2ebc0-bc20-4584-bf87-31788aa1646d",
"name": "메모3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-160,
-140
],
"parameters": {
"color": 7,
"width": 440,
"height": 460,
"content": "## Customize your agent here\n\nThe agent is the brains of your chatbot. Customize the prompts and tooling however you need."
},
"typeVersion": 1
},
{
"id": "242fa108-e421-4428-814d-b4ebf967f12d",
"name": "Postgres 채팅 메모리",
"type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"position": [
60,
160
],
"parameters": {
"tableName": "chat_histories",
"sessionKey": "={{ $('On Message Received').item.json.thread_ts }}",
"sessionIdType": "customKey"
},
"credentials": {
"postgres": {
"id": "td26YI5S9ozNu8dq",
"name": "Postgres | Paper Jam n8n"
}
},
"typeVersion": 1.3
}
],
"pinData": {},
"connections": {
"AI Agent": {
"main": [
[
{
"node": "f1bbe14d-9274-4e7a-804a-dd65b6efca24",
"type": "main",
"index": 0
}
]
]
},
"d9efc43e-b1c1-48c0-8c68-42304c752645": {
"main": [
[
{
"node": "Set Thinking Status",
"type": "main",
"index": 0
},
{
"node": "AI Agent",
"type": "main",
"index": 0
}
],
[
{
"node": "23df5bee-5095-4c8d-9f78-c62119734332",
"type": "main",
"index": 0
}
]
]
},
"0442b3d9-2149-49b6-9cc8-af92d1ed036c": {
"main": [
[
{
"node": "d9efc43e-b1c1-48c0-8c68-42304c752645",
"type": "main",
"index": 0
}
]
]
},
"Postgres Chat Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"7436eb20-9360-4219-8c2b-8b56eb3843ec": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 지원 챗봇, AI 챗봇
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Telegram 지원 인계 자동화
GPT4 및 이메일 알림을 사용한 Telegram 지원 AI-인간 전환 자동화
If
Set
Switch
+
If
Set
Switch
40 노드Meelioo
지원 챗봇
Explorium MCP - Slack 로봇
Explorium MCP와 Claude AI를 사용한 Slack 비즈니스 인텔리전스 어시스턴트
If
Set
Code
+
If
Set
Code
13 노드explorium
지원 챗봇
Slack 후보자 평가를 위한 AI 기반 챗봇 구축
AI 이력서 분석 및 후보자 평가: Slack과 Google 스프레드시트 통합
If
Code
Slack
+
If
Code
Slack
29 노드Trung Tran
AI 챗봇
🚀 Shopify 브랜드를 위한 AI 기반 WhatsApp 고객 지원
Shopify 브랜드용 AI 기반 WhatsApp 고객 지원(LLM 에이전트)
Set
Slack
Switch
+
Set
Slack
Switch
30 노드Ruthwik
기타
비즈니스 AI 지휘 센터: Google Workspace 모듈화 대리자, 벡터 검색 및 다중 채널 보고
상업 AI 지휘 센터: Google Workspace 모듈화 대리자, 벡터 검색 및 다중 채널 보고
Set
Gmail
Slack
+
Set
Gmail
Slack
80 노드Paul
문서 추출
드림 100 연구 에이전트
사용하여 Perplexity AI 연구와 Google Sheets를 통해 Dream 100 잠재 고객 목록 생성
If
Set
Slack
+
If
Set
Slack
29 노드Brandon True
기타
워크플로우 정보
난이도
중급
노드 수12
카테고리2
노드 유형9
저자
James Francis
@paperjam👋 Hi, I'm James. I run an AI automation agency focused on building small, focused workflows that have a direct and measurable impact on business growth or optimization.
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유