n8n, Automation Tool
n8n, Slack Block Kit(2)
그때 그때 끄적
2025. 6. 18. 20:56
반응형
https://cord-ai.tistory.com/225
n8n, Slack Block Kit
📌 Slack Block Kit이란?Slack Block Kit은 메시지를 시각적으로 더 풍부하고 인터랙티브하게 구성할 수 있게 해주는 Slack의 UI 구성 도구입니다.텍스트, 버튼, 드롭다운, 이미지 등 다양한 구성 요소를 JS
cord-ai.tistory.com
더보기

Webhook URL 변경 방법
n8n에서 Webhook 노드를 만들면 아래처럼 알 수 없는 UUID 형태의 경로가 자동으로 생성됩니다.

/webhook-test/<Path수정 가능>
처음엔 “이거 못 바꾸는 거 아니야?”라는 생각이 들 수 있지만,
실제로는 원하는 대로 바꿀 수 있습니다.
🔧 Webhook URL 커스텀 방법
1. Webhook 노드를 선택
- Path 항목에 보이는 기본 UUID 경로를 확인
2. 원하는 이름으로 변경
예를 들어, 다음과 같이 바꿔보세요:
Path: slack-action
그러면 전체 Webhook URL은 아래처럼 됩니다:
https://.../webhook-test/slack-action
📌 주의사항
- 경로(Path)를 바꾼 후에는 워크플로우를 저장해야 합니다.
- Slack App의 Interactivity Request URL도 바뀐 또는 새로 등록할 URL에 맞게 갱신해야 정상 작동합니다.
Slack API: Applications | Slack
Your Apps Don't see an app you're looking for? Sign in to another workspace.
api.slack.com
🧠 Slack의 Interactivity URL 제한
- Slack 앱은 Interactivity URL을 1개만 설정 가능
- 즉, 버튼이나 메뉴 등 모든 인터랙션은 하나의 Webhook으로만 전달됨
- 그렇다면 어떻게 단계별로 다른 기능을 연결할 수 있을까?
🔑 핵심 개념: action_id 기반 분기 처리
- 각 버튼/블록에 고유한 action_id를 지정
- n8n에서는 Slack Trigger → Switch 또는 IF 노드로 action_id 값을 확인하고 흐름 분기
예시:
{
"type": "button",
"text": { "type": "plain_text", "text": "디테일 분석" },
"action_id": "detail_request"
}
📈 처리 흐름 예시:
- Slack 메시지 → 버튼 클릭
- Slack Trigger에서 event.type == 'block_actions'인 경우만 수신
- Switch 노드로 action_id에 따라 다음 분기:
- action_id == "summary_request" → GPT로 뉴스 요약
- action_id == "stock_check" → MCP 활용 주식 데이터 크롤링
- action_id == "more_option" → 추가 Block Kit 메시지 전송 등
- 각 분기 흐름에서 별도 OpenAI, Firecrawl, Slack 메시지 발송 등 처리
반응형