워크플로 소개
Telegram으로 받은 새 파일을 Google Drive에 저장 – 워크플로우 분석
이 n8n 워크플로우 템플릿은 Telegram을 통해 전송된 파일을 지정된 Google Drive 폴더에 직접 저장하는 프로세스를 자동화합니다. 실시간 메시지 모니터링, 조건부 논리 및 클라우드 스토리지 통합을 활용하여 수동 개입 없이 원활한 파일 보관 또는 백업 시스템을 구축합니다.
워크플로우 기능
이 워크플로우는 Telegram 채팅(일반적으로 개인 봇 대화)에서 새 메시지를 수신 대기하고, 메시지에 파일(특히 문서)이 포함되어 있는지 확인한 다음, 포함되어 있다면 해당 파일을 다운로드하여 미리 구성된 Google Drive 폴더에 업로드합니다. 이를 통해 사용자는 문서, 이미지, PDF 또는 지원되는 모든 파일 형식을 Telegram에서 클라우드 스토리지로 직접 전달할 수 있습니다.
주요 기능 및 역량
- 실시간 트리거: Telegram 웹훅을 사용하여 들어오는 메시지에 즉시 반응합니다.
- 파일 감지 논리: 조건부 "If" 노드를 사용하여 메시지 페이로드에 문서가 있는지 확인합니다.
- 자동 파일 다운로드: Telegram 트리거는
download: true로 구성되어 이진 파일 데이터가 자동으로 검색되도록 합니다. - Google Drive 통합: OAuth2 인증을 사용하여 파일을 지정된 폴더에 안전하게 업로드합니다.
- 메타데이터 보존: Google Drive 업로드 중에 Telegram의 원본 파일 이름을 유지합니다.
- 코드 없는 자동화: n8n의 시각적 인터페이스를 통해 완전히 구성 가능하며 스크립팅이 필요하지 않습니다.
주요 노드 및 목적
-
새 Telegram 메시지에서 (
n8n-nodes-base.telegramTrigger)- Telegram 봇의 메시지 업데이트를 구독하여 진입점으로 작동합니다.
- 메시지에 문서가 포함된 경우 파일 콘텐츠를 자동으로 다운로드하도록 구성됩니다.
- 유효한 Telegram Bot API 자격 증명이 필요합니다.
-
메시지에 파일이 포함된 경우 (
n8n-nodes-base.if)- 들어오는 메시지에
document객체(파일이 전송되었음을 나타냄)가 포함되어 있는지 평가합니다. - 이 필드의 존재 여부를 확인하기 위해
={{ $json.message.document }}표현식을 사용합니다. - 조건이 충족되는 경우(즉, 파일이 있는 경우)에만 다음 노드로 실행을 전달합니다.
- 들어오는 메시지에
-
GDrive에 파일 업로드 (
n8n-nodes-base.googleDrive)- 다운로드된 파일 이진 데이터와 Telegram 메시지의 메타데이터를 가져옵니다.
- OAuth2 자격 증명을 사용하여 Google Drive에 파일을 업로드합니다.
- "내 드라이브" 아래의 "데모" 폴더(ID:
11gyG2TvG0sqCG202CN-w9rloGW-CzKBc)에 파일을 저장합니다. ={{ $json.message.document.file_name }}을 사용하여 파일 이름을 동적으로 설정합니다.
사용 사례 및 이점
- 개인 문서 보관: 사용자는 영수증, 계약서 또는 메모를 Telegram 봇으로 보내 Google Drive에 자동으로 저장할 수 있습니다.
- 팀 협업: 팀은 공유 Telegram 봇을 사용하여 제출물(예: 보고서, 디자인)을 수집하고 이를 Drive에 자동으로 중앙 집중화할 수 있습니다.
- 백업 자동화: Telegram을 통해 전송된 중요한 파일의 손실을 방지하기 위해 중복 클라우드 복사본을 생성합니다.
- 시간 절약: 수동 다운로드 및 업로드 단계를 제거하여 인적 오류와 노력을 줄입니다.
- 확장성: 여러 파일 형식을 처리하거나, 명명 규칙을 적용하거나, 다운스트림 작업을 트리거하도록(예: 이메일 알림) 확장할 수 있습니다.
단계별 워크플로우 논리
-
트리거 활성화:
사용자가 구성된 Telegram 봇으로 파일(예: PDF)이 포함된 메시지를 보냅니다.telegramTrigger노드는 Telegram의 웹훅 API를 통해 이 이벤트를 감지합니다. -
자동 파일 다운로드:
additionalFields.download가true로 설정되어 있으므로 n8n은 Telegram 서버에서 파일 콘텐츠를 자동으로 가져와 워크플로우 항목에 이진 데이터로 첨부합니다. -
조건부 확인:
워크플로우는 메시지 페이로드를 If 노드로 전달하고, 이 노드는message.document가 존재하는지 평가합니다. 메시지가 텍스트만 포함하거나 지원되지 않는 미디어(예: 스티커)를 포함하는 경우 조건이 실패하고 워크플로우가 중지됩니다. -
Google Drive 업로드:
문서가 감지되면 워크플로우는 Google Drive 노드로 진행됩니다. 다음을 사용합니다.message.document.file_name의 원본 파일 이름- "데모" 폴더에 해당하는 사전 정의된 폴더 ID (
11gyG2TvG0sqCG202CN-w9rloGW-CzKBc) - 인증된 Google Drive 자격 증명을 사용하여 업로드 수행
-
완료:
파일이 이제 Google Drive에 저장되었으며 워크플로우가 성공적으로 종료됩니다. 향후 메시지는 동일한 시퀀스를 독립적으로 트리거합니다.
이 워크플로우는 두 개의 인기 있는 플랫폼인 Telegram과 Google Drive 간의 효율적인 이벤트 기반 자동화를 보여주며, 사용자가 최소한의 설정으로 디지털 워크플로우를 간소화할 수 있도록 합니다.
사용 방법: JSON을 다운로드한 뒤 n8n에서 “파일에서 가져오기”를 선택하세요.