스레드 목록 관리Thread Management
Teams 채널 스레드를 자동으로 가져와 미완료와 완료로 분류합니다. 제목, 작성자, 상태, 마감일, 우선순위, 태그 — 6개 필드를 한 화면에서 확인할 수 있습니다.
모든 Teams 채널 스레드를 최종 "완료"까지 추적합니다.
ThreadManager는 Microsoft Teams 채널 게시물을 완료까지 이끄는 SharePoint Framework 웹 파트입니다. 각 팀의 SharePoint 사이트에 배포되며 중앙 서버도 추가 라이선스도 필요하지 않습니다. 안전하고, 저비용이며, ITSN 사내에서 실증된 솔루션입니다.
요청, 질문, 장애 보고가 Teams 채널을 가득 채우고 스크롤 속으로 사라집니다. "그게 결국 어떻게 됐지?"라며 스레드를 다시 뒤지고 있지는 않으신가요?
ThreadManager는 채널 스레드를 자동으로 태스크로 가져와 담당자, 상태, 마감일, 우선순위를 한 화면에서 관리할 수 있게 합니다. 스레드가 해결되면 클릭 한 번으로 관련자 모두에게 Teams 네이티브 알림이 발송됩니다. 누락 없음.
v1.0.0.85의 실제 스크린샷입니다. 목록 관리부터 Kanban, Gantt, 캘린더까지 모두 Teams와 SharePoint 안에서 네이티브로 동작합니다.
v1.0.0.12에서 UI/UX를 대폭 개선했습니다. 최신 v1.0.0.85는 캘린더 마감일 트레이, Gantt 베이스라인, 템플릿, 반복 스레드, Compose(빠른 추가), 오프라인 내성을 추가했습니다. 모든 기능은 각 팀의 SharePoint 사이트 내에서 동작하며 중앙 서버나 외부 SaaS 의존성이 없습니다.
Teams 채널 스레드를 자동으로 가져와 미완료와 완료로 분류합니다. 제목, 작성자, 상태, 마감일, 우선순위, 태그 — 6개 필드를 한 화면에서 확인할 수 있습니다.
셀을 클릭하면 담당자, 상태, 마감일, 태그를 바로 편집할 수 있습니다. 낙관적 동시성 제어로 여러 사용자가 동시에 편집해도 안전합니다.
상태, 우선순위, 태그, 담당자, 마감일 범위로 필터링합니다. 제목, 노트, 작성자에 대한 부분 일치 검색도 지원합니다. 상태는 URL에 유지되어 페이지를 새로 고침해도 사라지지 않습니다.
Microsoft Graph API를 통해 직접 전송되는 4가지 알림 유형: 완료 → 채널 게시물; 담당자 지정 / 마감일 알림(임박 및 초과) / 노트 내 @멘션 → 개인 Activity Feed. 24시간 쓰로틀로 알림 피로를 방지합니다. 외부 서비스나 추가 라이선스 없음 — 완전히 Teams 내부에서 동작합니다.
새 팀에 배포할 때 PowerShell이 필요하지 않습니다. "자동 설정" 클릭 한 번으로 9개의 목록과 모든 열을 멱등적으로 프로비저닝합니다.
M365 그룹 소유자만 알림을 활성화하고 대상 채널을 선택하며 수신자를 변경할 수 있습니다. 일반 구성원은 설정을 읽기 전용으로만 볼 수 있습니다. 구성은 팀의 SharePoint 내에 유지되어 표준 권한을 상속합니다.
모든 작업이 correlationId와 함께 DiagnosticsLog에 기록됩니다. 사용자 동작을 끝에서 끝까지 추적하여 문제가 발생한 위치를 정확히 진단할 수 있습니다.
SharePoint 웹 파트와 Teams 채널 탭 양쪽 모두로 동작합니다. 동일한 코드, 동일한 데이터, 동일한 권한 모델입니다.
데이터는 각 팀의 SharePoint 사이트 내에 머뭅니다. 중앙 서버도, 중앙 데이터베이스도 없습니다. 팀의 정보는 팀 안에 존재합니다.
편집 내용은 800ms 디바운스 후 자동 저장됩니다 — 저장 버튼을 잊을 일이 없습니다. 다른 사용자가 먼저 저장한 경우 충돌 감지가 병합 프롬프트를 표시합니다. 낙관적 동시성 제어로 다중 사용자 편집이 안전합니다.
Stale-while-revalidate 캐싱으로 첫 실행 이후 모든 시작이 거의 즉시 이루어집니다. 기존의 11.6초 콜드 스타트가 사라졌습니다. UI는 캐시에서 즉시 렌더링되는 동안 최신 데이터가 백그라운드에서 조용히 가져와집니다.
마스터-디테일 카드 하이브리드 레이아웃으로 페이지를 벗어나지 않고 목록과 상세를 나란히 표시합니다. 아무 행이나 우클릭하면 채팅 열기 / 나에게 할당 / 다른 사람에게 할당 / 상태 변경 / 우선순위 변경 / 마감일 설정에 즉시 접근할 수 있습니다. 모바일(<600 px)에서는 상세 패널이 전체 화면으로 표시되며 뒤로 버튼과 44 px 이상의 터치 대상을 제공합니다.
상태는 5개 값으로 확장됩니다: 미시작 / 진행 중 / 검토 중 / 보류 / 완료. 담당자는 M365 그룹 구성원의 검색 가능한 드롭다운에서 선택합니다(미지정 허용). 담당자로 정렬하면 미지정 항목이 항상 맨 아래에 위치합니다 — "아무도 담당하지 않는 항목"이 눈에 띄게 됩니다.
빠른 검색은 항상 표시되고 고급 필터는 적용 개수 배지와 함께 접혀 화면 공간을 절약합니다. 새 스레드는 읽지 않음 표시(파란 점 + 굵게)를 발동시키며 클릭 한 번으로 해제됩니다. 노트에서 @를 입력하면 구성원 선택기가 나타나 — 멘션된 사용자는 배지와 Teams Activity Feed 알림을 받습니다.
오른쪽 상단의 "새 스레드"를 탭하여 Compose 패널을 엽니다. 대상 채널, 제목, 본문, 담당자, 우선순위, 태그, 마감일을 입력한 후 Teams에 직접 게시합니다. 스레드는 즉시 ThreadManager에서 추적됩니다. Teams로 전환하여 별도로 게시할 필요가 없으며 작성부터 관리까지 모든 흐름이 한 곳에서 이루어집니다. (게시는 명시적인 버튼 클릭이 필요합니다 — 의도치 않은 자동 게시 없음.)
월간 또는 주간 캘린더에서 마감일별로 스레드를 탐색합니다. 마감일이 없는 스레드는 화면 하단의 영구 트레이에 모이며 — 칩을 날짜 셀로 드래그하면 마감일이 지정됩니다. "언제 할 것인지"를 결정하는 일이 시각적이고 즉각적이 됩니다.
스레드를 타임라인 바로 봅니다. 베이스라인 모드를 켜면 스레드마다 계획(예정 시작 → 마감)과 실적(착수 → 완료) 두 개의 바를 표시하고 지연과 조기 완료를 색으로 구분합니다. 날짜가 없는 스레드는 빈 레인으로 표시되며 드래그로 즉시 시작일과 마감일을 설정할 수 있습니다.
미시작, 진행 중, 검토 중, 보류 열 사이로 카드를 드래그하여 직관적으로 상태를 업데이트합니다. 완료 열은 미완료 범위에서 숨겨져 진행 중인 작업에 집중할 수 있습니다.
자주 사용하는 스레드를 템플릿(제목, 담당자, 우선순위, 태그, 마감일, 본문)으로 저장합니다. "지금 작성"을 누르면 내용을 검토한 후 Teams 채널에 직접 게시하고 즉시 추적됩니다. 템플릿은 팀 전체에서 공유되어 반복 업무 설정이 즉각적이 됩니다.
모든 템플릿에 반복 규칙(매일 / 선택한 요일마다 매주 / 선택한 날짜에 매월)을 연결합니다. 예정된 날이 되면 ThreadManager가 검토를 위해 대기 중인 생성물을 제시합니다 — 게시 전에 확인하므로 채널이 의도치 않은 자동 메시지로 채워지지 않습니다.
현장이나 이동 중 연결이 끊겨도 계속 편집할 수 있습니다. 오프라인 상태에서 변경된 내용은 기기에 안전하게 큐에 들어가고 연결이 복원되는 순간 자동으로 재전송됩니다. 오프라인 기간 동안 대기 개수 표시가 있는 배너가 나타납니다. "입력했는데 저장이 안 됐어"는 이제 없습니다.
개인 설정에서 활성화하면 담당 스레드를 자신의 Outlook 캘린더(마감일이 캘린더 이벤트가 됨)와 Microsoft To Do(미완료 스레드가 태스크가 됨)에 동기화합니다. 동기화는 단방향(ThreadManager → 외부)이며 기본적으로 꺼져 있습니다 — 필요한 사용자만 옵트인합니다.
Microsoft 365 표준 스택(SharePoint Framework + Microsoft Graph) 위에 구축됩니다. 추가 서버나 라이선스가 필요하지 않습니다.
SharePointWebPart / TeamsTab / TeamsPersonalApp. SharePoint 사이트 페이지 또는 Teams 채널 탭으로 추가할 수 있습니다.ChannelMessage.Read.All 채널 메시지를 읽어 태스크 스레드로 가져옴 /
Channel.ReadBasic.All 채널 기본 정보 조회 /
ChannelMember.Read.All 채널 멤버를 조회하여 담당자 후보 표시 /
Team.ReadBasic.All 팀 기본 정보 조회 /
Group.Read.All 팀(그룹) 정보 · 소유자 판별 /
User.ReadBasic.All 표시 이름 확인(기본 프로필만) /
ChannelMessage.Send 완료 알림을 채널에 답글로 게시 /
TeamsActivity.Send Teams 활동 알림(피드 알림) 전송 /
Calendars.ReadWrite 로그인 사용자 본인의 일정(/me/events) /
Tasks.ReadWrite 로그인 사용자 본인의 To Do(/me/todo)에 태스크 생성AllSites.FullControl (웹 파트 배포 사이트로 범위 한정)Calendars.ReadWrite / Tasks.ReadWrite는 로그인 사용자 본인의 데이터만 대상이며, 다른 사용자의 데이터에는 일절 접근하지 않습니다.
최종 사용자부터 테넌트 관리자까지 모두가 "이건 좋다"고 말할 수 있도록 설계되었습니다.
무엇을 만들지 않을지를 선택하는 것 자체가 디자인 결정입니다. 제품을 간결하게 유지하기 위해 의도적으로 제외한 것을 명시합니다. 또한 공개 릴리스 계획도 공유합니다.
댓글, 첨부파일, 이모지 반응은 이미 Teams 스레드에 있습니다 — 우리는 이것을 의도적으로 재구축하지 않습니다. ThreadManager는 Teams가 제공하는 것과 경쟁하는 또 다른 무거운 작업 관리 도구가 아닙니다. Teams 위의 얇은 진행 상황 레이어로서 Teams가 부족한 것, 즉 구조화된 상태 추적만을 추가합니다.
이 절제의 장점: ① 낮은 학습 곡선, ② 기존 Teams 습관 무중단, ③ 팀 데이터가 SharePoint 내에 유지, ④ 예측 가능한 업그레이드 영향.
현재 사내 사용을 확대하고 기능을 성숙시키는 단계에 있습니다. v1.0.0.12에서 대규모 UI/UX 개선(4가지 네이티브 알림, 자동 저장, 캐시 가속)을 제공했습니다. v1.0.0.85는 캘린더 마감일 트레이, Gantt 베이스라인, 템플릿, 반복 스레드, Compose, 오프라인 편집을 추가했습니다. 일상적인 사용 경험이 크게 달라졌습니다.
다음 마일스톤에서 외부 공개를 계획하고 있습니다. AppSource / SharePoint Store 공개를 2026년 내로 예정하고 있습니다(시기는 예정이며 확정된 것은 아닙니다). 가격 모델은 문의 시 안내해 드립니다. 상세 기능 로드맵은 내부 운영 정보로 비공개이지만 NDA 체결 후 상세 설명이 가능합니다.
테넌트 관리자 작업과 팀 소유자 작업이 명확하게 분리되어 있습니다. SharePoint에 익숙한 팀이라면 30분 안에 가동할 수 있습니다.
이 페이지에서 직접 sp-task-list.sppkg를 다운로드합니다. 알림은 Teams 네이티브 기능(Microsoft Graph)을 사용하므로 추가 템플릿이 필요하지 않습니다. 어디든 저장하세요.
SharePoint 관리 센터의 앱 카탈로그에 sp-task-list.sppkg를 업로드합니다. "배포"를 클릭하여 테넌트 전체에서 활성화합니다.
# SharePoint Admin Center > https://<tenant>-admin.sharepoint.com > Apps → App Catalog → "Add an app" > Upload sp-task-list.sppkg > Click "Deploy"
SharePoint 관리 센터 → "API 액세스"에서 모든 대기 중인 요청을 승인합니다. Microsoft Graph 10개 스코프와 SharePoint 권한 모두가 대상입니다.
# 승인 대상 (Microsoft Graph: 10개 스코프) ✓ Microsoft Graph: ChannelMessage.Read.All ✓ Microsoft Graph: Channel.ReadBasic.All ✓ Microsoft Graph: ChannelMember.Read.All ✓ Microsoft Graph: Team.ReadBasic.All ✓ Microsoft Graph: Group.Read.All ✓ Microsoft Graph: User.ReadBasic.All ✓ Microsoft Graph: ChannelMessage.Send ✓ Microsoft Graph: TeamsActivity.Send ✓ Microsoft Graph: Calendars.ReadWrite ✓ Microsoft Graph: Tasks.ReadWrite ✓ SharePoint: AllSites.FullControl
SharePoint 관리 센터 → "Teams용 앱"에서 동기화를 트리거합니다. 앱은 일반적으로 몇 시간 내, 최대 24시간 이내에 Teams 앱 스토어에 나타납니다.
아래에서 원하는 배포 방법을 선택하세요. 두 가지 옵션 모두 동일한 코드와 동일한 데이터를 사용합니다.
# 옵션 A: SharePoint 페이지 웹 파트 > 팀 SharePoint 사이트 → 편집 > "+" 버튼 → "ITSN ThreadManager" 선택 # 옵션 B: Teams 채널 탭 > Teams 채널 → "+"로 탭 추가 > "ITSN ThreadManager" 검색 → 추가
설정 화면은 첫 실행 시 자동으로 나타납니다. "자동 설정 시작"을 클릭하면 9개의 목록과 모든 열이 멱등적으로 프로비저닝됩니다. 진행 상황은 프로그레스 바로 표시됩니다.
# 자동 프로비저닝되는 목록 (9) ✓ Threads 스레드 본체(작성자 · 담당자 · 마감일 · 상태 · 태그) ✓ Milestones 마일스톤(주요 시점 · 예정 기간) ✓ ActivityLog 작업 활동 로그 ✓ Reactions 반응(이모지 리액션) ✓ ThreadTemplates 스레드 템플릿 ✓ IntegrationLinks 외부 연동 링크(Outlook / To Do) ✓ WebhookConfig Webhook 연동 설정(베타) ✓ ChannelRegistry 대상 채널 등록 ✓ DiagnosticsLog 관측(진단) 로그
관리 탭에서 "+ 채널 등록"을 클릭하여 대상 채널을 선택합니다. 알림 탭에서 Teams 네이티브 알림(완료 / 담당자 지정 / 마감일 알림)을 켜거나 끕니다. 이제 준비가 완료되었습니다.
필수 조건: 게스트(외부 사용자)가 ThreadManager를 사용하는 경우 필수입니다. 구성원만 운영하는 경우에는 선택 사항입니다.
배경: App Catalog 사이트의 외부 공유가 기본적으로 비활성화(Disabled)되어 있어, Public CDN 없이는 게스트의 브라우저에서 웹 파트를 로드할 수 없어 실행되지 않습니다. CDN을 통해 정적 자산을 배포하면 게스트도 실행할 수 있게 됩니다.
전파 시간: 설정 후 반영까지 15분~수 시간이 걸립니다.
# SharePoint 관리자 권한으로 실행
Connect-PnPOnline -Url https://<tenant>-admin.sharepoint.com -Interactive
Set-PnPTenantCdnEnabled -CdnType Public -Enable $true
Add-PnPTenantCdnOrigin -CdnType Public -OriginUrl "*/CLIENTSIDEASSETS"
구성원 전용으로 운영하는 경우 이 절차는 선택 사항입니다. 보안 정책에 따라 판단해 주세요.
ThreadManager의 데이터 취급에 대해 사실에 근거하여 설명드립니다.
ThreadManager를 팀에 도입하세요.
지금 바로 이 페이지에서 패키지를 다운로드하세요. 배포 지원, 커스터마이징, 기술적 질문이 있으시면 언제든지 문의해 주세요.
.sppkg 다운로드 ↓