팀의 알림을 Slack에서 받기
지각 출퇴근, 휴가 신청, 결재 승인이 Slack 채널에 바로 도착합니다. 팀은 더 이상 매일 아침 세 개의 앱을 확인할 필요가 없습니다. 하나의 채널, 하나의 진실.
팀이 고마워하는 이유
HR 담당자는 더 이상 매일 아침 세 개의 앱을 확인하지 않아도 됩니다. 늦은 출근 체크는 다음 날 요약 메일이 아니라 발생 즉시 알림이 도착합니다. 휴가 신청은 팀 채널에 게시되어 누구나 처리 대기 상황을 볼 수 있고, 결재는 자동으로 알맞은 채널로 라우팅됩니다. 한 번 설정하면 계속 동작합니다.
IT 티켓 불필요
채널 관리자가 Connect를 클릭하고 채널을 선택하면 끝입니다. 테넌트 관리자의 승인이나 30일짜리 구매 절차가 필요 없습니다.
깔끔한 메시지
각 알림은 포맷이 정돈된 Slack 메시지이며, 해당 요청으로 바로 이동하는 딥링크가 포함되어 있습니다. 클릭 한 번이면 처리할 수 있습니다.
원하는 것만 음소거
교대 배정 알림이 필요 없으신가요? 그것만 끌 수 있습니다. 늦은 출근 알림은 그대로 유지됩니다. 알림별 제어는 Pro 등급에서 제공됩니다.
안전하게 잠긴 시크릿
Slack 토큰은 저장 시 암호화됩니다. 설치 후에는 SVDY 지원팀조차 원본 값을 다시 읽을 수 없습니다.
30초 만에 설치
QuTime / PureOA 테넌트의 /admin/integrations를 엽니다.
Slack 카드를 클릭한 뒤 Connect를 누릅니다.
Slack 인증 페이지가 열립니다. 알림을 받을 채널을 선택하세요.
Slack에서 svdy로 돌아오면 초록색 "Connected" 칩과 이벤트별 토글 목록이 보입니다.
(선택) Send test를 클릭해 실제 메시지로 연동을 확인합니다.
필요 요금제: Starter 이상. Free 요금제 조직은 Connect 시 license_required 코드와 함께 402 응답을 받습니다.
켜고 끌 수 있는 알림
총 7가지 알림 — 늦은 출근, 휴가 신청, 결재 승인. Slack 메시지마다 한 줄 요약과 "Open request" 버튼이 있어 관리자가 한 번의 클릭으로 처리할 수 있습니다. 7가지 모두 개별 토글이 가능하므로 채널이 알림 폭탄이 되지 않습니다.
늦은 출근 체크
출처: attendance
clock_in_latePro: 음소거
휴가 신청 제출
출처: leaves
leave_request_submittedPro: 음소거
휴가 승인됨
출처: leaves
leave_request_approvedPro: 음소거
휴가 반려됨
출처: leaves
leave_request_rejectedPro: 음소거
프로세스 신청 제출
출처: process
process_request_submittedPro: 음소거
프로세스 상태 변경
출처: process
process_request_status_changedPro: 음소거
교대 배정
출처: attendance
shift_assignedPro: 음소거
이벤트별 음소거
Professional과 Enterprise 요금제에서는 연결 다이얼로그에 7개 이벤트의 토글이 표시됩니다. 시끄러운 항목(예: 교대 변경이 잦은 조직의 shift_assigned)만 따로 음소거할 수 있고 통합은 그대로 유지됩니다. 하위 요금제는 7개 모두 기본으로 켜져 있으며, 사용할 수 없는 기능을 UI에서 미리 보여주지 않습니다.
PATCH /v1/integrations/connections/slack/event-subscriptions
{
"event_subscriptions": {
"clock_in_late": false,
"shift_assigned": true
}
}부분 PATCH — 본문에서 빠진 키는 기존 값을 유지합니다. 알 수 없는 이벤트 키는 자동으로 무시됩니다(클라이언트의 오타를 방어).
Block Kit 메시지 형식
각 이벤트는 네 개의 Block Kit 블록으로 렌더링됩니다: 이모지 + 제목의 header, mrkdwn 본문의 section, 딥링크가 있을 때의 선택적 actions 버튼, 그리고 이벤트 키와 타임스탬프가 들어가는 작은 회색 context 푸터.
{
"text": "⏰ Alice late by 12 min",
"blocks": [
{ "type": "header",
"text": { "type": "plain_text", "text": "⏰ Alice late by 12 min", "emoji": true } },
{ "type": "section",
"text": { "type": "mrkdwn", "text": "Clocked in at 09:12 · scheduled 09:00 · Front Office" } },
{ "type": "actions",
"elements": [
{ "type": "button", "style": "primary",
"text": { "type": "plain_text", "text": "Open in svdy" },
"url": "https://qutime.com/admin/attendance/entries/te_..." }
] },
{ "type": "context",
"elements": [
{ "type": "mrkdwn",
"text": "`clock_in_late` · 2026-05-24 14:00 UTC" }
] }
]
}문제 해결
설치 실패 시 svdy는 /admin/integrations?integration_error=<코드>로 리디렉션합니다. 자주 보는 코드:
license_required조직 요금제가 Starter(Slack) 또는 Professional(Teams / WeCom) 미만입니다.
/admin/billing에서 업그레이드하거나 영업팀에 문의하세요.
state_expired_or_invalidOAuth state 토큰이 만료되었거나(TTL 5분) 위조되었습니다.
/admin/integrations에서 Connect Slack을 다시 클릭하세요.
provider_mismatchOAuth state가 URL과 다른 공급자용으로 발급되었습니다.
거의 확실히 공격으로 간주하고 거절한 뒤 처음부터 다시 설치하세요.
code_exchange_failedSlack이 인가 코드를 거부했습니다.
연결을 끊고 다시 연결하세요. 계속 발생하면 support@svdy.com으로 문의하세요.
provider_error:access_denied관리자가 Slack 인가 화면에서 "취소"를 눌렀습니다.
Connect Slack을 다시 클릭하고 승인하세요.
다른 메신저 공급자
Slack은 incoming-webhook scope가 채널과 결합된 URL을 반환하기 때문에 OAuth를 사용합니다. Microsoft와 Tencent는 동일한 기능을 제공하지 않으므로, 두 곳 모두 "URL 붙여넣기" 방식을 사용합니다. 플랫폼 내에서 connector / 봇을 만들고, 발급된 URL을 svdy에 붙여 넣으세요.
Microsoft Teams
HTTP 트리거가 있는 Power Automate Workflow를 사용하세요. Microsoft는 2025-12-31에 Office 365 Connectors를 종료했습니다. 페이로드는 Adaptive Card v1.5입니다.
허용되는 webhook URL 호스트: *.webhook.office.com, *.logic.azure.com, *.azurewebsites.net.
WeCom (企业微信)
WeCom에서 그룹 봇(群机器人)을 만들고 webhook URL을 복사하세요. 페이로드는 Markdown(4096바이트 상한).
허용되는 호스트: qyapi.weixin.qq.com. HTTP 상태 코드가 2xx가 아니거나 errcode가 0이 아니면 모두 실패로 처리합니다.
Slack 연결 준비가 되셨나요?
테넌트의 통합 페이지를 열고 Connect를 클릭하세요 — 30초면 동작하는 연결이 완성됩니다. 요금제를 먼저 비교하고 싶다면 가격 정보도 한 번에 확인할 수 있습니다.
