메일이 오면 Teams에 알리고 Excel에 기록한다 — 코드 한 줄 없이 클릭만으로. 방학 후 첫 주는 원리보다 내일 바로 써먹을 수 있는 것부터 시작합니다.
방학 후 재개 첫 주입니다. 이번 주가 끝나면 아래 일곱 가지를 할 수 있게 됩니다.
| # | 할 수 있게 되는 것 |
|---|---|
| 1 | Power Automate 화면에서 자동화 흐름(Flow)을 새로 만들고, 저장하고, 테스트할 수 있다 |
| 2 | Trigger · Action · Connector · Dynamic content · Condition · Run history 여섯 단어의 뜻을 설명할 수 있다 |
| 3 | Outlook 메일을 조건으로 걸러 Teams 알림 + Excel 기록을 자동으로 남길 수 있다 |
| 4 | 요청을 승인 흐름으로 돌리고 그 결과를 Excel에 기록할 수 있다 |
| 5 | Flow가 실패했을 때 Run history에서 어느 단계가 왜 실패했는지 찾을 수 있다 |
| 6 | 내 업무 하나를 Trigger / Condition / Action / Output 으로 쪼개 자동화 후보로 만들 수 있다 |
| 7 | AI Builder로 규칙으로는 못 하는 판단(요약·분류·문서 판독)을 Flow 안에 넣을 수 있다는 것을 알고, 우리 업무의 적용 후보를 고른다 |
초급 단계에서 손대면 오히려 헤매는 것들입니다. 나중에 필요해지면 그때 배웁니다.
방학 후 첫 주입니다. 그리고 앞으로 12주간은 웹이 어떻게 굴러가는지, AI가 어떻게 작동하는지 원리를 팝니다. 원리는 오래 쓰이지만 당장 이번 주 업무를 줄여주지는 않습니다.
그래서 첫 주는 내일 바로 써먹을 수 있는 것부터 합니다.
우리 업무를 떠올려 보면 이런 것들이 매일 반복됩니다.
| 반복되는 일 | 실제 상황 |
|---|---|
| 메일 확인 | 실사·스크립트·DP 이슈 메일을 놓치면 안 된다 |
| 팀에 공유 | 받은 걸 Teams에 옮겨 적는다 |
| 엑셀에 기록 | 이슈·요청을 추적표에 적는다 |
| 승인 받기 | 일정 변경, 추가 작업, 자료 재전달 |
| 리마인더 | 매일 아침 운영 체크 항목 공지 |
전부 "어떤 일이 생기면 → 조건을 보고 → 무언가를 한다" 구조입니다. 이 구조를 그대로 컴퓨터에 시키는 도구가 Power Automate입니다.
오늘의 한 줄 — Power Automate 전문가가 되는 게 목표가 아닙니다.
"메일 확인 → 알림 → 기록 → 승인" 을 자동화 문장으로 바꾸는 감각을 만드는 것이 목표입니다. 작은 Flow 하나를 성공시키고, 그다음에 확장하면 됩니다.
Week 5에서 Make.com과 n8n으로 노드를 연결해 워크플로우를 만드는 것을 배웠고, Week 7에서 n8n을 깊게 팠습니다. Power Automate는 같은 발상의 M365 사내 환경판입니다.
| n8n / Make.com | Power Automate |
|---|---|
| 워크플로우 | Flow |
| 노드 | Action |
| 시작 노드 | Trigger |
| 앱 연동 | Connector |
| 실행 기록 | Run history |
이 여섯 개만 알면 화면에서 길을 잃지 않습니다.
Flow를 시작시키는 사건. 모든 Flow는 트리거 하나로 시작한다.
트리거 이후에 실제로 하는 일.
각 서비스에 연결하는 어댑터. Outlook·Teams·Excel·Approvals가 각각 하나씩.
앞 단계에서 나온 값을 뒤 단계에 끼워 넣는 것.
갈림길. 조건이 참이면 Yes 갈래, 거짓이면 No 갈래.
이 Flow가 언제 돌았고 성공했는지 실패했는지의 기록.
이 그림이 이번 주 전부입니다.
그리고 이 그림은 12주 뒤 Week 29에서 LangGraph의 노드·엣지·분기로 똑같이 다시 나옵니다. 지금 손으로 익히는 감각이 그때 그대로 쓰입니다.
| 타입 | 언제 시작되나 | 오늘 어디서 |
|---|---|---|
| Automated cloud flow | 사건이 생기면 자동으로 (메일 도착 등) | 실습 1 |
| Instant cloud flow | 내가 버튼을 눌렀을 때 | 실습 2 |
| Scheduled cloud flow | 정해진 시각에 반복 | 집에서 이어가기 |
| 개념 | 비유 |
|---|---|
| Trigger | 초인종 — 눌리면 그때부터 일이 시작된다 |
| Action | 초인종이 울린 뒤 하는 일들 — 문 열기, 손님 안내하기 |
| Connector | 어댑터 / 플러그 — 서비스마다 규격이 맞는 코드를 꽂는 것 |
| Dynamic content | 양식지의 빈칸 채우기 — 앞에서 받은 값을 뒤 서류에 옮겨 적기 |
| Condition | 갈림길 표지판 |
| Run history | CCTV 녹화본 — 무슨 일이 있었는지 되돌려 본다 |
| Flow를 작게 만들기 | 요리를 배울 때 라면부터 끓이는 것 |
| Excel 표(Table) | 자동화가 읽을 수 있는 서식이 정해진 장부. 그냥 적어둔 메모는 못 읽는다 |
| 준비물 | 상세 | 확인 방법 |
|---|---|---|
| Power Automate 접속 | https://make.powerautomate.com |
Home 또는 My flows 화면이 열리면 OK |
| M365 계정 | Outlook · Teams · Excel Online 사용 가능 | 각 앱이 브라우저에서 열리는지 |
| 실습용 Teams 공간 | 테스트 채널 또는 본인과의 채팅 | ⚠️ 실제 고객·프로젝트 채널은 절대 쓰지 않는다 |
| 실습용 Excel 파일 | OneDrive 또는 SharePoint에 저장된 .xlsx |
⚠️ 내 PC 로컬에 있으면 Power Automate가 못 읽는다 |
| 가짜 데이터 | 프로젝트명·담당자·요청 내용 전부 샘플값 | 실제 고객·응답자 정보 없음 |
| (선택) AI Builder 크레딧 | 실습 3에만 필요 | 왼쪽 메뉴에 AI hub가 보이는지. 없으면 실습 1·2만 진행 |
새 Excel 통합 문서를 만들어 OneDrive에 저장합니다. 파일명은 PA_Training_{본인이니셜}.xlsx 정도로 합니다. 시트 2개를 만들고, 각각 반드시 "표(Table)"로 지정합니다.
표로 만드는 법: 데이터 범위를 드래그 → 리본의 삽입 → 표 (또는 홈 → 표 서식) → "머리글 포함" 체크 → 확인 → 표가 선택된 상태에서 표 디자인 탭 → 표 이름에 아래 이름을 입력.
IssueLog / 표 이름 tblIssueLogRequestTracker / 표 이름 tblRequestTracker샘플 데이터 한 줄씩 넣어둡니다 (표가 비어 있으면 액션 설정 화면에서 컬럼이 안 보이는 경우가 있습니다).
| 컬럼 | 샘플 값 |
|---|---|
| IssueID | ISS-001 |
| ProjectName | Sample Project A |
| Requester | 본인 이름 |
| RequestType | Schedule Change |
| Details | Soft launch 일정을 하루 연기 요청 |
| Approver | 본인 이메일 (교육에서는 본인이 승인자) |
| ApprovalStatus | Pending |
| Status | Open |
| 업무 상황 | 실사·스크립트·DP 이슈 메일을 놓치지 않고 팀 채널에 공유하고, 추적표에 남기고 싶다 |
| 사용 커넥터 | Office 365 Outlook, Microsoft Teams, Excel Online (Business) — 모두 표준 커넥터 |
| 학습 포인트 | Automated cloud flow, 트리거, 조건, 동적 콘텐츠, Add a row, Run history |
https://make.powerautomate.com 에 접속한다.OPS_IssueMail_to_Teams_Excel 을 입력한다.팀_업무_목적_소유자 형태를 권합니다. 나중에 Flow가 20개쯤 되면 이름만 보고 뭘 하는 건지 알 수 있어야 합니다.When a new email arrives 를 입력한다.트리거 카드에서 Show advanced options(고급 옵션 표시)를 누르면 아래 항목들이 나옵니다.
| 필드 | 설정값 | 왜 |
|---|---|---|
| Folder | Inbox | 받은 편지함 기준 |
| Include Attachments | No | 입문 실습에서는 첨부 제외 |
| Only with Attachments | No | 첨부 여부와 무관하게 받는다 |
| Importance | Any | 중요도 필터는 다음 단계 조건에서 처리 |
| Subject Filter | (비워둠) | 여기서 걸러도 되지만, 조건 단계를 눈으로 배우기 위해 일부러 비워둔다 |
[OPS] 를 넣는 게 낫습니다. 트리거 단계에서 거르면 불필요한 실행이 줄어들어 Flow 실행 횟수(= 비용·부하)를 아낄 수 있습니다. 오늘은 학습을 위해 조건 액션으로 처리합니다.
Condition 을 입력하고 Control 범주의 Condition(조건)을 선택한다.[OPS] 를 직접 입력한다.Post message in a chat or channel 을 입력하고 Microsoft Teams 의 해당 액션을 선택한다.| 필드 | 설정값 |
|---|---|
| Post as | Flow bot |
| Post in | Channel (테스트 채널이 있는 경우) 또는 Chat with Flow bot (혼자 테스트) |
| Team | 교육용 테스트 팀 |
| Channel | 교육용 테스트 채널 |
| Message | 아래 본문 |
Message 본문 예시 — 고정 텍스트는 직접 입력하고, « » 로 표시한 부분은 동적 콘텐츠 패널에서 클릭해 넣습니다.
Subject 라고 타이핑하면 그냥 글자일 뿐 값이 들어가지 않습니다. 제대로 들어가면 파란 알약 모양의 태그로 표시됩니다.
Add a row into a table 을 입력하고 Excel Online (Business) 의 해당 액션을 선택한다.| 필드 | 설정값 |
|---|---|
| Location | OneDrive for Business (또는 SharePoint 사이트) |
| Document Library | OneDrive |
| File | 폴더 아이콘을 눌러 PA_Training_{이니셜}.xlsx 선택 |
| Table | tblIssueLog |
| Excel 컬럼 | 넣을 값 | 방법 |
|---|---|---|
| IssueID | ISS- + 실행 시각 | 아래 표현식 참고 |
| ReceivedTime | «Received Time» | 동적 콘텐츠 |
| From | «From» | 동적 콘텐츠 |
| Subject | «Subject» | 동적 콘텐츠 |
| Priority | «Importance» | 동적 콘텐츠 |
| IssueType | Mail | 직접 입력 |
| Status | Open | 직접 입력 |
| TeamsNotified | Yes | 직접 입력 |
| Notes | 자동 기록 | 직접 입력 |
동적 콘텐츠 패널 위쪽의 Expression(식) 탭을 누르고 아래를 붙여넣은 뒤 OK.
| 목적 | 표현식 |
|---|---|
| 고유한 IssueID 만들기 | concat('ISS-', formatDateTime(utcNow(),'yyyyMMddHHmmss')) |
| 현재 시각 (UTC) | utcNow() |
| 한국 시각으로 보기 좋게 | convertTimeZone(utcNow(),'UTC','Korea Standard Time','yyyy-MM-dd HH:mm') |
ISS-AUTO 라고 직접 입력해도 실습은 진행됩니다. 다만 utcNow()는 UTC 기준이라 한국 시간과 9시간 차이가 난다는 점은 알아두면 실무에서 헤매지 않습니다.
[OPS] Sample issue for training / 본문: 아무 내용 (예: 실사 일정 관련 테스트입니다.)| Teams | 🚨 [OPS 이슈] … 메시지가 올라온다 |
| Excel | tblIssueLog 에 새 행이 생긴다 (파일을 새로고침한다) |
| Run history | 모든 단계에 초록색 체크 표시 |
오늘 가져갈 습관 하나 — Flow가 이상하면 편집 화면을 뜯어보기 전에 Run history부터 엽니다.
어느 단계에서, 어떤 값으로, 왜 실패했는지가 거기 다 적혀 있습니다.
[OPS] 가 없는 메일을 본인에게 보낸다. (예: 안녕하세요 테스트)| 업무 상황 | 조사 일정 변경·추가 작업·자료 재전달 등의 승인 이력을 남기고 싶다 |
| 사용 커넥터 | Manually trigger a flow, Approvals, Excel Online (Business) |
| 학습 포인트 | Instant cloud flow, 입력 필드, 승인, 조건 분기, 행 추가 |
OPS_Request_Approval_Tracker 를 입력한다.트리거 카드에서 Add an input(입력 추가)을 4번 눌러 아래를 만듭니다.
| # | 입력 타입 | 이름 |
|---|---|---|
| 1 | Text | ProjectName |
| 2 | Text | RequestType |
| 3 | Text | Details |
| 4 | ApproverEmail |
Start and wait for an approval → Approvals 커넥터의 해당 액션 선택.| 필드 | 설정값 |
|---|---|
| Approval type | Approve/Reject - First to respond |
| Title | [Approval] «ProjectName» - «RequestType» |
| Assigned to | «ApproverEmail» (동적 콘텐츠) |
| Details | 아래 본문 |
Approve 를 직접 입력 (대소문자 그대로)Approved 가 아니라 Approve 입니다. 철자가 틀리면 항상 If no로 빠집니다. 확신이 안 서면 한 번 실행해보고 Run history에서 Outcome의 실제 값을 확인한 뒤 조건을 맞춥니다. — 이게 Run history를 쓰는 아주 실전적인 예입니다.
If yes(승인됨)와 If no(반려됨) 양쪽 모두에 Add a row into a table 액션을 넣습니다. 파일은 같고 Table은 tblRequestTracker 입니다.
| Excel 컬럼 | If yes (승인) | If no (반려) |
|---|---|---|
| RequestID | concat('REQ-', formatDateTime(utcNow(),'yyyyMMddHHmmss')) | 동일 |
| RequestDate | formatDateTime(utcNow(),'yyyy-MM-dd') | 동일 |
| Requester | «User email» | 동일 |
| ProjectName | «ProjectName» | 동일 |
| RequestType | «RequestType» | 동일 |
| Details | «Details» | 동일 |
| Approver | «ApproverEmail» | 동일 |
| ApprovalStatus | Approved ← 직접 입력 | Rejected ← 직접 입력 |
| ApprovalDate | formatDateTime(utcNow(),'yyyy-MM-dd') | 동일 |
| Comments | «Comments» (Approvals 응답) | 동일 |
여기가 조건 분기의 핵심입니다. 나머지는 전부 같고 ApprovalStatus 한 칸만 다릅니다.
"결과에 따라 다르게 기록한다"가 이렇게 구현됩니다.
Sample Project A / RequestType: Schedule Change / Details: Soft launch 일정을 하루 연기 요청 / ApproverEmail: 본인 이메일tblRequestTracker 에 Approved 행이 생겼는지 확인한다.Rejected 행이 생겨야 한다.
여기까지 만든 Flow는 규칙으로만 돌아갑니다. "제목에 [OPS]가 있으면", "결과가 Approve이면". 규칙은 우리가 다 적을 수 있는 일에만 통합니다.
그런데 실제 업무에는 이런 게 있습니다.
전부 "조건문으로 적을 수 없는" 판단입니다. AI Builder 는 이런 판단을 Power Automate의 액션 하나로 끼워 넣게 해줍니다.
| 항목 | 내용 |
|---|---|
| 라이선스 | AI Builder는 Premium 기능입니다. AI Builder 크레딧이 있어야 액션이 실행됩니다. 없으면 Flow는 저장되지만 실행 시 실패합니다 |
| 확인 방법 | Power Automate 왼쪽 메뉴 → AI hub(또는 AI Builder)가 보이는지, 크레딧 잔량이 있는지 |
| 크레딧이 없다면 | 이 섹션은 읽고 넘어갑니다. 실습 1·2만으로도 이번 주 학습 목표는 달성됩니다. 실제 도입이 필요해지면 그때 라이선스를 신청합니다 |
| 데이터 거버넌스 | AI Builder에 넣는 텍스트는 AI 서비스로 전송됩니다. 고객·응답자 정보가 섞인 메일을 그대로 넣으면 안 됩니다. 실습은 반드시 가짜 데이터로 |
| # | AI Builder 기능 | 우리 업무에서 | 난이도 | 모델 |
|---|---|---|---|---|
| ① | 텍스트 생성 (GPT 프롬프트) | 긴 이슈 메일을 3줄로 요약, 회신 초안 생성, 보고 문장 다듬기 | ★☆☆☆☆ | 사전 구축 |
| ② | 범주 분류 | 들어온 요청 메일을 일정변경 / 자료요청 / 품질이슈 / 기타로 자동 분류 | ★★★☆☆ | 사전 구축 + 사용자 지정 |
| ③ | 감정 분석 | 오픈 응답·클라이언트 피드백 메일의 긍·부정 판정 | ★☆☆☆☆ | 사전 구축 |
| ④ | 핵심 구 추출 | 긴 메일에서 키워드만 뽑아 IssueLog 태그로 저장 | ★☆☆☆☆ | 사전 구축 |
| ⑤ | 언어 감지 | 다국가 프로젝트 메일을 언어별 담당자에게 라우팅 | ★☆☆☆☆ | 사전 구축 |
| ⑥ | 텍스트 인식 (OCR) | 스캔된 동의서·설문지 이미지에서 글자 추출 | ★★☆☆☆ | 사전 구축 |
| ⑦ | 문서 처리 | 양식이 정해진 문서(동의서·의뢰서)에서 지정한 필드만 추출해 Excel로 | ★★★★☆ | 사용자 지정 (학습 필요) |
| ⑧ | 인보이스 처리 | 벤더 견적서·인보이스에서 업체명·금액·일자 자동 추출 | ★★☆☆☆ | 사전 구축 |
사전 구축(prebuilt) 모델은 그냥 갖다 쓰면 됩니다. 사용자 지정(custom) 모델은 우리 문서 샘플을 몇 장 넣어 학습시켜야 합니다 — Week 24에서 Teachable Machine으로 해볼 그 "레이블 붙이고 학습시키기"와 정확히 같은 일입니다.
우리 팀에 가장 실효성이 큰 것은 ①·②·⑦ 세 개입니다.
①은 지금 바로 되고, ②는 요청 접수 자동 분류로 이어지고, ⑦은 종이·스캔 문서가 많은 업무에서 판을 바꿉니다.
| 업무 상황 | 이슈 메일이 길어서 Teams 알림만 봐서는 뭐가 문제인지 모르겠다. 요약과 유형이 같이 왔으면 좋겠다 |
| 사용 기능 | AI Builder — 텍스트 생성 (GPT 프롬프트) |
| 주의 | 실습 1에서 만든 Flow를 확장합니다. 새로 만들지 않습니다 |
tblIssueLog 표의 맨 오른쪽에 컬럼 두 개를 더합니다. (표 안에서 열을 추가하면 표 범위가 자동으로 늘어납니다.)
OPS_IssueMail_to_Teams_Excel 을 열고 Edit.Create text with GPT 를 입력하고 AI Builder 의 해당 액션을 선택한다.«Body» 부분은 동적 콘텐츠에서 메일 본문을 클릭해 넣는다.AI_요약분류.AISummary ← «AI_요약분류의 Text» (동적 콘텐츠) / AICategory ← 일단 같은 값을 넣어도 된다 (유형만 따로 떼는 건 아래 심화).[OPS] 3차 실사 일정 조정 요청 같은 제목으로 본문이 긴 메일을 보낸다.| Teams 메시지 | 🤖 AI 요약 아래에 세 줄 요약과 유형이 붙어 있다 |
| Excel | AISummary 컬럼에 요약문이 들어가 있다 |
| Run history | AI_요약분류 단계를 열어 Inputs(프롬프트 전문)와 Outputs(생성된 텍스트)를 확인 |
여기서 관찰할 것 하나 — 같은 메일로 두 번 돌려보면 요약 문장이 미묘하게 달라집니다. 실습 1·2의 규칙 기반 액션은 몇 번을 돌려도 결과가 같았습니다. 이게 규칙과 AI의 결정적 차이입니다.
그리고 이 차이가 곧 Week 24~26의 주제입니다. 왜 AI는 매번 다르게 답하는지, 그걸 어떻게 통제하는지(Temperature), 무엇은 구조적으로 안 되는지(할루시네이션).
| 하고 싶은 것 | 방법 |
|---|---|
| 유형만 깔끔하게 뽑아 Excel에 넣기 | 프롬프트를 "유형 한 단어만 출력하라"로 바꿔 AI 액션을 하나 더 두거나, 텍스트 함수로 잘라낸다 |
| 유형에 따라 담당자를 다르게 알림 | AI가 뽑은 유형으로 Condition을 걸어 Teams 멘션 대상을 바꾼다 ← 규칙과 AI를 조합하는 실전 패턴 |
| 감정 분석 붙이기 | Analyze positive or negative sentiment 액션 추가. 부정이면 우선순위를 High로 기록 |
| 스캔 문서에서 글자 뽑기 | Recognize text in an image (OCR) 액션. 첨부파일을 입력으로 넣는다 |
| 양식 문서에서 필드만 뽑기 | AI hub에서 문서 처리 사용자 지정 모델을 만들고, 샘플 문서 5장 이상으로 학습시킨다 |
실습이 아니라 데모로만 봅니다. 이유가 있습니다.
Word Online (Business) 커넥터의 Populate a Microsoft Word template 액션은 Premium 커넥터로 분류됩니다. 우리 M365 표준 라이선스로는 제한이 있을 수 있고, Word 템플릿에 콘텐츠 컨트롤을 넣어야 해서 초급 과정의 필수 실습으로는 부담이 큽니다.
반면 오늘 쓴 Outlook · Excel Online (Business) · Teams · Approvals는 모두 표준 커넥터라 라이선스·거버넌스 부담이 없습니다.
| # | 데모 내용 | 여기서 가져갈 것 |
|---|---|---|
| 1 | Word 템플릿에 ProjectName·RequestType·ApprovalStatus 자리표시자(콘텐츠 컨트롤)를 넣는다 | 문서 자동화는 "정형 템플릿"이 있어야 쉽다 |
| 2 | Excel 값 또는 입력값을 템플릿 필드에 매핑한다 | 동적 콘텐츠가 문서 필드로 들어간다 |
| 3 | 생성된 Word 파일을 SharePoint/OneDrive에 저장한다 | 자동 생성 파일의 저장 위치를 정해두는 게 중요하다 |
| 4 | Outlook으로 검토 요청 메일을 보낸다 | 자동 발송보다 검토 후 발송을 권장 |
실무 적용 순서로는 이게 맞습니다 — 완료 보고서·확인서 같은 문서는 자동으로 초안까지만 만들고, 발송은 사람이 확인한 뒤 합니다.
| 증상 | 가능한 원인 | 해결 |
|---|---|---|
| Excel 파일/표가 목록에 안 보임 | 파일이 로컬 PC에 있거나, 데이터가 표(Table)가 아닌 범위임 | OneDrive/SharePoint에 저장하고 삽입 → 표 적용 |
| Teams 채널을 선택할 수 없음 | 채널 권한 부족 또는 팀 접근 불가 | 테스트 팀/채널 권한 확인, 안 되면 Chat with Flow bot(본인 채팅)으로 대체 |
| Flow가 아예 실행되지 않음 | 메일 제목에 [OPS] 가 없거나 트리거 지연 | 제목 확인 후 재시도. Run history에 실행 기록 자체가 있는지 확인 |
| Excel 행 추가 실패 | 필수 컬럼 누락, 또는 Excel 파일이 열려 있어 잠김 | 컬럼명 확인, Excel 파일을 닫고 재실행 |
| 동적 콘텐츠가 안 보임 | 이전 단계가 선택되지 않았거나 패널이 접힘 | 동적 콘텐츠 패널에서 See more 클릭 |
| 값이 안 들어가고 글자만 나옴 | 동적 콘텐츠를 손으로 타이핑함 | 반드시 패널에서 클릭해 넣는다 (파란 태그로 보여야 정상) |
| 시간이 9시간 어긋남 | utcNow() 는 UTC 기준 | convertTimeZone(utcNow(),'UTC','Korea Standard Time','yyyy-MM-dd HH:mm') |
| 증상 | 가능한 원인 | 해결 |
|---|---|---|
| 승인 요청이 오지 않음 | 승인자 이메일 오타, 또는 Approvals 최초 사용 시 초기화 지연 | 본인 이메일로 테스트. Approvals 앱을 한 번 열어둔다 |
| 승인 단계에서 계속 대기 | 승인자가 응답하지 않음 | Approvals 화면 또는 Outlook/Teams에서 응답 |
| Outcome 조건이 항상 No로 감 | Approve 철자·대소문자 문제 | Run history에서 Outcome의 실제 값을 확인하고 조건을 맞춘다 |
| Comments가 비어 있음 | 승인자가 코멘트 없이 응답 | 정상입니다. 필수가 아니므로 빈 값 허용 |
| 다른 참가자를 승인자로 못 지정 | 테넌트·권한·게스트 사용자 제한 | 교육에서는 본인 승인으로 대체 |
| 증상 | 가능한 원인 | 해결 |
|---|---|---|
| AI Builder 액션이 검색되지 않음 | 해당 환경에 AI Builder가 없음 | 왼쪽 메뉴에 AI hub가 보이는지 확인. 없으면 이 실습은 건너뛴다 |
| 저장은 되는데 실행하면 실패 | AI Builder 크레딧 없음/소진 | 가장 흔한 원인입니다. 에러 메시지에 라이선스·크레딧 관련 문구가 있는지 확인 |
| 요약이 엉뚱하게 나옴 | 프롬프트에 메일 본문이 안 들어감 | Run history에서 해당 단계의 Inputs를 열어 본문이 실제로 들어갔는지 확인. «Body»를 손으로 타이핑하지 않았는지 점검 |
| 출력 형식이 매번 다름 | 자연어 생성이라 원래 그렇다 | 프롬프트에 출력 형식을 더 못 박는다("유형은 대괄호 안에 한 단어만"). 완전히 고정되지는 않는다는 게 규칙과의 차이 |
| 본문이 길어 잘림 | 입력 길이 제한 | 본문 앞부분만 넣거나, 서명·인용부를 걷어내고 넣는다 |
| 한국어 결과가 어색함 | 프롬프트가 영어이거나 언어 지정이 없음 | 프롬프트에 "한국어로 답하라"를 명시한다 |
교육용 Flow와 실제 운영 Flow는 다릅니다. 실무에 붙이기 전에 아래를 지킵니다.
| 원칙 | 권장 행동 |
|---|---|
| 실습 데이터 | 고객명·응답자 정보·계약/비용·개인정보는 절대 쓰지 않는다. 샘플 데이터만 |
| 환경 | 개인 학습·실험은 기본 환경으로 충분. 팀/부서 운영 자동화는 전용 환경 또는 공유 정책 확인 |
| 커넥터 | 표준 M365 커넥터 중심으로 시작. 외부·Premium 커넥터는 사전 승인 확인 |
| AI Builder | AI에 넣는 텍스트·이미지는 외부로 전송된다. 고객·응답자 정보가 담긴 원문을 그대로 넣지 않는다. 필요한 부분만 발췌하거나 식별정보를 지우고 넣는다. 크레딧 소모도 모니터링한다 |
| 소유권 | 운영 Flow는 소유자 2명 이상 또는 백업 담당자 지정. 만든 사람이 휴가 가면 아무도 못 고친다 |
| 명명 규칙 | 팀_업무_목적_소유자 — 예: OPS_IssueMail_Alert_CLLee |
| 테스트 | 실제 고객·프로젝트 채널로 보내기 전에 테스트 채널에서 검증 |
| 정리 | 교육 후 안 쓰는 테스트 Flow와 Connection은 정리한다 |
실무에 올리기 전 스스로 물어봅니다.
교육이 실제 적용으로 이어지는 연결고리는 이 한 장입니다. 반복되는 내 업무 3개를 적고 네 칸으로 쪼갭니다.
| 내 반복 업무 | 언제 시작되나 Trigger |
어떤 조건이 있나 Condition |
무엇을 자동으로 할까 Action |
성공 결과 Output |
|---|---|---|---|---|
| 내 반복 업무 | Trigger | Condition | Action | Output |
|---|---|---|---|---|
| 이슈 메일 공유 | Outlook 새 메일 | 제목에 [OPS] |
Teams 알림 + Excel 기록 | 팀이 즉시 인지, 이력 축적 |
| 일정 변경 승인 | 버튼 클릭 | 승인 결과 | Approvals + Excel 상태 갱신 | 승인 이력 확보 |
| 일일 운영 체크 | 매일 오전 9시 | 없음 | Teams 채널에 체크리스트 게시 | 점검 누락 방지 |
| 업무 영역 | 자동화 아이디어 | 기대 효과 | 주의점 |
|---|---|---|---|
| 프로젝트 착수 | Kick-off 후 체크리스트를 Teams로 자동 발송, Excel에 담당자·기한 기록 | 초기 누락 감소 | 고객·예산 정보 제외 |
| 실사 운영 | Fieldwork 일정 변경·응답률 이슈 메일을 자동 분류해 담당자 알림 | 대응 속도 개선 | 실제 고객 채널 알림 전 테스트 |
| DP/코딩 | 데이터·오픈코딩 완료 메일 수신 시 로그 생성 + 다음 담당자 알림 | handoff 표준화 | 첨부파일 저장 위치 확인 |
| QC/개인정보 | 파기 확인서·DPIA 요청·증빙 요청 메일을 추적표에 자동 등록 | 보안 업무 추적성 향상 | 민감정보 저장 최소화 |
| 보고/납품 | Status가 Done이면 완료 보고 메일 초안 생성 | 반복 커뮤니케이션 감소 | 자동 발송보다 검토 후 발송 |
Post message in a chat or channel 하나. 메시지에 우리 팀 일일 운영 체크 항목을 적어둔다.제목에 [OPS] 대신 중요도가 High 로 바꿔보고, 무엇이 달라지는지 Run history로 확인한다.오늘 이후 어디로 갈지의 지도입니다. 한 번에 다 하지 않습니다.
| 시점 | 학습 주제 | 추천 실습 |
|---|---|---|
| 입문 직후 1주 | 템플릿 수정, 조건, 동적 콘텐츠, Run history | 메일을 조건으로 분류해 Excel/Teams에 기록 |
| 2~3주 | Apply to each(반복), 변수, 날짜 함수, 오류 처리 | 첨부파일 자동 저장, 일일 운영 리포트 생성 |
| 1개월 | 승인 고도화, 팀 Flow 공유, 소유자 관리 | 일정 변경 승인 + 담당자 알림 + 상태 업데이트 |
| 2개월 | Word/Excel 문서 자동화, SharePoint Lists 전환 | 완료 보고서·확인서 자동 초안 생성 |
| AI 트랙 | AI Builder 사전 구축 모델(요약·감정·분류·OCR) | 이슈 메일 자동 요약·분류, 스캔 동의서 텍스트 추출 |
| AI 트랙 심화 | AI Builder 사용자 지정 모델(문서 처리) 학습 | 우리 양식 문서에서 지정 필드만 뽑아 Excel로 |
| 심화 | Dataverse, custom connector, HTTP, Premium 커넥터 | 운영 시스템 연계 자동화 |
| 이번 내용 | 연결 |
|---|---|
| 워크플로우·노드·분기 | 복습 · W5 · W7 Make.com·n8n에서 이미 한 것. Power Automate는 그 M365 사내 환경판. 개념이 아니라 붙는 서비스가 다르다 |
| 자동화로 반복 업무 없애기 | 복습 · W15 · W16 팀원들이 중간 점검에서 공유한 "루틴 업무를 자동화로 대체" 사례들. 오늘은 그걸 코드 없이 하는 방법 |
| 커넥터로 서비스 연결 | 복습 · W3 API를 "식당 웨이터"로 배웠다. 커넥터는 그 API를 클릭으로 쓰게 포장한 것 |
| 조건 분기 | 복습 · W7 n8n의 IF 노드와 같다 |
| AI Builder로 요약·분류 시키기 | 복습 · W1 · W6 AI Agent와 LLM을 개념으로 배웠다. 오늘은 그 AI를 업무 흐름 한가운데에 액션으로 끼워 넣는다 |
| AI에게 시키는 프롬프트 | 복습 · W9 · W10 Plan 모드·Vibe 코딩에서 프롬프트를 써봤다. AI Builder의 Instructions 칸도 같은 프롬프트다 |
| Trigger · Action · Dynamic content Run history · Approvals · AI Builder | NEW |
오늘 만든 Flow는 클릭만으로 완성됐습니다. 코드를 한 줄도 쓰지 않았습니다. 그런데 조금만 복잡해지면 곧 벽에 부딪힙니다.
마지막 두 개가 특히 중요합니다. AI Builder를 붙이는 순간 우리는 결과가 매번 조금씩 달라지는 시스템을 갖게 됐습니다. 실습 1·2의 규칙 기반 액션은 몇 번을 돌려도 같았는데 말입니다. 그 물건이 무엇인지 모르면 어디까지 맡겨도 되는지도 판단할 수 없습니다.
AI는 왜 매번 다르게 답하는가? 무엇을 통제할 수 있고 무엇은 구조적으로 안 되는가?
우리 회사 문서를 AI에게 알려주려면 무엇이 필요한가?
그리고 내가 원하는 화면과 저장소를 직접 만들려면 무엇을 알아야 하는가?
다음 주부터 12주간 그 답을 쌓습니다. 웹이 어떻게 굴러가는지(W18~23), AI가 어떻게 판단하는지(W24~26), 우리 문서를 이해하는 챗봇을 어떻게 만드는지(W27~28), 그리고 루프와 분기를 가진 시스템으로 어떻게 올라가는지(W29).
특히 Week 29에서 오늘의 그림이 그대로 다시 나옵니다.
LangGraph의 노드와 엣지는 오늘 배운 Action과 조건과 같은 발상이고, LangSmith는 오늘 배운 Run history의 AI 버전입니다.
오늘 손으로 익힌 감각이 12주 뒤에 그대로 쓰입니다.