문서
Microsoft Teams 알림 및 리포트
Teams 채널에서 Workflows 웹훅을 만들어 AutoPSEO에 추가하면, 알림과 예약 리포트를 심각도별 색상이 적용된 Adaptive Card로 받아볼 수 있습니다.
AutoPSEO는 Workflows 웹훅을 통해 Microsoft Teams에 메시지를 보냅니다. Teams에서 특정 채널에 게시할 수 있는 URL을 발급받아 AutoPSEO에 Teams 채널로 추가하면 됩니다. 이후 알림, 예약 리포트, 테스트 메시지, 일회성 리포트 요약이 Adaptive Card 형태로 도착하며, 제목에는 심각도에 따른 색상이 적용되고 리포트로 이동하는 버튼이 함께 표시됩니다. Slack 워크스페이스는 필요 없고, Teams에 AutoPSEO 앱을 설치할 필요도 없습니다.
Teams에서 웹훅 URL 발급받기
Microsoft의 수신 웹훅 가이드에 따라 Workflows 앱으로 URL을 만듭니다.
- Teams에서 카드를 받을 채널로 이동하여 채널 옆의 More options (...) 를 선택합니다.
- Workflows 를 선택한 다음 웹훅 템플릿을 고릅니다. 현재 Microsoft에서는 이 템플릿을 Send webhook alerts to a channel 이라고 부릅니다. AutoPSEO 설정 페이지의 안내에는 이전 이름인 Post to a channel when a webhook request is received 가 아직 남아 있습니다.
- 템플릿에 자동으로 채워진 팀과 채널이 맞는지 확인한 뒤 Save 를 클릭합니다.
- 워크플로가 보여 주는 웹훅 링크를 복사합니다.
이전 Incoming Webhook 커넥터(webhook.office.com)의 URL도 계속 사용할 수 있습니다. 다만 Microsoft가 Microsoft 365 커넥터를 단계적으로 종료하고 신규 생성도 차단할 예정이므로, 지금 새로 설정한다면 Workflows를 사용하세요.
AutoPSEO에 채널 추가하기
- Slack, Teams & Webhooks 의 Microsoft Teams 섹션에서 New Teams channel 을 클릭합니다. 대상이 Microsoft Teams로 지정된 상태로 양식이 열립니다.
- 알아보기 쉬운 Name 을 입력하고 URL을 붙여넣습니다. Teams 항목에는 Workflows 및 커넥터 주소(
logic.azure.com,powerautomate.com,azure-api.net,webhook.office.com등의 호스트)만 허용되며, 그 외의 호스트는 거부됩니다. - Add channel 을 클릭한 다음, 해당 행의 Send test 를 클릭합니다. 채널에 항목 이름이 제목으로 표시된 카드가 나타나야 합니다.
- 예약 리포트 또는 알림을 만들고 이 채널을 선택합니다.
규칙 하나는 채널 하나로만 전송됩니다. 같은 알림을 Slack과 Teams 양쪽에서 받으려면 각각 하나씩, 규칙을 두 번 만드세요.
카드 구성
각 메시지는 하나의 Adaptive Card(버전 1.4, 전체 너비)로 만들어지며, Microsoft 공식 예제에서 사용하는 application/vnd.microsoft.card.adaptive 첨부 파일이 담긴 message 봉투로 감싸져 전송됩니다.
- 제목: 큰 굵은 글씨로 표시됩니다. 알림은 심각도가 critical, high이면 카드의 Attention 색상, medium이면 Warning 색상, low이면 기본 색상을 사용하며, 리포트와 테스트는 Accent 색상을 사용합니다.
- 요약: Slack 메시지와 동일한 문장에 날짜 범위를 더한 내용입니다.
- 주요 지표: 클릭 수와 그 변화량, 또는 알림의 현재 값과 기준값 비교처럼 라벨이 붙은 값이 최대 12개까지 표시됩니다.
- 표: 리포트와 리포트 요약에 포함되며, 고정폭 글꼴로 최대 열 개의 행을 보여 줍니다.
- 푸터: 속성, Search Console 데이터가 약 하루 늦게 반영되며 확정된 날짜만 집계된다는 안내, 그리고 발신자가 표시됩니다.
- Open report: AutoPSEO의 해당 리포트로 이동하는 버튼입니다.
카드가 도착하지 않을 때
Send test 는 실패 즉시 결과를 알려 주며, 예약 메시지의 경우 Delivery history 에 Teams가 보낸 응답이 기록됩니다.
| 증상 | 예상 원인 | 해결 방법 |
|---|---|---|
| 저장 시 "That does not look like a Teams Workflows or Incoming Webhook URL" 표시 | URL이 Workflows 또는 커넥터 호스트에 속하지 않음 | 워크플로에서 링크를 다시 복사 |
| Send test 에서 HTTP 400 | Teams 웹훅이 아님. Slack URL, Zapier 훅이거나 다른 본문 형식을 기대하도록 수정된 워크플로일 수 있음 | 템플릿에서 새 워크플로를 만들고 그 URL을 추가 |
| 10초 후 시간 초과 | Teams가 제시간에 응답하지 않음 | 나중에 다시 시도 |
| 리디렉션이 따라가지지 않음 | URL이 다른 곳으로 전달됨 | 최종 URL을 대신 추가 |
| 동료가 팀을 떠난 뒤 카드가 오지 않음 | Microsoft는 각 워크플로를 소유자에게 연결해 두며, 소유자가 없는 워크플로는 중단될 수 있음 | 워크플로에 공동 소유자를 추가하거나 다시 생성 |
전송에 실패한 예약 리포트는 같은 기간 내에 다시 전송되지 않습니다. 원인을 해결한 다음 Send now 를 사용하세요.
웹훅을 대신 사용해야 하는 경우
Teams와 아웃바운드 웹훅은 같은 규칙을 처리할 수 있지만 대상 독자가 다릅니다. Teams 채널은 사람을 위한 것으로, 별도로 구축할 것 없이 서식이 적용된 카드를 받아볼 수 있습니다. 웹훅은 소프트웨어를 위한 것으로, Zapier, Make, n8n 또는 자체 서비스에서 사용할 수 있도록 원본 이벤트를 서명된 JSON으로 전달합니다. Teams는 AutoPSEO의 이벤트 JSON이 아니라 카드를 기대하므로, Teams URL은 항상 Microsoft Teams 아래에 추가해야 합니다.
Teams 사용자가 받을 수 있는 기능의 개요는 Microsoft Teams 페이지에서 확인하세요.