RECIPE 058
SNS 언급 모니터링 → 브랜드 알림
- ▸Twitter/X, Reddit에서 브랜드명/키워드 실시간 모니터링
- ▸신규 언급 발견 시 Slack으로 즉시 알림
- ▸긍정/부정 언급 자동 분류 후 대응 우선순위 설정
✅사전 준비
- □Twitter/X API v2 Bearer Token 발급 (https://developer.twitter.com)
- □Reddit API 자격증명 설정 (https://www.reddit.com/prefs/apps)
- □모니터링할 키워드 목록 확정
- □Slack 웹훅 URL 준비
Twitter/X 키워드 검색 API
Node: HTTP Request
Method: GET
URL: https://api.twitter.com/2/tweets/search/recent
Query Parameters:
query: YOUR_BRAND_NAME -is:retweet lang:ko
max_results: 10
tweet.fields: created_at,author_id,public_metrics
Headers:
Authorization: Bearer YOUR_BEARER_TOKENReddit 키워드 검색
Node: HTTP Request
Method: GET
URL: https://www.reddit.com/search.json
Query Parameters:
q: YOUR_BRAND_NAME
sort: new
limit: 10
t: day
Headers:
User-Agent: n8n-brand-monitor/1.0Slack 알림 포맷
:mega: *브랜드 언급 감지*
플랫폼: {{ $json.platform }}
작성자: @{{ $json.author }}
내용: {{ $json.text.slice(0, 200) }}
링크: {{ $json.url }}
감정: {{ $json.sentiment }}
시간: {{ $json.created_at }}💡 TIPTwitter/X API 무료 티어는 월 500,000 트윗 읽기로 제한됩니다. 15분마다 폴링하면 월 약 2,880회 호출로 충분합니다.
⚡
워크플로우 JSON
아래 JSON을 복사해 n8n에 바로 임포트하세요
📥 n8n 임포트 방법
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
{
"recipeId": "recipe058",
"title": "퇴직 오프보딩 체크리스트 자동 생성",
"chapter": 5,
"category": "HR & 조직 운영 자동화",
"difficulty": "⭐⭐",
"estimatedTime": "35분",
"usedApps": [
"Google Sheets",
"Slack",
"Gmail"
],
"description": "퇴직자 정보가 시트에 등록되면 IT팀·경리팀·HR팀에 각 부서별 처리 항목이 포함된 Slack 알림을 보내고, 퇴직자에게는 반납 안내 이메일을 자동 발송합니다.",
"nodes": [
{
"id": "trigger_offboard",
"type": "trigger",
"service": "Google Sheets",
"name": "퇴직자 등록 감지",
"config": {
"event": "rowAdded",
"spreadsheetId": "{{$env.HR_SHEET_ID}}",
"sheetName": "퇴직자목록"
}
},
{
"id": "notify_it_team",
"type": "action",
"service": "Slack",
"name": "IT팀 처리 항목 알림",
"config": {
"operation": "sendMessage",
"channel": "{{$env.IT_SLACK_CHANNEL}}",
"message": "🔧 퇴직 처리 요청 — IT팀\n\n👤 퇴직자: {{$json['이름']}} ({{$json['부서']}} / {{$json['직책']}})\n📅 퇴직일: {{$json['퇴직일']}}\n\n✅ IT팀 처리 항목:\n- [ ] 이메일 계정 비활성화\n- [ ] Slack 계정 비활성화\n- [ ] 사내 시스템 접근 권한 회수\n- [ ] 노션·구글 드라이브 접근 권한 회수\n- [ ] 노트북 반납 확인\n- [ ] 보안 카드 회수\n\n처리 완료 후 이 메시지에 ✅ 체크 부탁드립니다!"
}
},
{
"id": "notify_finance_team",
"type": "action",
"service": "Slack",
"name": "경리팀 처리 항목 알림",
"config": {
"operation": "sendMessage",
"channel": "{{$env.FINANCE_SLACK_CHANNEL}}",
"message": "💰 퇴직 처리 요청 — 경리팀\n\n👤 퇴직자: {{$json['이름']}} ({{$json['부서']}} / {{$json['직책']}})\n📅 퇴직일: {{$json['퇴직일']}}\n\n✅ 경리팀 처리 항목:\n- [ ] 퇴직금 정산 계산\n- [ ] 마지막 급여 정산\n- [ ] 미사용 연차 수당 정산\n- [ ] 법인카드 회수 및 정산\n- [ ] 4대보험 상실 신고\n\n처리 완료 후 이 메시지에 ✅ 체크 부탁드립니다!"
}
},
{
"id": "notify_hr_team",
"type": "action",
"service": "Slack",
"name": "HR팀 처리 항목 알림",
"config": {
"operation": "sendMessage",
"channel": "{{$env.HR_SLACK_CHANNEL}}",
"message": "📋 퇴직 처리 요청 — HR팀\n\n👤 퇴직자: {{$json['이름']}} ({{$json['부서']}} / {{$json['직책']}})\n📅 퇴직일: {{$json['퇴직일']}}\n\n✅ HR팀 처리 항목:\n- [ ] 퇴직 확인서 발급\n- [ ] 경력증명서 발급 (요청 시)\n- [ ] 직원 명단 업데이트\n- [ ] 인수인계 완료 확인\n- [ ] 퇴직 면담 진행\n\n처리 완료 후 이 메시지에 ✅ 체크 부탁드립니다!"
}
},
{
"id": "send_offboard_email",
"type": "action",
"service": "Gmail",
"name": "퇴직자 반납 안내 이메일",
"config": {
"operation": "sendEmail",
"to": "{{$json['이메일']}}",
"subject": "[{{$env.COMPANY_NAME}}] 퇴직 처리 안내드립니다",
"body": "안녕하세요, {{$json['이름']}}님.\n\n그동안 {{$env.COMPANY_NAME}}과 함께해 주셔서 진심으로 감사드립니다.\n\n퇴직일({{$json['퇴직일']}}) 전까지 아래 항목을 처리해 주시기 바랍니다.\n\n📦 반납 필요 물품:\n- 노트북 및 주변기기\n- 사원증 및 보안 카드\n- 법인카드 (해당자)\n\n📝 퇴직 처리 관련 문의:\n{{$env.HR_EMAIL}}\n\n새로운 시작을 진심으로 응원합니다! 🙏\n{{$env.COMPANY_NAME}} HR팀 드림"
}
},
{
"id": "update_employee_status",
"type": "action",
"service": "Google Sheets",
"name": "직원 명단 상태 업데이트",
"config": {
"operation": "updateRow",
"spreadsheetId": "{{$env.HR_SHEET_ID}}",
"sheetName": "직원명단",
"filters": {
"이메일": "{{$json['이메일']}}"
},
"columns": {
"재직상태": "퇴직",
"퇴직일": "{{$json['퇴직일']}}"
}
}
}
],
"edges": [
{
"from": "trigger_offboard",
"to": "notify_it_team"
},
{
"from": "trigger_offboard",
"to": "notify_finance_team"
},
{
"from": "trigger_offboard",
"to": "notify_hr_team"
},
{
"from": "trigger_offboard",
"to": "send_offboard_email"
},
{
"from": "send_offboard_email",
"to": "update_employee_status"
}
],
"tips": [
"IT팀·경리팀·HR팀 알림은 병렬로 동시에 발송되므로 하나의 트리거에서 세 노드를 각각 연결하면 돼요.",
"각 팀의 처리 완료 여부를 추적하려면 Slack 메시지의 체크박스 응답을 Webhook으로 받아 Google Sheets에 기록하는 흐름을 추가하세요.",
"퇴직일 기준 D-7에 사전 안내 이메일을 보내는 Schedule 워크플로우를 별도로 만들면 더욱 체계적인 오프보딩이 가능해요."
],
"qrUrl": "www.koreaaitimes.com/books/n8n-vol2/recipe058"
}