
중요한 이벤트가 발생했을 때, 실시간으로 알림을 받고 싶다면? 이메일보다 더 빠르고 직관적인 방법은 슬랙 또는 카카오톡 자동 알림입니다. 파이썬에서 Webhook(웹훅)을 이용하면 매우 간단하게 구현할 수 있습니다.
이 글에서는 파이썬으로 슬랙과 카카오톡에 알림을 보내는 실전 예제를 코드 중심으로 정리합니다.
1. 웹훅(Webhook)이란?
Webhook은 서버 간 자동으로 데이터를 전달하는 방식입니다. 일반적인 API와 달리 서버가 수신자에게 능동적으로 정보를 푸시하는 것이 특징입니다.
✔️ 활용 예:
- 서버 장애 시 즉시 슬랙에 알림
- 크롤링 성공/실패 메시지 전송
- 일일 보고서 자동 카카오톡 발송
2. 슬랙(Slack) Webhook 설정
1단계: Slack에서 Webhook URL 생성
- https://api.slack.com/apps 접속 → 새 앱 만들기
- "Incoming Webhooks" 활성화
- Webhook URL 생성 (예:
https://hooks.slack.com/services/T000/B000/XXXX)
2단계: 파이썬에서 메시지 전송
import requests
import json
webhook_url = 'https://hooks.slack.com/services/웹훅URL'
message = {
"text": "✅ 크롤링 완료! 새로운 데이터가 수집되었습니다."
}
res = requests.post(webhook_url, data=json.dumps(message))
print("전송 상태:", res.status_code)
✔️ text 키에 알림 메시지를 자유롭게 입력할 수 있습니다. 이모지도 지원됩니다.
3. 카카오톡 자동 알림 보내기
카카오톡은 직접 Webhook을 제공하지 않습니다. 대신 카카오 i 오픈빌더 또는 카카오 알림톡 API를 활용해야 합니다.
방법 1: 카카오 i 오픈빌더 + Webhook
- 카카오 i 오픈빌더에서 챗봇 생성
- Webhook 설정: 외부 서버에서 특정 URL로 POST 요청 보내기
- 카카오톡 챗봇과 사용자 연동 필요
예시: POST 요청 전송
import requests
data = {
"userRequest": {
"utterance": "자동 알림 요청"
}
}
res = requests.post("https://내웹훅주소.com/kakao", json=data)
print(res.status_code)
⚠️ 단점: 사용자 인증 및 챗봇 설계가 필요하고 개인용도엔 복잡할 수 있음
방법 2: 알림톡 API (사업자용)
- 카카오 비즈니스 인증 필요
- 카카오 메시지 API 신청 후 템플릿 승인
- 승인된 템플릿으로만 메시지 전송 가능
API 예시는 다음과 같이 구성됩니다 (비즈앱 기준):
import requests
url = "https://kakaoapi.example.com/send"
headers = {
"Authorization": "Bearer 액세스토큰",
"Content-Type": "application/json"
}
payload = {
"receiver": "01012345678",
"template_code": "TEMPLATE001",
"message": {
"name": "홍길동",
"content": "오늘도 좋은 하루 되세요!"
}
}
res = requests.post(url, headers=headers, json=payload)
print(res.status_code)
⚠️ 이 방식은 기업에서 고객에게 메시지를 보내는 데 적합합니다.
4. 슬랙과 파이썬 자동화 연동 루틴
다음은 APScheduler와 결합한 자동화 예시입니다.
from apscheduler.schedulers.blocking import BlockingScheduler
import requests
def send_slack():
webhook_url = "https://hooks.slack.com/services/웹훅URL"
msg = {"text": "🕒 자동 알림: 서버 상태 정상"}
requests.post(webhook_url, json=msg)
sched = BlockingScheduler()
sched.add_job(send_slack, 'interval', minutes=30)
sched.start()
이렇게 하면 30분마다 자동으로 슬랙 메시지가 전송됩니다.
5. 실무 활용 아이디어
- ✔️ 백업 성공/실패 여부 알림
- ✔️ 웹 크롤링 성공 시 알림
- ✔️ 서버 CPU/메모리 임계값 초과시 즉시 전송
- ✔️ 거래소 API 감시 후 특정 조건 도달 시 알림
간단한 코드만으로도 실시간 모니터링 시스템을 직접 만들 수 있습니다.
자주 묻는 질문 (FAQ)
Q1. 슬랙 Webhook은 무료인가요?
A. 네, 슬랙의 Webhook 기능은 무료이며, 사용량 제한도 관대한 편입니다.
Q2. 카카오톡으로 일반 메시지를 자동 전송할 수 없나요?
A. 일반 카카오톡(친구 대 친구)은 API로 자동 메시지를 보낼 수 없습니다. 반드시 카카오 i 또는 비즈니스 API를 사용해야 합니다.
Q3. 슬랙 메시지에 이미지나 버튼도 넣을 수 있나요?
A. 가능합니다. attachments나 blocks 포맷을 사용하면 이미지, 버튼, 섹션 블록 등을 구성할 수 있습니다.
알림 자동화가 가져오는 업무 혁신
슬랙이나 카카오톡으로의 자동 알림은 단순한 기능이지만, 업무 효율에는 큰 영향을 줍니다. 더 이상 로그를 뒤지고 대기하지 않아도 되며, 실시간 피드백으로 빠른 대응이 가능합니다.
파이썬에서 몇 줄의 코드만으로 나만의 알림 시스템을 만들어보세요. 이제 중요한 이벤트는 절대 놓치지 않을 수 있습니다.