Skip to content

haedalprogramming/n8n-tutorials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

교육서비스업 자동화를 위한 n8n 튜토리얼

주니어 개발자를 위한 교육 서비스 및 IT 행사 운영 자동화 튜토리얼입니다. 이전에 Zapier, Google Apps Script, Make 등으로 구현한 시나리오들을 n8n 기반으로 재구성했습니다. 튜토리얼은 난이도에 따라 초급, 중급, 고급 단계로 구성되며, 각 단계별 실습을 통해 n8n을 활용한 다양한 자동화 도구 및 외부 API 연동 방법을 익힐 수 있습니다. (※ n8n은 오픈소스 워크플로우 자동화 도구로, 자체 호스팅 시 워크플로를 무제한 실행할 수 있고 다양한 서비스와의 통합이 가능합니다[1][2].)


[1. 초급: 기본 트리거 활용 - n8n]

실습 1: 구글 폼 신청 시 이메일 자동 응답 시스템 구축

  • 설명: 사용자가 Google Form을 제출하면 Google Sheets에 응답이 기록됩니다. n8n에서 해당 시트를 모니터링하여 새로운 행이 추가될 때마다, 미리 준비된 템플릿으로 신청자에게 Gmail 자동 응답 메일을 발송합니다. 또한 내부 팀 Slack 채널에 신청 내용 알림을 보낼 수 있습니다[3].

  • 사용 도구: Google Forms (응답 수집용), Google Sheets, Gmail, n8n (Google Sheets 트리거 노드, Gmail 노드 등)

  • 추가 실습:

  • 추가 실습 1: 신청 내용에 [대기 신청] 키워드가 포함된 경우 n8n의 If 노드로 분기하여 별도의 이메일 템플릿으로 회신하기 (예: 대기자 안내 메일). n8n의 If/Filter 노드를 활용하면 특정 조건에 따라 다른 경로로 작업을 수행할 수 있습니다[4].

  • 추가 실습 2: 새 신청이 접수될 때 운영진의 Slack 채널로 자동 알림 보내기 (예: 신청자 이름 및 신청 시간 포함 메시지).

  • 추가 실습 3: Solapi API를 n8n에 연동하여 신청자에게 카카오톡 알림이나 문자 메시지 전송하기. **솔라피(Solapi)**는 문자/알림톡 발송을 위한 국내 API로, n8n에서는 HTTP Request 노드를 통해 직접 호출하거나 커뮤니티 노드를 설치하여 사용할 수 있습니다[2][5].

실습 1-1: (선택) 구글 폼 신청 시 Make 활용 자동응답 비교

(참고: Zapier/Make 등 다른 자동화 도구로 구현된 동일 시나리오와 n8n 워크플로를 비교 학습할 수 있습니다. 이 튜토리얼에서는 n8n에 중점을 두지만, 필요 시 Make를 활용한 이메일, 문자, 카톡 자동응답 구축법도 참고하세요.)


[2. 중급: API와 데이터 활용 - n8n]

실습 2: 스프레드시트에서 배송 알림 Slack 메시지 보내기

  • 설명: Google Sheets에 주문 배송 현황을 관리하고 있다고 가정합니다. 스프레드시트의 특정 셀(예: "배송 완료" 체크박스)이 체크되면 n8n이 이를 감지하여 해당 주문의 배송 정보를 팀의 Slack 채널로 자동 전송합니다. 예를 들어, 주문자 이름, 주문 번호, 배송 일자 등이 포함된 메시지를 Slack에 발송할 수 있습니다.

  • 사용 도구: Google Sheets, Slack, n8n (Google Sheets Trigger 노드, Slack 노드 등)

  • 추가 실습:

  • 추가 실습 1: 배송 완료 시 다른 스프레드시트에 자동 업데이트 – 배송 완료된 주문을 별도의 구글 시트(예: '배송 완료 로그')에 자동으로 추가하거나 상태를 업데이트합니다. n8n의 Google Sheets 노드를 활용해 새로운 행을 추가하거나 기존 데이터를 수정할 수 있습니다.

  • 추가 실습 2: 주문 금액이 일정 금액 이상인 경우에만 알림 전송 – 예를 들어 주문 금액이 10만 원 이상인 경우에만 Slack 알림을 보내도록 조건 분기를 추가합니다. n8n의 If 노드를 사용해 주문 금액 필드를 검사하고, 조건에 만족할 때만 Slack 노드를 실행하도록 워크플로우를 구성합니다.

실습 2-1: 스프레드시트에서 문자 메시지 발송하기

  • 설명: Google Sheets에 수집된 연락처 정보를 활용하여 문자 메시지를 자동 발송하는 실습입니다. 예를 들어 행사 참가자 명단 시트에서 특정 칼럼(예: "안내문자 발송")이 체크된 행의 참가자들에게 안내 문자 혹은 MMS를 일괄 발송합니다. n8n을 활용하여 시트 데이터를 읽고, SMS 발송 API를 호출해 보는 과정입니다.

  • 사용 도구: Google Sheets, SMS 발송 API (예: Twilio 또는 Solapi), n8n (Google Sheets 노드, HTTP Request 또는 Twilio 노드)

  • 추가 실습:

  • 추가 실습 1: 이미지 첨부 MMS 발송 – 메시지와 함께 이미지 파일을 첨부해야 한다면, n8n에서 HTTP Request 노드를 활용하여 멀티파트 요청으로 이미지를 전송하거나, 지원되는 노드(Twilio의 MMS 기능 등)를 사용해 구현할 수 있습니다[6].

  • 추가 실습 2: 발송 결과 로그 남기기 – 문자 발송 후 결과(success/failure)를 Google Sheets에 기록하거나 실패 시 재시도 로직을 추가해봅니다. (n8n의 에러 처리 및 재시도 기능 활용)

실습 3: 스프레드시트에서 수능 성적표 자동 생성하기

  • 설명: Google Sheets에 학생들의 수능 성적 데이터가 저장되어 있다고 가정합니다. 특정 칼럼(예: "성적표 생성")을 체크하면 n8n이 Google Docs 템플릿을 기반으로 해당 학생의 수능 성적표를 자동 생성합니다. 성적표에는 학생 이름, 출생년도, 과목별 점수 및 그래프, 지원 가능 대학 목록 등이 포함됩니다.

  • 사용 도구: Google Sheets, Google Docs, n8n (Google Sheets 노드, Google Docs 노드 등)

  • 추가 실습:

  • 추가 실습 1: 생성된 성적표 파일 링크 Slack 공유 – 새로 생성된 Google Docs 문서의 링크와 "성적표 작성 완료" 알림 메시지를 Slack 채널에 자동 전송합니다. (n8n에서 Google Docs 생성 후 문서 ID를 받아 Slack 메시지에 포함)

  • 추가 실습 2: 그래프 이미지 자동 생성 첨부 – 과목별 성적 그래프를 프로그램matically 생성하여 성적표에 포함시킵니다. 예를 들어 Chart API나 Google Sheets의 차트 이미지를 활용하고, Google Docs API를 통해 이미지를 문서에 삽입하는 방식으로 구현할 수 있습니다. (고급 옵션: n8n에서 HTTP 요청으로 이미지 생성 API를 호출한 뒤 얻은 이미지를 Docs에 삽입)

  • 추가 실습 3: 여러 문서 일괄 생성 – 체크된 학생이 여러 명인 경우, 해당 학생들 각각에 대해 성적표를 일괄 생성하도록 워크플로우를 확장합니다. (여러 행 처리 및 반복 실행)

Google Docs 연동: n8n의 Google Docs 노드를 사용하면 프로그램matically 문서를 생성하거나 수정할 수 있습니다 (문서 생성, 읽기, 업데이트 기능 지원)[7]. OAuth2 인증을 통해 구글 계정에 연결하고, 템플릿 문서 파일을 활용하면 성적표 양식을 미리 디자인해 두고 내용만 채워 넣을 수도 있습니다.

실습 4: 스프레드시트에서 새내기 시간표 Google Calendar 생성하기

  • 설명: 대학 새내기들의 시간표를 Google Sheets로 수집한 뒤, 특정 칼럼(예: "캘린더 등록")을 체크하면 n8n이 해당 정보를 토대로 Google Calendar에 수업 일정을 자동 생성합니다. 시간표 데이터에는 교과목 이름, 교수님 이름 및 이메일, 본인 휴대폰 번호, 함께 듣는 친구 4명의 이름, 수업 시작/종료 시간, 강의실 등이 포함됩니다. 이 정보를 바탕으로 구글 캘린더 이벤트를 생성하며, 필요 시 참석자(교수님, 친구들)에게 초대 이메일을 보낼 수도 있습니다.

  • 사용 도구: Google Sheets, Google Calendar, n8n (Google Sheets 노드, Google Calendar 노드 등)

  • 추가 실습:

  • 추가 실습 1: 이벤트 생성 시 Slack 알림 발송 – 일정이 자동으로 캘린더에 등록되면 Slack으로도 생성된 일정 정보를 알려줍니다. (예: "OO과목 시간표가 캘린더에 등록되었습니다."). Slack 노드를 캘린더 노드 다음에 추가하여 이벤트 세부 정보를 메시지로 전송합니다.

  • 추가 실습 2: 교수님 및 친구들에게 캘린더 초대 발송 – Google Calendar 노드의 이벤트 생성 시 attendees 필드에 교수님 이메일과 친구들 이메일을 추가하여, 일정 초대장이 자동으로 발송되도록 구성할 수 있습니다.

  • 추가 실습 3: 이벤트 취소/변경 자동화 – 스프레드시트에서 일정 변경 사항을 감지하면 해당 캘린더 이벤트를 수정하거나 취소하는 워크플로우를 추가합니다 (Google Calendar 노드의 Update/Delete 기능 활용[8][9]).

실습 5: 뉴스 요약 자동화 (ChatGPT 활용)

  • 설명: Google 알리미(Google Alerts)를 통해 특정 키워드의 뉴스 기사 알림 이메일을 받고 있다고 가정합니다. n8n을 활용하여 Gmail에서 해당 알림 이메일을 트리거로 읽은 후, 본문에 포함된 뉴스 기사 내용을 OpenAI ChatGPT API로 요약합니다. 요약된 핵심 정보는 구글 스프레드시트에 정리하고, 팀 Slack 채널에 공유합니다. 이를 통해 수동으로 뉴스를 일일이 읽고 요약하는 시간을 절약할 수 있습니다.

  • 사용 도구: Gmail (또는 IMAP 이메일), Google Sheets, OpenAI API (GPT-4 등), Slack, n8n (이메일 트리거 노드, OpenAI 노드, Google Sheets 노드, Slack 노드 등)

  • 추가 실습:

  • 추가 실습 1: 요약 내용 이메일 발송 – 요약된 뉴스를 매일 아침 혹은 저녁에 자동으로 모아서 담당자에게 이메일로 보내줍니다. (여러 건의 뉴스를 모아 하나의 Digest 이메일로 구성)

  • 추가 실습 2: 블로그 글 자동 요약 및 공유 – 회사 또는 교육기관 블로그에 업로드되는 글을 RSS나 웹 훅으로 감지하여, 일정 길이로 요약한 뒤 팀원들에게 이메일/Slack으로 배포합니다.

  • 추가 실습 3: 중요도에 따른 알림 채널 분기 – ChatGPT 요약 내용을 분석하여 특정 키워드가 포함되거나 긴급도가 높다고 판단되면 Slack의 별도 채널이나 SMS로도 알림을 보냅니다. (예: "보도자료" 키워드 포함 시 추가 공지 발송 등)

※ n8n을 사용하면 Gmail로 받은 메일을 읽고 내용에 대한 GPT-4 분석 및 요약, Slack 전송, Sheets 기록까지 한 번에 자동화할 수 있습니다[10][11]. OpenAI 노드로 텍스트 요약을 수행하고, Slack 노드로 요약 결과를 팀과 실시간 공유함으로써 업무 효율을 높일 수 있습니다.


[3. 고급: 외부 API 및 데이터 연동 - n8n]

실습 6: 네이버 카페 API를 활용한 게시글 요약 자동 업로드

  • 설명: 교육 서비스 운영팀이 네이버 카페를 통해 공지사항이나 콘텐츠를 공유한다고 가정합니다. 소스 데이터(예: 강의 후기, 설문 결과 등)가 Google Sheets에 쌓이면, 특정 칼럼을 체크하여 n8n이 ChatGPT를 통해 해당 내용을 요약합니다. 그리고 요약된 내용을 네이버 카페 Open API를 사용해 지정된 카페 게시판에 자동으로 게시글로 업로드합니다. 사람이 직접 카페에 들어가 일일이 복사/붙여넣기 하지 않아도 되는 자동화 시나리오입니다.

  • 사용 도구: Google Sheets, OpenAI API (챗GPT 요약), 네이버 카페 Open API, n8n (Google Sheets 노드, OpenAI 노드, HTTP Request 노드 등)

  • 추가 실습:

  • 추가 실습 1: 게시글에 이미지 포함 – 요약된 내용과 함께 관련 이미지를 첨부하여 카페 글을 게시합니다. 네이버 카페 API는 멀티파트 요청을 통해 이미지 업로드를 지원하며, n8n의 HTTP Request 노드 설정으로 이미지 파일을 함께 전송할 수 있습니다. (예: n8n 워크플로우에서 이미지 URL을 다운로드한 후 HTTP 노드로 파일 첨부하여 게시[12])

  • 추가 실습 2: 여러 게시판 동시 업로드 – 요약 내용이 여러 채널에 공유되어야 한다면, 네이버 블로그 API 또는 Slack, 이메일 등과 연계하여 동시에 게시하거나 전송하는 확장 실습을 진행합니다.

  • 추가 실습 3: 콘텐츠 검수 및 승인 절차 – 자동 생성된 요약본을 바로 올리지 않고, 운영자가 먼저 검토할 수 있도록 n8n의 Slack 노드 등을 활용해 검토 요청을 보내고, 승인을 받으면 최종 업로드를 수행하도록 워크플로우를 구성합니다.

네이버 카페 API 연동: n8n에서는 기본 제공 노드가 없더라도 HTTP Request 노드를 사용하여 거의 모든 HTTP 기반 API에 연결할 수 있습니다[13]. 네이버 카페 API의 경우 OAuth2 인증으로 발급받은 액세스 토큰을 헤더에 포함해 POST 요청을 보내면 글을 등록할 수 있습니다[14][15]. 예를 들어, 카페 ID와 게시판 ID를 조합한 엔드포인트 URL에 **제목(subject)**과 본문(content) 데이터를 전송하면 게시글이 생성됩니다.

실습 7: 기업은행 Open API 연동한 입출금 내역 자동 알림

  • 설명: 교육 서비스 결제나 행사 참가비 입금 내역을 자동으로 모니터링하기 위해 IBK 기업은행 Open API를 활용합니다. 일정 주기마다 (예: 5분 간격 또는 하루 한 번) n8n이 은행 거래내역 조회 API를 호출하여 새로운 거래 내역을 확인합니다. 특정 조건, 예를 들어 입금액이 100만 원 이상인 거래 발생 시, 재무 담당자 Slack 채널로 실시간 알림을 전송합니다. 이를 통해 고액 입금 등의 이벤트를 놓치지 않고 대응할 수 있습니다.

  • 사용 도구: IBK 기업은행 Open API (거래내역 조회), Slack, Google Sheets, n8n (HTTP Request 노드, Schedule Trigger 등)

  • 추가 실습:

  • 추가 실습 1: 입출금 내역 스프레드시트 자동 기록 – 새로운 거래가 발생할 때마다 해당 내역을 구글 스프레드시트에 누적 저장합니다. (날짜, 입출금액, 잔액, 적요 등을 시트에 행 추가)

  • 추가 실습 2: 알림 기준 세분화 – 조건을 다양화하여, 예를 들어 100만 원 이상 입금 시에는 재무팀 Slack 알림, 1000만 원 이상 입금 시에는 추가로 문자 메시지(솔라피 연동) 발송 또는 관리자 이메일 발송 등 금액 구간에 따른 알림을 설정해봅니다.

  • 추가 실습 3: 스케줄 조정 및 최적화 – 은행 API 호출 빈도를 적절히 조정하여 트래픽을 관리하고 (n8n Schedule Trigger로 크론 스케줄 설정 가능), API 응답에서 필요한 데이터만 추려내도록 변환 노드를 사용합니다. (예: 입금 내역만 필터링)

※ IBK 기업은행 Open API는 개발자 포털을 통해 API 키를 발급받아야 하며, n8n의 HTTP Request 노드에 OAuth2 인증 정보를 설정하여 호출합니다. 만약 제공되는 기능 외의 특별한 처리가 필요하면, n8n의 **함수 노드(Code node)**를 활용해 API 응답을 가공하거나 추가 로직을 구현할 수 있습니다.

실습 8: Google Forms API와 n8n를 활용한 웹 데이터 수집 자동화

  • 설명: 웹사이트에서 직접 사용자 입력 데이터를 수집하여 실시간으로 Google 설문지(Forms)에 기록하고 처리하는 시나리오입니다. 예를 들어, 교육 프로그램 신청 웹페이지에 입력된 정보를 n8n이 받아서 Google Forms API를 통해 해당 폼 응답으로 제출하거나, Google Sheets에 바로 저장하도록 구성할 수 있습니다. 이를 통해 별도의 백엔드 개발 없이도 웹상의 입력 폼을 구글 폼/시트와 연동해 활용할 수 있습니다[16].

  • 사용 도구: Custom Web Form 또는 n8n 제공 Form Trigger, Google Forms (또는 직접 Google Sheets), Google Apps Script (선택 사항), n8n (Webhook 노드 또는 Form Trigger 노드, HTTP Request 노드 등), Google Cloud Platform (API 인증용)

  • 추가 실습:

  • 추가 실습 1: 수집된 데이터 Google Sheets 자동 저장 및 시각화 – 폼으로 수집된 데이터를 구글 시트에 실시간 기록하고, 해당 시트와 연동된 데이터 스튜디오나 피벗 테이블로 통계/시각화하는 작업을 자동화합니다.

  • 추가 실습 2: 조건별 알림 이메일/Slack 전송 – 입력된 데이터에 특정 조건이 포함될 경우 (예: 신청 인원이 50명 초과, 긴급 문의 등) 담당자에게 이메일 또는 Slack 알림을 자동으로 발송합니다.

  • 추가 실습 3: 실시간 입력 검증 및 오류 처리 – 사용자가 폼을 제출할 때 잘못된 형식의 데이터나 누락된 항목이 있으면, 즉시 오류를 알려주거나 보완할 수 있도록 합니다. (n8n Form Trigger 노드를 사용하면 폼 제출 시 데이터를 받고, 필요한 경우 유효성 검사를 한 후 사용자에게 결과를 반환하는 로직을 구현할 수 있습니다[17].)

Google Forms API 연동 팁: n8n에서 HTTP Request 노드를 활용하여 Google Forms API를 호출하면 폼 생성, 응답 조회/저장 등의 작업을 코드로 수행할 수 있습니다[16]. 예를 들어, 웹에서 받은 신청 데이터를 Google Forms API의 forms.responses.submit 엔드포인트로 POST하여 Google Form 응답으로 기록하게 할 수 있습니다. 또한 n8n의 자체 Form Trigger 노드를 활용하면 별도의 외부 폼 없이 n8n이 제공하는 폼 페이지를 생성하여 데이터를 수집하고 처리할 수도 있습니다 (해당 노드 사용 시 n8n이 폼 UI와 URL을 제공함[17]).


이러한 튜토리얼을 통해 주니어 개발자들은 n8n을 비롯한 다양한 자동화 도구와 API 활용 방법을 체계적으로 학습할 수 있습니다. 기본적인 폼 응답 처리부터 시작해, 점차 복잡한 외부 서비스 연동과 조건부 로직을 구현해 봄으로써 업무 효율을 극대화하는 자동화 시스템 구축 역량을 키울 수 있습니다. 각 실습은 난이도 순으로 구성되어 있으므로 단계적으로 따라할 수 있으며, 추가 실습 과제를 통해 응용 능력도 함께 향상시킬 수 있습니다. n8n을 활용한 자동화는 범용성이 높아, 교육 서비스 현장에서 반복되는 작업을 줄이고 더 중요한 업무에 집중할 수 있도록 도와줄 것입니다. (참고: n8n은 슬랙, 구글 워크스페이스, 오픈AI 등 수많은 서비스와의 통합을 지원하며, 사용자 정의 코드나 HTTP 연동으로 **“못할 자동화가 없다”**는 평가를 받고 있습니다[10][13].)


[1] [2] [5] n8n + 솔라피 연동 방법 (도커 사용)

https://solapi.com/blog/n8n-solapi-community-node/

[3] Automated Form Response System with Google Sheets, Slack, Gmail & Contacts | n8n workflow template

https://n8n.io/workflows/6087-automated-form-response-system-with-google-sheets-slack-gmail-and-contacts/

[4] Filtering orders - n8n Docs

https://docs.n8n.io/courses/level-one/chapter-5/chapter-5.3/

[6] [13] Twilio node documentation | n8n Docs

https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twilio/

[7] Google Docs node documentation | n8n Docs

https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledocs/

[8] [9] Google Calendar node documentation | n8n Docs

https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/

[10] [11] Smart Email Triage with Gmail, GPT-4, Slack and Google Sheets | n8n workflow template

https://n8n.io/workflows/9680-smart-email-triage-with-gmail-gpt-4-slack-and-google-sheets/

[12] [14] [15] 카페 가입 · 글쓰기 API 명세 - LOGIN

https://developers.naver.com/docs/login/cafe-api/cafe-api.md

[16] Google Forms integrations | Workflow automation with n8n

https://n8n.io/integrations/google-forms/

[17] n8n Form Trigger node documentation | n8n Docs

https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/

About

n8n 튜토리얼

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published