RECIPE 083
Google Drive 파일 변경 감지 → 팀 알림
- ▸Google Drive 특정 폴더의 파일 추가/수정 자동 감지
- ▸변경 사항을 Slack 채널에 즉시 알림
- ▸파일 변경 이력을 Sheets에 자동 기록
✅사전 준비
- □Google Drive OAuth2 자격증명 설정
- □모니터링할 폴더 ID 확인 (Drive URL에서 추출)
- □Slack 채널 웹훅 URL 준비
- □Google Sheets 변경 이력 시트 생성
Google Drive 파일 목록 폴링
// Cron: */10 * * * * (10분마다)
Node: HTTP Request
Method: GET
URL: https://www.googleapis.com/drive/v3/files
Query Parameters:
q: '{{ $env.DRIVE_FOLDER_ID }}' in parents and modifiedTime > '{{ $now.minus({minutes: 10}).toISO() }}'
fields: files(id,name,mimeType,modifiedTime,lastModifyingUser,webViewLink)
orderBy: modifiedTime desc
Authentication: OAuth2 (Google)변경 유형 분류 (Code 노드)
const files = $json.files || [];
return files.map(file => {
const isNew = new Date(file.modifiedTime) > new Date($now.minus({minutes: 10}).toISO());
return {
json: {
...file,
changeType: isNew ? '신규 추가' : '수정',
modifier: file.lastModifyingUser?.displayName || '알 수 없음'
}
};
});Slack 알림 메시지
:file_folder: *Google Drive 변경 감지*
유형: {{ $json.changeType }}
파일명: {{ $json.name }}
수정자: {{ $json.modifier }}
시각: {{ $json.modifiedTime }}
링크: {{ $json.webViewLink }}💡 TIPGoogle Drive API의 Changes API(watch)를 사용하면 폴링 없이 실시간 변경 알림을 받을 수 있습니다. 단, HTTPS 웹훅 엔드포인트가 필요하며 설정이 다소 복잡합니다.
⚡
워크플로우 JSON
아래 JSON을 복사해 n8n에 바로 임포트하세요
📥 n8n 임포트 방법
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
n8n 화면 우측 상단 메뉴 (⋮) → Import from JSON → 아래 JSON 전체 복사 후 붙여넣기 → Import 클릭
{
"recipeId": "recipe083",
"title": "네이버 블로그 RSS → 콘텐츠 자동 분배",
"chapter": 8,
"category": "국내 서비스 특화 레시피",
"difficulty": "⭐⭐",
"estimatedTime": "25분",
"usedApps": [
"네이버 블로그 RSS",
"Slack",
"Twitter"
],
"description": "네이버 블로그에 새 글이 올라오면 RSS Feed Trigger가 자동 감지해 글 제목·요약·URL을 카카오스토리·SNS·내부 Slack에 동시 자동 공유합니다. 별도 API 없이 RSS만으로 연동할 수 있어 가장 간편한 국내 서비스 연동입니다.",
"nodes": [
{
"id": "node1",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"name": "네이버 블로그 새 글 감지",
"parameters": {
"url": "={{$env.NAVER_BLOG_RSS_URL}}",
"pollTimes": {
"item": [
{
"mode": "everyHour"
}
]
}
}
},
{
"id": "node2",
"type": "n8n-nodes-base.twitter",
"name": "Twitter 자동 공유",
"parameters": {
"operation": "create",
"text": "📝 새 블로그 글이 올라왔어요!\n\n{{$json['title']}}\n\n▶️ {{$json['link']}}\n\n#네이버블로그 #{{$env.BRAND_HASHTAG}}"
}
},
{
"id": "node3",
"type": "n8n-nodes-base.slack",
"name": "팀 Slack 공유",
"parameters": {
"channel": "={{$env.CONTENT_SLACK_CHANNEL}}",
"text": "📝 새 블로그 포스팅 발행!\n\n*{{$json['title']}}*\n{{$json['contentSnippet'].slice(0, 100)}}...\n\n🔗 {{$json['link']}}"
}
}
],
"envVariables": {
"NAVER_BLOG_RSS_URL": "네이버 블로그 RSS URL (블로그 주소 + /rss)",
"BRAND_HASHTAG": "브랜드 해시태그",
"CONTENT_SLACK_CHANNEL": "콘텐츠 팀 Slack 채널 ID"
},
"tips": [
"네이버 블로그 RSS 주소는 '내 블로그 주소/rss'입니다. 예: blog.naver.com/myblog/rss",
"카카오스토리 API는 별도 등록이 필요하지만, Twitter와 Slack은 기존 노드를 그대로 활용할 수 있어요.",
"레시피 012(블로그 → SNS 자동 공유)와 동일한 구조입니다. 워드프레스 블로그 대신 네이버 블로그 RSS를 연결하는 차이만 있어요."
],
"qrUrl": "www.koreaaitimes.com/books/n8n-vol2/recipe083"
}