팀즈
Microsoft Teams 채널/채팅 메시지와 온라인 회의를 다루는 노드입니다.
설명
팀즈 노드는 Microsoft 계정으로 접근 가능한 Teams의 채널, 채널 메시지, 채팅 메시지, 온라인 회의를 관리할 수 있는 노드입니다.
n8n 스타일의 Resource × Operation 구조로 한 노드 안에 여러 작업을 묶어둡니다.
| Resource | Operation | 동작 |
|---|---|---|
| 채널 (Channel) | 전체 조회 | 팀의 채널 목록 |
| 채널 메시지 (Channel Message) | 전체 조회 | 채널 메시지 조회 (게시물 + 답글 포함) |
| 채널 메시지 (Channel Message) | 생성 | 채널에 메시지 발송 |
| 채팅 메시지 (Chat Message) | 전체 조회 | 1:1 / 그룹 / 회의 채팅 메시지 조회 |
| 채팅 메시지 (Chat Message) | 생성 | 채팅에 메시지 발송 |
| 채널 파일 (Channel File) | 전체 조회 | 채널 폴더에서 고른 파일 수집 |
| 회의 (Meeting) | 생성 | Teams 온라인 회의 링크(joinWebUrl) 생성 |
Microsoft 계정 연동
- 노드를 캔버스에 추가합니다
- Microsoft 로그인하여 연결하기 버튼을 클릭합니다
- Microsoft 계정 로그인 창에서 계정을 선택합니다
- AI Canvas의 Teams 접근 권한을 허용합니다
- 연동이 완료되면 팀 드롭다운에 사용자가 속한 Teams 팀이 자동으로 채워집니다
Microsoft 계정 연동은 사용자당 하나의 계정만 등록됩니다. 동일한 연동으로 OneDrive · 아웃룩 메일 · 아웃룩 캘린더 · SharePoint 노드도 함께 사용할 수 있습니다.
Teams 핵심 개념
| 개념 | 한국어 | 설명 |
|---|---|---|
| Team | 팀 | 조직 단위 (예: "영업팀", "엔지니어링팀") |
| Channel | 채널 | 팀 안의 토픽별 대화방 (예: "일반", "프로젝트X") |
| Channel Message | 채널 메시지 | 채널의 게시물/대화 메시지 (스레드 답글 포함) |
| Chat | 채팅 | 1:1 / 그룹 DM 또는 회의 부속 채팅 |
| Online Meeting | 온라인 회의 | Teams 회의 (joinWebUrl로 참여 가능) |
포트 구성
입력 포트
- 데이터셋 (선택): 메시지 내용의
{{ }}치환에 사용할 값의 출처입니다. 메시지 발송 작업에서만 쓰이며, 치환을 쓰지 않으면 연결하지 않아도 됩니다.
출력 포트
- 데이터셋: 작업 유형에 따라 다른 스키마
채널 / 전체 조회 출력 컬럼
| 컬럼 | 설명 |
|---|---|
id | 채널 ID |
display_name | 채널 표시 이름 |
description | 채널 설명 |
membership_type | 멤버십 유형 (standard / private / shared) |
web_url | Teams 웹에서 열기 링크 |
채널 메시지 / 전체 조회 출력 컬럼
| 컬럼 | 설명 |
|---|---|
id | 메시지 ID |
reply_of | 답글일 경우 부모 메시지 ID (비어 있으면 최상위 메시지) |
created_time | 생성 시각 |
last_modified_time | 마지막 수정 시각 |
subject | 메시지 제목 (게시물 형식에서만) |
body | 메시지 본문 (HTML) |
importance | 중요도 (normal / high / urgent) |
sender_name | 보낸 사람 이름 |
sender_email | 보낸 사람 이메일 |
web_url | Teams 웹에서 열기 링크 |
채팅 메시지 / 전체 조회 출력 컬럼
| 컬럼 | 설명 |
|---|---|
id | 메시지 ID |
created_time | 생성 시각 |
body | 메시지 본문 (HTML) |
sender_name | 보낸 사람 이름 |
sender_email | 보낸 사람 이메일 |
채널 파일 / 전체 조회 출력 컬럼
| 컬럼 | 설명 |
|---|---|
file_name | 파일 이름 |
file_path | 후속 노드에서 파일을 읽을 수 있는 경로 |
mime_type | 파일 형식 |
size | 파일 크기 |
modified_time | 마지막 수정 시각 |
web_view_link | 브라우저에서 열 수 있는 링크 |
회의 / 생성 출력 컬럼
| 컬럼 | 설명 |
|---|---|
id | 회의 ID |
subject | 회의 제목 |
join_web_url | 참여 링크 |
start_datetime | 시작 시각 |
end_datetime | 종료 시각 |
속성
리소스
- 채널: 팀의 채널 목록 조회
- 채널 메시지: 채널 메시지 조회 / 발송
- 채팅 메시지: 채팅(DM) 메시지 조회 / 발송
- 채널 파일: 채널 폴더의 파일 수집
- 회의: 온라인 회의 링크 생성
작업 유형
리소스에 따라 사용 가능한 operation이 달라집니다.
- 채널: 전체 조회
- 채널 메시지: 전체 조회 / 생성
- 채팅 메시지: 전체 조회 / 생성
- 회의: 생성
팀 (Channel / Channel Message 리소스 전용)
사용자가 속한 Teams 팀을 드롭다운에서 선택합니다.
채널 (Channel Message 리소스 전용)
선택한 팀의 채널을 드롭다운에서 선택합니다.
채팅 종류 (Chat Message 리소스 전용)
채팅 종류를 먼저 선택합니다:
- 1:1: 다른 사용자와 1:1 다이렉트 메시지
- 그룹: 3명 이상이 참여하는 그룹 채팅
- 회의: 회의에 자동 생성된 부속 채팅
채팅 (Chat Message 리소스 전용)
선택한 채팅 종류에 해당하는 채팅을 드롭다운에서 선택합니다.
메시지 내용 (Channel Message / Chat Message 생성 전용)
발송할 메시지 본문을 입력합니다. HTML 또는 일반 텍스트를 사용할 수 있습니다.
입력 포트에 데이터셋을 연결하면 본문에 {{ }} 치환을 사용할 수 있습니다.
편집기의 삽입 메뉴에서 전체 테이블 삽입과 개별 열 데이터 삽입을 고르면 표기가 자동으로 들어갑니다. 직접 입력해도 됩니다.
| 표기 | 치환 결과 |
|---|---|
{{컬럼명}} | 해당 컬럼의 행 값 |
{{__#data}} | 데이터셋 전체를 표로 삽입 (전체 테이블 삽입 메뉴가 넣는 표기) |
{{dataset}} | 위와 동일 (dataset이라는 컬럼이 있으면 컬럼 값 치환이 우선) |
{{date()}} | 실행 시점의 날짜 (YYYY-MM-DD) |
{{now()}} | 실행 시점의 날짜와 시각 (YYYY-MM-DD HH:MM:SS) |
날짜와 시각은 KST 기준입니다.
{{ }} 표기를 넣었는데 입력 포트에 데이터셋이 연결되어 있지 않으면 실행이 실패합니다. 데이터셋에 없는 컬럼명을 쓴 경우에도 실패합니다. {{컬럼명}} 치환을 쓰는데 데이터셋이 비어 있으면 메시지를 발송하지 않습니다. 표 삽입만 쓴 경우에는 빈 표가 담긴 메시지 한 건이 발송됩니다.
컬럼을 변수로 사용 시 메세지를 하나로 전달 (Channel Message / Chat Message 생성 전용)
{{컬럼명}} 치환을 사용할 때 발송 방식을 정합니다.
- 켬 (기본값): 모든 행을 줄바꿈으로 이어 붙여 한 건으로 발송합니다
- 끔: 행마다 개별 메시지로 발송합니다
최대 결과 수 (Channel Message / Chat Message 전체 조회 전용)
메시지 조회 시 가져올 최대 개수를 설정합니다. (1 ~ 50, 기본값: 50)
채널 전체 조회와 채널 파일 전체 조회에는 표시되지 않습니다.
파일 선택 (Channel File 리소스 전용)
파일 선택하기 버튼을 누르면 파일 선택 창이 열립니다. 팀과 채널을 고른 뒤 채널 폴더에서 수집할 파일을 선택합니다.
회의 제목 (Meeting 리소스 전용)
생성할 회의의 제목을 입력합니다.
회의 시간 (Meeting 리소스 전용)
회의 시작/종료 시각을 datetime picker로 지정합니다. 시간대를 입력하지 않으면 자동으로 KST(+09:00)가 적용됩니다.
사용 방법
채널 메시지 발송
- 리소스를 채널 메시지, 작업 유형을 생성으로 선택합니다
- 팀과 채널을 선택합니다
{{ }}치환을 사용할 경우, 값의 출처가 될 데이터셋을 입력 포트에 연결합니다- 메시지 내용을 입력합니다
- 실행하기 버튼을 클릭합니다
- 출력 포트에서 발송 후 채널의 전체 메시지 목록을 확인할 수 있습니다
채널 메시지 조회
- 리소스를 채널 메시지, 작업 유형을 전체 조회로 선택합니다
- 팀과 채널을 선택합니다
- 최대 결과 수를 설정합니다
- 실행하기 버튼을 클릭합니다
- 출력 포트에서 메시지 목록을 확인할 수 있습니다 (게시물의 스레드 답글은
reply_of컬럼으로 부모와 연결됨)
채팅 메시지 조회
- 리소스를 채팅 메시지, 작업 유형을 전체 조회로 선택합니다
- 채팅 종류를 선택합니다 (1:1 / 그룹 / 회의)
- 채팅을 드롭다운에서 선택합니다
- 최대 결과 수를 설정합니다
- 실행하기 버튼을 클릭합니다
채팅 메시지 발송
- 리소스를 채팅 메시지, 작업 유형을 생성으로 선택합니다
- 채팅 종류와 채팅을 선택합니다
{{ }}치환을 사용할 경우, 값의 출처가 될 데이터셋을 입력 포트에 연결합니다- 메시지 내용을 입력합니다
- 실행하기 버튼을 클릭합니다
채널 파일 수집
- 리소스를 채널 파일, 작업 유형을 전체 조회로 선택합니다
- 파일 선택하기 버튼을 클릭해 파일 선택 창을 엽니다
- 팀과 채널을 고르고 수집할 파일을 선택합니다
- 실행하기 버튼을 클릭합니다
- 출력 포트에서 수집한 파일 목록을 확인할 수 있습니다 (후속 노드에서 파일로 처리 가능)
온라인 회의 생성
- 리소스를 회의, 작업 유형을 생성으로 선택합니다
- 회의 제목을 입력합니다
- 회의 시간(시작/종료)을 datetime picker로 지정합니다
- 실행하기 버튼을 클릭합니다
- 출력 포트에서
join_web_url(참여 링크)을 확인할 수 있습니다 - 이 링크를 채널/채팅 메시지나 이메일로 공유하면 됩니다
주의사항
팀즈 노드를 사용하려면 Microsoft 계정 연동이 필요합니다.
자기 자신과의 채팅(self chat) 은 Microsoft Graph API의 제한으로 채팅 드롭다운에 나타나지 않습니다. 본인에게 메시지를 보내야 한다면 이메일 보내기 노드 또는 쉐어포인트 노드의 List 메모를 활용하세요.
채널/채팅 메시지 조회 시 채널 가입, 이름 변경 같은 시스템 이벤트 메시지는 자동으로 제외됩니다.
회의 / 생성은 Teams 회의 링크(joinWebUrl)만 만들고, Outlook 또는 Teams 캘린더에 일정으로 등록되지는 않습니다. 캘린더 일정과 함께 회의를 만들려면 아웃룩 캘린더 노드에서 일정을 생성하세요.