박승현
박승현
🏅 AI 마스터
🔬 임팩트 찐친
🎨 미드저니 찐친

n8n으로 '이메일 auto labeling' + '중요 내용 요약해서 텔레그램으로 전달하기'

소개

스터디장 박정기 님이 소개해주신 n8n 유튜브 중 이메일 관리비서 만들기를 참고해서 이메일 관리 비서 만들어보기

진행 방법

  1. 배경

    저는 n8n을 전혀 모르며 make, zapier등 다른 자동화 툴 역시 한번도 사용해본 적이 없습니다. 관련 전공을 한 것도 아니며 코딩 관련해서는 마찬가지로 박정기 스터디장님이 예전에 운영 하셨던 문과생을 위한 파이썬을 통해 4주간 파이썬을 경험해 본 것이 전부입니다.

  2. 선택한 이유

    만들기 전에 해결해야할 문제를 전체적으로 다이어그램을 그리고 걸리는 시간이 어느 정도인지 파악해서 얼마나 줄일 수 있을지 청사진을 그려보면 좋다고 조언 하셨는데... 제가 현업이 자동화로 처리할 만한 일이 그닥 없습니다. AutoHotkey정도 쓰면 충분한 정도? n8n을 배워봐야 겠다고 생각한 것도 재밌을 것 같아서라 우선 흥미가 가는 주제로 만들어 보면서 배워봐야겠다고 생각했고 여러 유튜브를 찾아보다 이걸 한 번 그대로 따라해봐야겠다고 생각했습니다.

  3. 과정

    다양한 장치의 네트워크를 보여주는 다이어그램

    영상을 그대로 따라가면서 만들었습니다. 지메일 credential 받고 이런 저런 과정이 복잡하긴 했고 시행착오도 좀 했지만 혼자 해결했고

    • Text classifier로 label을 ChatGPT API로 분류할 때

    한국어 텍스트가있는 검은 색 화면

    영상 설명대로 description도 만들었습니다. 만들고 돌려봤는데 분류가 생각대로 좀 안되고 있는데 이 부분은 분류한 것 중 잘된 예시와 잘못된 예시를 few shot으로 넣고 수정해달라고 해볼 생각입니다.(진행중)

    • 텔레그램으로 보내는 부분도 처음 해봐서 쉽진 않았는데 영상 그대로 몇번 시행 착오 겪으면서 성공했습니다. 개인적으로 그동안 이런 자동화에 왜 많이 쓰는 카톡을 안쓰시고 텔레그램을 쓰실까 했는데...지원 가능 노드에 카톡이 없어서 그런가 봐요. 물론 방법은 있겠지만 너무 파고드는 것 같아 그건 훗날로...

    • 중간에 한 번 지메일 credential을 잘 못 건드렸더니 노드 전부 풀려있어서 새로 노드를 복사해서 만드느라 text classifier뒤에 노드들은 명칭에 1이 붙었습니다. 완성하고 정리해야겠습니다.

  4. 추가 내용

    1. labelling이 부정확한 것에 대해 description수정

      웹 사이트의 한국 버전의 스크린 샷

      몇가지 예시를 주고 description을 조정하도록 했습니다. 잘 작동하는지는 앞으로 봐야겠네요.

    2. 이메일 본문에 텍스트가 없고 이미지 파일이나 pdf 파일 첨부만 온 경우 분기를 만들어서 첨부파일 내용도 요약 전달 가능하게 만들기

      • 꽤 어려운 것 같습니다. ChatGPT에 물어가면서 하고 있는데 'include attachments'라는 옵션을 키라는데 그런게 안보이더라구요. 뭐가 문제일까 계속 물어보는데 무슨 말하는지 잘 모르겠고...그러다 문득 예전에 autohotkey 만들 때 그냥 물으면 이전 버전으로 알려줘서 계속 에러가 나고, 프롬프트에 '최신 버전을 반드시 확인해서 답해'라고 추가하니 맞게 답했던게 기억났습니다. 혹시 해서 스크린 샷 첨부하고 업데이트 없었는지 확인해보라고 하니 이제야 새로운 답을 주네요.

      Symfony의 코드 편집기 스크린 샷

      짜다가 재밌는 경험도 했습니다. ChatGPT가 짜준 코드가 에러가 났는데 n8n 어시스턴트가 도와줄까라고 팝업이 뜨더니 저렇게 수정해줬습니다. 대체해보니 잘 되더라구요. AI가 만든 걸 또다른 AI가 알아서 고쳐주는 과정이 무척 수월해서 흥미로웠습니다.

      사운드 시스템의 다른 부분을 보여주는 다이어그램

      과정은 복잡했지만 만들었습니다. 이 경로의 메일이 pdf와 hwp파일이 둘 다 첨부되어 있는 경우도 있어서 if 노드를 넣어서 둘 다 처리하고 hwp파일까지 요약하려다...그 정도 수준이면 그냥 본문을 읽겠다 싶어(hwp데이터를 읽는게 복잡해보이기도 했고요.) 그냥 여기까지만 했습니다.

    3. 며칠 사용하다 보니 텔레그램에 이런 메시지가 자주 눈에 띄었습니다.

      'Rabbitribbit Tech에서 더 많은 언어 옵션 잠금 해제'를 읽는 문자 메시지

      한두 번이면 그러려니 하는데 반복 되서요. gpt와 원인 분석에 들어갔습니다.

      검은 색 화면에서 한국 앱의 스크린 샷

      역시 믿음이 가는 군요. 여러 원인이 있지만 상의하며 원인을 찾은 끝에 내용이 HTML형식으로 왔다면 스니펫에 텍스트는 없거나 짧을 수 있다인 것 같습니다.

      네트워크의 다른 부분을 보여주는 다이어그램

      마찬가지로 열심히 질문해서 raw data에서 본문만 찾아서 HTML -> JSON 노드를 가운데에 넣어주고 변경된 것들 정리해주니 다시 한번 깔끔하게 정리되었습니다.

다양한 장치가있는 네트워크의 다이어그램

최종 완성 워크플로우

결과와 배운 점

하다 보면 어떻게든 되고 적절한 수준에서 멈춰야 한다?

파다보면 더 파고 싶어지지만 투자 시간 대비 적정 효율을 어느덧 넘어선 것 같아 여기까지만 하고 이 프로젝트는 끝내기로 했습니다. 제가 숫자 알림 떠있는 걸 선호하지 않아서 메일에 확인되지 않은 뉴스레터 + 광고로 신경이 좀 쓰였는데 특히 읽음 표시와 메시지 삭제가 제 마음에 평화를 가지고 왔습니다. 아직 아쉬운 부분들이 남아있긴 하지만 또 다른 재미난 걸 도전해보겠습니다.

도움 받은 글 (옵션)

이메일 관리비서 만들기

5
2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요