Slack AI 봇이 유용한 이유는, 팀이 이미 일하는 곳으로 어시스턴트를 직접 가져올 수 있기 때문입니다.
브라우저 탭을 오가며 질문하는 대신, Slack 안에서 요약, 오류 분석, 코드 설명, 내부 워크플로 보조를 바로 받을 수 있습니다. 그래서 커스텀 봇은 많은 팀에서 일반적인 브라우저형 AI보다 더 실용적일 수 있습니다.
이 글은 Node.js, Slack Bolt, OpenAI API를 이용해 기본적인 Slack AI 봇을 만드는 흐름을 정리한 가이드입니다. 팀에서 실제로 Slack 봇을 운영해 보니, 장애 알림 채널에서 “@bot 이 에러 로그 요약해줘”라고 치면 5초 안에 핵심 원인과 관련 문서 링크를 돌려주는 것이 가장 유용했습니다. 브라우저 탭을 오가는 시간이 하루 30분 이상 줄었습니다.
첫 버전은 무엇만 하면 될까
처음엔 단순하게 시작하는 편이 좋습니다.
좋은 첫 버전은 보통 이 정도면 충분합니다.
- 멘션을 받기
- 사용자 메시지를 OpenAI에 보내기
- 답변을 thread로 돌려주기
- 오류를 로그에 남기기
이 정도만 해도 retrieval이나 내부 도구 연동을 붙이기 전에, 이 워크플로가 실제로 유용한지 확인할 수 있습니다.
시작 전에 필요한 것
필요한 것은 세 가지입니다.
- 로컬에 Node.js가 설치된 환경
- OpenAI API 키
- Slack 앱을 만들거나 설치할 수 있는 워크스페이스
이 세 가지가 준비되면 나머지는 연결 작업에 가깝습니다.
1. Slack 앱 만들기
Slack 앱 대시보드에서 새 앱을 만듭니다.
그 다음 아래를 설정합니다.
- bot user
app_mentions:readchat:write
설치를 마치면 xoxb-로 시작하는 bot token을 받게 됩니다.
2. 로컬 개발을 위해 Socket Mode 켜기
로컬 개발에서는 public webhook보다 Socket Mode가 훨씬 간단할 때가 많습니다.
다음을 켭니다.
- Socket Mode
xapp-로 시작하는 app-level tokenapp_mention이벤트 구독
이렇게 하면 public endpoint 없이도 로컬에서 이벤트 흐름을 바로 시험할 수 있습니다.
3. 프로젝트 의존성 설치
작은 Node 프로젝트를 만들고 패키지를 설치합니다.
npm init -y
npm install @slack/bolt openai dotenv
@slack/bolt는 Slack 연동을, 공식 openai 패키지는 모델 호출을 담당합니다.
4. Slack과 OpenAI 연결하기
첫 번째 usable version은 이벤트 핸들러 하나면 충분합니다.
import 'dotenv/config';
import { App } from '@slack/bolt';
import OpenAI from 'openai';
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const app = new App({
token: process.env.SLACK_BOT_TOKEN,
appToken: process.env.SLACK_APP_TOKEN,
socketMode: true,
});
app.event('app_mention', async ({ event, say }) => {
try {
const result = await openai.responses.create({
model: 'gpt-4.1-mini',
input: [
{
role: 'system',
content: 'You are a practical engineering assistant. Answer clearly and keep replies concise unless the user asks for depth.',
},
{
role: 'user',
content: event.text,
},
],
});
await say({
text: result.output_text,
thread_ts: event.ts,
});
} catch (error) {
console.error(error);
await say({
text: '모델 호출 중 오류가 발생했습니다.',
thread_ts: event.ts,
});
}
});
await app.start();
console.log('Slack AI bot is running.');
이 정도면 end-to-end 흐름을 검증하기엔 충분합니다.
5. 필요한 시크릿 저장하기
로컬 개발에서는 .env에 값을 넣습니다.
OPENAI_API_KEY=sk-...
SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
배포할 때는 이 값들을 소스 코드에 두지 말고, 호스팅 플랫폼의 환경 변수 시스템으로 옮기는 편이 좋습니다.
6. 실행하고 테스트하기
로컬에서 실행합니다.
node index.js
그 다음 Slack 채널에 봇을 초대하고, 이런 식으로 멘션해서 테스트합니다.
@MyAIAssistant useEffect를 세 줄로 설명해줘
설정이 맞으면 thread로 답변이 돌아옵니다.
언제 커스텀 Slack 봇이 더 유용해질까
첫 버전은 모델 래퍼에 가깝지만, 진짜 가치는 팀 맥락과 워크플로에서 나옵니다.
커스텀 봇이 더 강해지는 시점은 보통 이렇습니다.
- 팀 전용 프롬프트 사용
- 로그나 incident 요약
- 내부 문서 기반 답변
- SOP나 운영 절차 보조
- Slack 안에서 협업 흐름 유지
이 지점부터는 단순 재미 기능이 아니라 실제 작업 도구가 됩니다.
초반에 자주 하는 실수
1. 처음부터 너무 큰 봇을 만들려 하기
멘션을 받고 답하는 흐름부터 검증하고, retrieval과 tool 연동은 나중에 붙이는 편이 좋습니다.
2. 너무 긴 답변을 그대로 보내기
Slack은 메신저 인터페이스라서 짧고 구조적인 답이 더 잘 맞습니다.
3. thread 동작을 무시하기
원래 대화 thread 안에서 답하게 해야 훨씬 읽기 쉽습니다.
4. 시크릿과 공개 설정을 헷갈리기
API 키와 Slack token은 절대 클라이언트 안전 값처럼 다루면 안 됩니다.
FAQ
Q. 브라우저에서 ChatGPT를 쓰면 되는데 왜 Slack 봇을 만드나요?
팀이 이미 질문하고 로그를 공유하고 협업하는 곳이 Slack이기 때문에, 그 안으로 모델을 가져오면 마찰이 크게 줄어듭니다.
Q. 첫 봇이 동작한 다음엔 무엇을 붙이면 좋을까요?
보통은 내부 문서 retrieval, 티켓 요약, 팀 전용 프롬프트 같은 기능이 가장 실용적입니다.
Q. 로컬 테스트에도 public 서버가 꼭 필요한가요?
아니요. 개발 단계에서는 Slack Socket Mode로 충분합니다.
Read Next
- 사내 데이터까지 붙인 버전이 궁금하다면 Supabase RAG Chatbot Guide를 보세요.
- 모델 평가와 반복 개선 흐름까지 보고 싶다면 Harness Engineering Guide가 다음 글입니다.
Related Posts
먼저 읽어볼 가이드
검색 유입이 많은 핵심 글부터 이어서 보세요.
- 미들웨어 트러블슈팅 가이드: Redis, RabbitMQ, Kafka 중 어디부터 볼까 Redis, RabbitMQ, Kafka가 함께 있는 시스템에서 지금 보이는 장애가 어느 계층에 더 가까운지, 첫 10분 안에 무엇을 확인하고 어떤 글로 들어가야 하는지 정리한 실전 허브 가이드입니다.
- Kubernetes CrashLoopBackOff: 먼저 볼 것들 startup failure, probe, config, resource limit 관점에서 CrashLoopBackOff를 어떻게 나눠서 봐야 하는지 정리한 가이드입니다.
- Astro 기술 블로그 SEO 체크리스트: 트래픽 기다리기 전에 먼저 고칠 것 Astro 기술 블로그를 위한 실전 SEO 체크리스트입니다. 배포 호스트 확인, robots.txt, sitemap, canonical, hreflang, 구조화 데이터, 페이지별 메타데이터, noindex 판단, 검증 명령까지 우선순위대로 정리합니다.
- 다국어 블로그 canonical과 hreflang 설정 가이드: 무엇을 확인하고 어디서 깨질까 다국어 블로그에서 canonical과 hreflang을 어떻게 설정해야 하는지 실전 기준으로 정리합니다. self-canonical, 상호 연결되는 hreflang 묶음, x-default, 카테고리 페이지, 최종 렌더 HTML 점검, 한 언어 버전이 다른 언어 버전을 눌러버리는 실수까지 다룹니다.
- OpenAI Codex CLI 설치 가이드: 설치, 인증, 첫 작업까지 OpenAI Codex CLI를 실전 기준으로 설치하는 방법을 정리했다. 설치, 로그인, 첫 실행, Windows 주의점, 첫 작업을 어떻게 시작하면 좋은지까지 다룬다.