외부 연동웹훅SlackDiscord
웹훅 — Slack · Discord · 범용 연동
프로젝트 설정에서 웹훅 URL 만 등록하면 태스크 생성·이동·완료, 반복 일정 일괄 변경, 채팅 멘션 등이 자동으로 발송됩니다.
약 5분 2026년 5월 5일 업데이트
Slack / Discord 연결
1
Incoming Webhook URL 받기
Slack 은 '앱 → Incoming Webhooks' 에서, Discord 는 '채널 설정 → 통합 → 웹훅' 에서 URL 을 발급합니다.
2
프로젝트 설정에 등록
TaskFlow 프로젝트 설정 > '연동' 탭에서 통합 종류(Slack/Discord/범용)를 선택하고 URL 을 붙여넣습니다.
주의공인 IP HTTPS URL 만 허용됩니다 (SSRF 방어 — 사설 IP·HTTP·loopback 차단).
3
이벤트 필터
기본은 모든 이벤트 수신. config.events 배열로 받고 싶은 이벤트만 골라 받을 수 있습니다.
발송되는 이벤트
- task.created — 새 태스크 생성
- task.updated — 태스크 수정
- task.moved — 컬럼 이동 (이전·이후 컬럼명 포함)
- task.completed — 완료 컬럼 도착
- task.assigned — 담당자 변경
- task.deleted — 태스크 삭제
- task.recurring_created/updated/deleted — 반복 그룹 일괄 변경 (영향 인스턴스 수 + 그룹 ID)
- comment.created — 새 댓글
- chat.message / chat.mention — 채팅 메시지·멘션
범용 웹훅 페이로드
1
이벤트 JSON 구조
범용(generic) 통합은 raw JSON 으로 전송됩니다. event 종류와 entity 메타가 한 객체에 포함됩니다.
POST <your-webhook-url>json
{
"event": "task.completed",
"project": { "id": 12, "name": "Marketing Sprint" },
"actor": { "id": 7, "name": "Geun" },
"task": { "id": 4521, "title": "런딩 카피 검토", "priority": "high",
"url": "https://taskflow.promstack.com/projects/12/board?task=4521" },
"from": { "name": "진행 중" },
"to": { "name": "완료" },
"timestamp": "2026-05-05T08:21:11.302Z"
}2
재시도·실패
각 웹훅 호출은 8초 타임아웃 + non-blocking 발송이라 메인 응답에 영향이 없습니다. 200 이외 응답은 로그에만 남고 자동 재시도는 하지 않습니다.
참고안정적인 전송이 필요하면 Slack/Discord 같은 안정 PG 또는 큐 기반 자체 엔드포인트를 권장합니다.
이 가이드가 도움이 되었나요?