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
 

📌 주의사항

  1. 경로(Path)를 바꾼 후에는 워크플로우를 저장해야 합니다.
  2. 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"
}

📈 처리 흐름 예시:

  1. Slack 메시지 → 버튼 클릭
  2. Slack Trigger에서 event.type == 'block_actions'인 경우만 수신
  3. Switch 노드로 action_id에 따라 다음 분기:
    • action_id == "summary_request" → GPT로 뉴스 요약
    • action_id == "stock_check" → MCP 활용 주식 데이터 크롤링
    • action_id == "more_option" → 추가 Block Kit 메시지 전송 등
  4. 각 분기 흐름에서 별도 OpenAI, Firecrawl, Slack 메시지 발송 등 처리
반응형