문서
incoming webhook으로 Slack 연결하기
채널용 Slack incoming webhook을 만들어 AutoPSEO에 추가하고, 테스트 메시지를 보내고, 전송에 실패할 때 Slack이 반환하는 오류를 해결하세요.
AutoPSEO는 incoming webhook을 통해 Slack에 메시지를 보냅니다. Slack에서 특정 채널 하나에 글을 쓸 수 있는 URL을 발급받아 AutoPSEO에 붙여 넣으면, 리포트와 알림이 해당 채널로 전송됩니다. AutoPSEO는 워크스페이스에 아무것도 설치하지 않습니다. 메시지를 읽거나, 채널 목록을 조회하거나, webhook이 가리키지 않는 곳에 메시지를 게시할 수 없습니다. 메시지를 받으려는 채널마다 항목을 하나씩 추가하세요.
Slack에서 webhook 만들기
Slack은 Slack 앱을 통해 incoming webhook을 발급합니다. Slack의 incoming webhook 가이드를 따라 진행하세요.
- 워크스페이스에서 사용할 Slack 앱을 새로 만들거나, 알림용으로 이미 쓰고 있는 앱을 엽니다. 팀원이 알아보기 쉬운 이름(예: SEO reports)을 지정하세요.
- 앱 설정에서 Incoming Webhooks를 열고 Activate Incoming Webhooks를 켭니다.
- Add New Webhook to Workspace를 클릭하고 채널을 선택한 다음 승인합니다. 비공개 채널은 먼저 해당 채널의 멤버여야 합니다.
- Webhook URLs for Your Workspace에서 새 URL을 복사합니다. URL은
https://hooks.slack.com/services/로 시작합니다.
채널을 더 추가하려면 3~4단계를 반복하세요. 앱 하나에 webhook을 여러 개 만들 수 있습니다. Slack의 이전 방식인 custom integration webhook으로 만든 URL도 계속 작동하지만, Slack은 이를 앱으로 옮기라고 권장합니다.
Slack은 이 URL을 비밀 정보로 취급합니다. URL을 아는 사람은 누구나 해당 채널에 글을 올릴 수 있습니다. AutoPSEO에만 붙여 넣고, 티켓, 위키, 스크린샷에는 노출하지 마세요.
AutoPSEO에 추가하기
- Slack, Teams & Webhooks 페이지에서 Slack - Connected workspaces를 찾아 Add to Slack을 클릭합니다. 대상이 Slack으로 미리 선택된 New channel 양식이 열립니다.
- Name: AutoPSEO의 목록, 전송 기록, 테스트 메시지에 표시될 이름입니다. 예:
#seo-alerts - Webhook URL: Slack에서 복사한 URL을 붙여 넣습니다. Slack 항목에는 slack.com의
https주소만 허용되며, URL 형식이 맞지 않으면 AutoPSEO가 즉시 알려 줍니다. - Add channel을 클릭한 다음, 새로 생긴 행에서 Send test를 클릭합니다. 항목 이름이 담긴 짧은 메시지가 몇 초 안에 Slack에 도착합니다. AutoPSEO는 Slack이 응답하는 데 걸린 시간도 함께 표시합니다.
URL은 암호화(AES-GCM)되어 저장됩니다. 이후 목록에는 호스트와 끝 몇 글자만 표시되므로, 각 항목이 어느 Slack 채널로 전송되는지 알 수 있도록 이름을 정하세요.
다음으로 전송할 내용을 설정합니다. 예약 리포트 또는 알림을 만드세요. 목록 아래의 Slack - Subscriptions 표에는 Slack 채널별로 해당 채널에 게시하는 모든 규칙과 일정, 활성 또는 일시중지 상태가 표시됩니다.
여러 채널과 워크스페이스
webhook URL은 한 워크스페이스의 채널 하나에 연결되며, Slack에서는 메시지에서 webhook이 만들어진 채널을 변경할 수 없습니다. 덕분에 동작을 예측하기 쉽습니다.
- Slack 채널 하나에 항목 하나입니다. 클라이언트를
#client-a와#client-b로 나누려면 각각 webhook을 만들어 둘 다 추가하세요. - 워크스페이스가 여러 개인 경우에도 마찬가지입니다. 각 webhook은 만든 워크스페이스에 속합니다.
- 항목 하나에 규칙을 여러 개 연결할 수 있습니다. 주간 리포트와 트래픽 하락 알림을 같은 항목으로 보내거나, 알림만 더 활발한 별도 채널로 보낼 수도 있습니다.
메시지가 도착하지 않을 때
Send test를 누르면 원인이 바로 표시됩니다. 예약 메시지는 Delivery history를 열어 확인하세요. 실패한 전송마다 Slack의 응답이 기록되어 있습니다.
| AutoPSEO 표시 | 의미 | 해결 방법 |
|---|---|---|
| Slack rejected the URL (no_service) | Slack에서 webhook이 삭제되었거나 비활성화되었거나, URL이 잘못 입력되었습니다 | 새 webhook을 만들어 추가한 다음 이전 항목을 삭제하세요 |
| The Slack channel no longer exists, or is archived | Slack이 channel_not_found 또는 channel_is_archived로 응답했습니다 | 사용 중인 채널의 webhook을 새로 만드세요 |
| Slack is rate limiting us | Slack이 HTTP 429로 응답했습니다 | 잠시 기다린 후 Send now 또는 Test rule을 사용하세요 |
| Timed out after 10 seconds | Slack이 제때 응답하지 않았습니다 | 나중에 다시 시도하세요 |
| Your trial has ended | 활성화된 요금제나 체험 기간이 없습니다 | 요금제를 선택하세요. 선택하면 예약 전송이 다시 시작됩니다 |
실패한 예약 리포트는 같은 기간 안에 다시 전송되지 않으므로, 원인을 해결한 뒤 Send now를 사용하세요. 게시하지 못한 알림은 다음 확인 시점에 다시 평가됩니다(알림이 실행되는 시점 참고).
Slack 채널 삭제하기
항목 행에서 Delete를 클릭하면 저장된 URL이 삭제되며, 확인 창에 표시되는 개수만큼 해당 항목으로 게시하던 모든 규칙도 함께 삭제됩니다. AutoPSEO는 Slack 쪽 설정을 변경하지 않습니다. 누군가 Slack 앱에서 직접 제거하기 전까지 webhook은 계속 작동하므로, URL이 다른 사람에게 노출되었을 수 있다면 Slack 앱에서도 함께 삭제하세요.