Slack 스레드를 Markdown으로 내보내기

대부분의 회사에서 가장 좋은 생각은 Slack 스레드 안에서 나옵니다. 버그 사후 분석, 디자인 논쟁, 고객 피드백, “그런데 X는 실제로 어떻게 하죠?” 같은 질문과 답변들 말입니다. 그리고 그것들은 사라집니다. 검색은 조각만 찾아 주고, 전체 맥락은 흩어집니다.

그 내용을 Markdown으로 내보내면 Slack은 채팅 기록에서 질의 가능한 지식 베이스로 바뀝니다. 이 가이드는 현실적으로 쓸 만한 방법을 모두 다룹니다.

왜 Slack 스레드를 Markdown으로 내보내야 할까요?

  • AI 어시스턴트에게 먹이기 — 실제 스레드를 주면 Claude와 ChatGPT가 “우리가 X에 대해 뭘 정했더라?”에 답할 수 있습니다. Slack 검색 결과로는 안 됩니다.
  • 사후 분석과 장애 리뷰 보존 — 장애를 둘러싼 스레드는 엔지니어링 문화의 원재료입니다. 보관 정책에 밀려 사라지는 건 비극입니다.
  • 의사결정 기록 — 결정에 이르게 한 논리는 최종 문서보다 스레드에 훨씬 잘 남아 있습니다.
  • Slack에서 이사 갈 때 — Discord, Teams, Mattermost, Zulip 모두 Slack의 독점 내보내기 형식보다 Markdown을 더 잘 가져옵니다.
  • 삭제되기 전 채널 아카이브 — 무료 Slack 요금제는 90일이 지난 메시지를 지웁니다. 먼저 내보내는 것이 유일한 복구 수단입니다.

방법 1: Minibase Chrome 확장 프로그램 (스레드 단위)

Minibase는 열려 있는 Slack 스레드를 클릭 한 번으로 깔끔한 Markdown으로 담아냅니다.

Minibase가 담아내는 것:

  • 채널 이름과 워크스페이스 맥락
  • 스레드의 부모 메시지 (작성자, 타임스탬프, 본문)
  • 스레드의 모든 답글, 작성된 순서 그대로
  • 이모지 반응을 인라인 Markdown으로
  • 멘션(@user)과 채널 참조(#channel)
  • 첨부 파일과 Slack의 링크 미리보기
  • 언어 감지가 유지된 코드 블록

Minibase가 걷어내는 것:

  • Slack UI 껍데기 (사이드바, 검색창, 반응 패널)
  • 접속 상태 표시와 입력 중 알림
  • Slack의 알림 개수 배지

언제 알맞은 도구인가: 마음에 걸리는 스레드 하나를 챙길 때, 보관 기한이 지나기 전에 빠르게 뽑아낼 때, 특정 대화를 Claude나 ChatGPT에 넘길 때.

방법 2: Slack 기본 워크스페이스 내보내기

Slack 워크스페이스 소유자는 공개 채널 전체 내보내기(모든 요금제)나 비공개 채널과 DM 내보내기(Business+ 요금제)를 실행할 수 있습니다.

경로: 워크스페이스 설정 → 데이터 가져오기/내보내기 → 내보내기.

받게 되는 것:

  • 채널별, 날짜별 JSON이 들어 있는 .zip 파일
  • 사용자 프로필 목록 (users.json)
  • 채널 목록 (channels.json)
  • 모든 공개 메시지의 원본 JSON

직접 해야 하는 것: JSON을 Markdown으로 변환하는 일입니다. 커뮤니티 도구를 참고하세요.

  • slackdump — 덤프와 Markdown 변환을 함께 처리하고, 예외 상황도 다룹니다
  • slack-export-viewer — 내보낸 결과를 둘러볼 수 있는 HTML로 렌더링합니다
  • 직접 만든 스크립트 — JSON 형식이 잘 문서화되어 있습니다

장점: 공개 채널은 모든 요금제에서 무료이고, 공식 경로입니다.

단점: 전체 덤프만 가능하고(선택적 내보내기 불가), 무료 요금제에서는 제한되며, JSON을 쓸 만한 Markdown으로 바꾸는 데 여전히 손이 갑니다.

방법 3: Slack Web API

프로그램으로, 선택적으로, 정기적으로 내보내려면 Slack Web API가 맞는 길입니다.

일반적인 흐름:

  1. channels:history, groups:history, users:read 스코프를 가진 Slack 앱을 만듭니다
  2. 워크스페이스에 설치합니다
  3. 채널 메시지는 conversations.history를 호출합니다
  4. 스레드의 이어지는 답글은 conversations.replies로 가져옵니다
  5. 사용자 ID를 표시 이름으로 바꾸려면 users.info를 호출합니다
  6. Markdown으로 출력합니다

요청 제한: 무료 요금제에서는 메서드당 초당 1회입니다. 긴 채널이라면 페이지네이션을 염두에 두세요.

장점: 선택적이고, 스크립트로 짤 수 있고, 정기 작업으로 돌릴 수 있습니다.

단점: Slack 앱이 필요하고, 관리가 엄격한 워크스페이스에서는 관리자 승인이 필요합니다.

방법 4: Slack의 “스레드 링크 복사” + 수동

Slack의 스레드 링크 복사는 URL을 공유해 줍니다. 그 URL을 Minibase에 넘기면 Slack에 들어가 있지 않아도 스레드를 추출합니다.

즉석에서 공유할 때 가장 빠른 길입니다. 스레드 링크를 자신에게(혹은 동료에게) 보내고, 추출은 Minibase에 맡긴 뒤, Markdown을 노트에 떨어뜨리면 됩니다.

Slack 콘텐츠를 LLM 친화적으로 만들기

AI 어시스턴트에게 넘길 목적으로 내보내는 경우라면:

  • 반응은 짧은 인라인 표시로 눌러 담으세요. [:+1: × 4]가 반응한 네 사람을 나열하는 것보다 토큰이 쌉니다.
  • 사용자 ID를 표시 이름으로 바꾸세요. Claude나 ChatGPT는 U02GABC123이 누구인지 알 방법이 없습니다.
  • 타임스탬프만이 아니라 시간 간격을 남기세요. LLM에게는 ISO 타임스탬프 두 개보다 “3시간 뒤”가 잘 읽힙니다.
  • 봇의 자동 메시지는 걷어내세요(GitHub / Jira / Linear / Datadog 봇). 스레드가 봇의 출력 자체를 다루는 경우가 아니라면요.

Minibase의 추출은 이미 대부분을 처리합니다. 사후 분석 요약, 디자인 문서 작성, 고객 피드백 종합을 위해 스레드를 Claude에 넘기는 용도로 다듬어져 있습니다.

실제 작업 흐름

가장 흔한 경우, 즉 “이 스레드를 내 노트나 AI 컨텍스트에 넣고 싶다”라면:

  1. Slack에서 스레드를 엽니다
  2. 스레드의 ⋯ 메뉴에서 스레드 링크 복사를 누릅니다
  3. 새 탭에서 그 URL을 엽니다
  4. Chrome 툴바의 Minibase를 클릭합니다
  5. 다운로드 폴더에 Markdown 파일이 생깁니다

15초입니다. 다른 방법, 즉 관리자 포털에 들어가 전체를 내보내고 JSON을 파싱해 스레드를 찾아 Markdown으로 만드는 길은 같은 결과를 얻는 데 30분이 드는 우회로입니다.

채널 전체를 내보낼 때는 Slack의 워크스페이스 내보내기와 slackdump를 쓰세요. 정기적인 추출에는 Web API를 쓰세요.

Slack은 지식 베이스로 설계되지 않았습니다. Markdown은 그렇게 설계됐습니다. 그 둘을 잇는 일은 이제 클릭 한 번짜리 문제입니다.

Continue reading

더 스마트하게 저장할 준비가 되셨나요?

클릭 한 번으로 모든 웹페이지를 Markdown으로 변환하세요.

Chrome에 추가