# 레니 뉴스레터 AI 요약 슬랙봇 구축기: 만든 방법과 멈춘 이유

> 출처: https://retn.kr/blog/newsletter-ai-summary-slack-community/ · 수정 2026-10-16 · 리텐션 주식회사

Gmail, Apps Script, n8n, Gemini 2.5 Flash, Slack을 이어 만든 뉴스레터 요약 커뮤니티의 구축 기록입니다. 이 커뮤니티는 지금 운영하지 않습니다.

> **운영 종료 안내**
>
> 이 슬랙 커뮤니티는 운영을 종료했습니다. 참여 링크도 만료됐습니다. 이 글은 구축 과정과 운영을 멈춘 이유를 남긴 기록입니다. 2026년 10월에 고쳐 썼습니다.

2026년 1월, [레니 뉴스레터(Lenny's Newsletter)](https://www.lennysnewsletter.com/?ref=retn.kr)를 AI가 요약해 슬랙 채널에 올리는 커뮤니티를 열었습니다.

요약은 Gmail, Apps Script, n8n, Gemini 2.5 Flash를 이어 자동으로 만들었습니다. 요약 아래 스레드에서 함께 토론하는 구조였습니다.

이 글은 그 구축 기록입니다. 무엇을 만들었고, 운영하며 무엇이 막혔고, 왜 멈췄는지 적었습니다.

## TLDR

- 레니 뉴스레터가 Gmail에 오면 Apps Script가 n8n을 호출했습니다.
- n8n은 Gemini 2.5 Flash로 PM용 요약을 만들었습니다.
- 제목은 슬랙 채널에, 요약은 그 글의 스레드에 올렸습니다.
- 스레드 질문 봇이 배포 뒤 응답을 멈춘 적이 있습니다. 원인과 수정은 2탄에 정리했습니다.
- 커뮤니티는 지금 운영하지 않습니다.

## 왜 이런 걸 만들었나요

### 문제: 좋은 콘텐츠는 많은데, 소화할 시간이 없습니다

레니 뉴스레터를 읽으며 제가 겪은 문제는 세 가지였습니다.

1. 한 편이 깁니다.
1. 영어입니다.
1. 다 읽어도 "그래서 나는 뭘 해야 하지?"가 남습니다.

결국 "나중에 읽어야지" 탭만 늘었습니다.

### 해결: AI 요약 + 동료들과의 토론

혼자 읽고 끝내면 기억에 남지 않았습니다. 그래서 같은 고민을 하는 사람들과 요약을 함께 읽는 방식을 시험했습니다. 스레드에서 기대한 대화는 이런 것이었습니다.

- "우리 회사에선 이렇게 적용했는데요..."
- "저는 이 프레임워크가 잘 안 맞았어요. 왜냐면..."
- "혹시 이 상황에서 어떻게 하셨어요?"

## 어떻게 동작하나요

### 기술 스택

```
<code>Gmail → Apps Script → n8n → Gemini 2.5 Flash → Slack
</code>
```

1. Gmail: 레니 뉴스레터를 받습니다.
1. [Apps Script](https://developers.google.com/apps-script/reference/gmail?ref=retn.kr): 새 메일을 찾으면 n8n [웹훅(Webhook)](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook?ref=retn.kr)을 호출합니다.
1. n8n: 메일 본문을 Gemini에 보내고, 결과를 슬랙 서식으로 바꿉니다.
1. Gemini 2.5 Flash: 본문을 PM 인사이트 요약으로 바꿉니다.
1. Slack: 제목은 채널 메시지로, 요약은 그 메시지의 [스레드 답글](https://docs.slack.dev/messaging/?ref=retn.kr#threading)로 올립니다.

n8n 워크플로우 안에서는 노드가 일을 나눠 맡았습니다. 웹훅 노드가 메일을 받습니다. Gemini 노드가 요약을 만듭니다. 코드 노드가 마크다운을 슬랙 서식(mrkdwn)으로 바꿉니다. 슬랙 노드 2개가 제목 메시지와 스레드 답글을 따로 보냅니다.

### AI 프롬프트 핵심

Gemini에게는 역할과 출력 형식을 고정해 줬습니다. 역할은 "레니 뉴스레터를 PM 인사이트로 바꾸는 요약가"였습니다. 출력은 다섯 칸으로 정했습니다.

1. TLDR 3줄
1. 핵심 프레임워크 표 (2~4개)
1. 상황 → 행동 매핑 (3~5개)
1. 통념과 다른 인사이트 1개
1. 시간이 없으면 건너뛸 부분

결과는 한국어로 받고, 프레임워크 이름은 영어로 남겼습니다. "소통을 잘하라" 같은 일반론은 쓰지 말라는 제약도 넣었습니다.

AI 출력 예시입니다. 입력은 [Molly Graham 편](https://www.lennysnewsletter.com/p/the-high-growth-handbook-molly-graham?ref=retn.kr)이었습니다.

TLDR (3줄)

- Give Away Your Legos: 성장하려면 지금 하는 일을 넘겨야 합니다.
- Chaos Is a Feature: 빠르게 크는 회사에서 혼란은 버그가 아니라 기능입니다.
- 80/20 Rule for Managers: 80%는 팀이 정하고, 20%만 관리자가 정합니다.

**Key Frameworks**

| Framework | 원본 맥락 | PM 적용 |
| --- | --- | --- |
| Give Away Your Legos | 성장 단계에서 역할 재정의 | 기능 오너십 넘기기 |
| Chaos Is a Feature | 스케일링 기업의 혼란 수용 | 완벽한 프로세스보다 빠른 실행 |

### 스레드에서 묻고 답하는 봇

요약 스레드에서 봇을 멘션하면 답하는 질문 봇도 따로 붙였습니다. 이 봇은 n8n이 아니라 Cloud Run에서 돌았습니다. 뉴스레터 아카이브를 [Gemini File Search](https://ai.google.dev/gemini-api/docs/file-search?ref=retn.kr)로 찾아 답했습니다.

## 운영해 보니

채널은 #lenny-insights 하나로 운영했습니다. 참여는 Slack Connect 초대 링크로 받았습니다.

### 된 것

- 메일이 오면 요약이 스레드에 올라가는 흐름은 사람 손 없이 돌았습니다.
- 출력 형식을 다섯 칸으로 고정했습니다. 편이 바뀌어도 같은 순서로 읽히게 하려는 설계였습니다.

### 막힌 것

- 스레드 질문 봇이 배포 뒤 응답을 멈췄습니다. 로그를 정기적으로 보지 않아 늦게 알았습니다.
- 원인은 Cloud Run과 Slack [Socket Mode](https://docs.slack.dev/apis/events-api/using-socket-mode/?ref=retn.kr)의 충돌이었습니다. Socket Mode는 연결을 계속 유지해야 하고, Cloud Run은 요청이 없으면 CPU를 줄입니다.
- 연결 방식을 HTTP 기반 Events API로 바꿔 해결했습니다.
- 답변 모델로 쓰던 preview 모델이 빈 응답을 돌려줬습니다. 정식(GA) 모델인 gemini-2.5-flash로 바꿨습니다.

장애를 찾은 과정과 운영 비용을 줄인 과정은 [AI 업무 자동화 시스템, 배포 후가 진짜인 이유](/blog/ai-slackbot-ops-optimization/)에 정리했습니다.

## 왜 멈췄나

이 커뮤니티는 지금 운영하지 않습니다. 슬랙 참여 링크도 만료됐습니다.

서비스는 끝까지 만들었습니다. 참여자 피드백을 받아 요청 사항도 전부 구현했습니다. 그런데 사용 빈도가 오르지 않았습니다. 참여자가 실제로 얻는 혜택이 생기지 않았고, 제품-시장 적합성(PMF)에 이르지 못했다고 판단해 운영을 멈췄습니다.

만든 것을 멈추는 판단에 대해서는 [프롤로그: 내가 만든 것을 바꿔야 할 때](/book/prologue/)에 따로 적었습니다.

## 비슷한 걸 만든다면

- 요약보다 운영이 더 큰 일입니다. 봇이 응답하지 않으면 알림이 오게 먼저 설정하세요.
- 운영 중인 봇에는 preview 모델 대신 정식(GA) 모델을 쓰세요.
- 서버리스에서 슬랙 봇을 돌린다면 Socket Mode 대신 Events API를 쓰세요.

> **우리 팀 요약 봇을 직접 만들어 보고 싶다면**
>
> AI 코딩 에이전트 과외반에서는 코치가 내 실제 업무 하나를 같이 봅니다. 그날 작동하는 결과물을 함께 만듭니다. 1명부터 4명까지 한 팀으로 신청할 수 있습니다.
>
> [과외반 일정 보기 →](https://ai.retn.kr/workshop/?utm_source=blog&utm_medium=cta&utm_campaign=workshop&utm_content=newsletter-ai-summary-slack-community)

> [리텐션 주식회사에 문의하세요 →](https://retn.kr/contact/?utm_source=blog&utm_medium=cta&utm_campaign=consulting&utm_content=newsletter-ai-summary-slack-community)

## 📚 더 읽어보기

- [AI 업무 자동화 시스템, 배포 후가 진짜인 이유](/blog/ai-slackbot-ops-optimization/) — 이 글의 2탄. 질문 봇 장애와 수정 과정
- [레니 뉴스레터와 Mobbin MCP 활용법](/blog/lennys-product-pass-mobbin-mcp/) — 레니 뉴스레터 Product Pass 활용
- [Ghost 뉴스레터 자동화: Sunset Policy로 유령 구독자 정리하기 (n8n + Mailgun)](/blog/ghost-newsletter-sunset-policy-n8n/) — n8n으로 만든 다른 운영 자동화
- [AI 코딩 에이전트로 비개발자가 0에서 1이 되는 방법](/blog/ai-coding-agent-nondev/) — 비개발자가 에이전트로 만드는 법
