Power Automate 조건문 하나 때문에 승인 메일이 누락된 기록

image 2026 05 17T234450.514

Power Automate로 지출결의 승인 요청 메일 발송을 자동화했다가 조건문 하나 때문에 승인 메일 11건이 누락된 실제 업무 실패 기록입니다. 실행은 모두 성공으로 표시됐지만 금액 필드 빈값 처리 문제로 누락률 7.4%가 발생했고, 로그 148개를 확인해 수정한 과정을 정리했습니다.

자동화는 성공으로 표시됐는데 메일은 가지 않았다

실패 로그가 없어서 더 헷갈렸다

문제가 처음 확인된 시간은 2026년 4월 15일 오후 2시 12분이었다. 자동화 대상 업무는 지출결의 승인 요청 메일 발송이었고, 하루 평균 승인 요청 건수는 36건 정도였다.

처음에는 Power Automate 플로우가 정상적으로 돌아가는 줄 알았다. 실행 기록 화면에서 실패로 표시된 실행 횟수가 0회였기 때문이다.

그런데 현업 담당자가 “승인 요청을 올렸는데 결재자에게 메일이 가지 않았다”고 말했다. 확인해보니 실제로 누락된 승인 메일 수는 11건이었다.

누락된 승인 요청은 모두 금액 필드에 공통점이 있었다

점검 기간은 2026년 4월 15일부터 2026년 4월 18일까지였다. 이 기간 동안 전체 실행 횟수는 148회였고, 나는 실행 기록 148개를 모두 확인했다.

겉으로 보면 자동화는 성공이었다. 하지만 업무 결과 기준으로 보면 실제 누락률은 7.4%였다.

누락된 요청들을 모아보니 공통점이 있었다. 금액 필드가 빈값이거나, 숫자가 아닌 형태로 들어간 요청들이 조건문에서 false로 빠지고 있었다.

누락 유형발생 건수입력 상태결과
금액 필드 빈값6건금액 입력 없이 요청 저장조건문 false 처리 후 메일 미발송
0원 입력2건금액이 0으로 입력됨예외 승인 대상인데 조건에서 제외됨
쉼표 포함 금액2건1,200,000 형식으로 입력숫자 비교 조건에서 예상과 다르게 처리
텍스트 입력1건금액 협의중조건 비교 불가로 false 처리
합계11건금액 필드 예외값승인 메일 누락

실행 기록 148개를 하나씩 확인했다

Power Automate에서는 실패가 아니었다

가장 답답했던 점은 Power Automate 기준에서는 실패가 아니었다는 것이다. 플로우는 실행됐고, 조건문도 평가됐고, 마지막 단계까지 오류 없이 종료됐다.

그래서 처음에는 메일 커넥터 문제나 Outlook 발송 제한을 의심했다. 하지만 보낸 메일함에도 기록이 없었고, 승인자 메일함에도 도착 내역이 없었다.

결국 문제는 메일 발송 단계까지 가지 못한 흐름에 있었다. 실패한 것이 아니라, 조건문에서 “보내지 않는 경로”로 정상 이동한 것이다.

조건문에서 false로 빠진 요청들이 있었다

확인한 로그 수는 총 148개였다. 이 중 실패로 표시된 실행 횟수는 0회였지만, 실제로 승인 메일이 누락된 건 11건이었다.

아래는 당시 실행 기록을 정리하며 남겨둔 로그 예시다. 실제 프로젝트명과 메일 주소는 바꿨지만, 흐름은 당시 상황과 거의 같다.

Power Automate 실행 결과 예시

Run ID: 20260415-1412-EXP-087
Status: Succeeded
Trigger: 지출결의서 항목 생성
Request ID: EXP-2026-0415-018
Amount field: null
Condition: amount greater than 0
Condition result: false
Send approval email: skipped
Final result: Succeeded

Run ID: 20260416-0934-EXP-104
Status: Succeeded
Trigger: 지출결의서 항목 생성
Request ID: EXP-2026-0416-007
Amount field: 1,200,000
Condition: amount greater than 0
Condition result: false
Send approval email: skipped
Final result: Succeeded

이 로그를 보고 나서야 원인이 보이기 시작했다. 자동화 실행 성공과 업무 성공은 완전히 다른 기준이었다.

문제는 빈값을 예외로 처리하지 않은 것이었다

금액 필드가 비어 있으면 승인 메일이 발송되지 않았다

원인은 금액 필드가 빈값일 때 조건문이 false로 처리된 것이었다. 나는 금액이 입력된 지출결의만 승인 요청 메일을 보내면 된다고 생각했다.

하지만 실제 업무에서는 금액이 확정되지 않은 상태에서도 먼저 승인 검토를 요청하는 경우가 있었다. 예를 들어 출장비, 외주비, 사전 협의 비용처럼 금액이 나중에 확정되는 건들이었다.

자동화 설계에서는 이런 예외를 넣지 않았다. 그 결과 금액 필드가 비어 있는 요청은 정상 실행 기록을 남긴 채 조용히 메일 발송 단계에서 제외됐다.

0원과 빈값을 같은 방식으로 보면 안 됐다

처음 조건문은 금액이 0보다 큰 경우에만 메일을 보내도록 되어 있었다. 단순해 보이지만, 실제 지출결의 업무에는 맞지 않았다.

0원은 빈값과 다르다. 0원 품의도 승인 검토가 필요할 수 있고, 빈값은 입력 누락인지 아직 미확정인지 구분해야 했다.

수정하면서 추가한 예외 조건은 빈값, 0원, 쉼표 포함 금액, 텍스트 입력이었다. 단순 숫자 비교 하나로 처리하던 구조를 입력값 상태별로 먼저 분기하도록 바꿨다.

수정 전후 자동화 결과 비교

누락률이 7.4%에서 0%로 줄었다

수정에 걸린 시간은 총 3시간 20분이었다. 코드가 길어진 것보다 실행 기록을 다시 보고, 어떤 값이 어느 조건에서 빠지는지 확인하는 데 시간이 더 많이 걸렸다.

수정 후에는 14일 동안 누락 건수를 따로 추적했다. 결과적으로 수정 후 14일간 누락 건수는 0건이었다.

항목수정 전수정 후비고
자동화 대상 업무지출결의 승인 요청 메일 발송동일업무 범위는 유지
전체 실행 횟수148회정상 추적점검 기간 기준
실패로 표시된 실행 횟수0회0회시스템상 실패 없음
누락된 승인 메일 수11건0건수정 후 14일 기준
실제 누락률7.4%0%업무 결과 기준
수정에 걸린 시간3시간 20분로그 확인과 조건문 수정 포함

대신 조건문은 더 복잡해졌다

수정 후 조건문은 이전보다 복잡해졌다. 금액이 숫자인지, 빈값인지, 0원인지, 쉼표가 포함되어 있는지, 텍스트가 들어왔는지를 먼저 확인해야 했기 때문이다.

하지만 자동화 조건문은 짧은 것이 좋은 게 아니라, 실제 업무 데이터를 견딜 수 있어야 좋다는 걸 알게 됐다. 깔끔한 조건문 하나보다 예외값을 포함한 조건문이 훨씬 안전했다.

특히 승인 메일처럼 누락되면 사람이 바로 피해를 보는 자동화는 더 그렇다. 늦게 발송되는 메일보다 아예 발송되지 않는 메일이 더 위험했다.

자동화 배포 전에 지금은 이렇게 테스트한다

정상값보다 예외값을 먼저 넣는다

예전에는 테스트할 때 정상적인 데이터만 넣었다. 금액도 숫자로 넣고, 신청자도 정상 입력하고, 결재자도 존재하는 계정으로 테스트했다.

그러니 플로우는 항상 성공했다. 문제는 실제 업무 데이터가 그렇게 깨끗하지 않다는 점이었다.

지금은 정상값보다 예외값을 먼저 넣는다. 빈값, 0원, 쉼표 포함 금액, 텍스트 입력, 잘못된 이메일, 누락된 결재자 같은 값을 일부러 넣는다.

실행 성공과 업무 성공을 따로 본다

이번 일 이후 가장 크게 바뀐 기준은 실행 성공과 업무 성공을 분리해서 보는 것이다. Power Automate에서 초록색 성공 표시가 떠도, 실제로 메일이 갔는지는 별도로 확인한다.

승인 요청 메일 발송 자동화라면 최소한 요청 ID, 수신자, 발송 여부, 조건문 결과를 기록해야 한다. 그래야 실패로 표시되지 않는 누락도 나중에 찾을 수 있다.

테스트 항목예외값기대 결과확인 방법
금액 빈값null 또는 공백승인 메일 발송 또는 검토 대기 처리조건문 결과와 메일 발송 여부 확인
0원0빈값과 구분 처리승인 대상 여부 확인
쉼표 포함 금액1,200,000숫자로 변환 후 처리변환 결과 로그 확인
텍스트 입력금액 협의중오류 또는 별도 검토 상태로 이동예외 분기 확인
결재자 누락빈 이메일담당자 알림 발송알림 메일 확인
중복 요청같은 요청 ID 재실행중복 메일 방지발송 이력 확인

마무리하며, 자동화에서 가장 무서운 오류는 조용히 지나가는 오류였다

이번 Power Automate 실패는 겉으로는 실패처럼 보이지 않았다. 전체 실행 횟수 148회 중 실패로 표시된 실행 횟수는 0회였고, 플로우 화면만 보면 자동화는 성공이었다.

하지만 실제 업무에서는 승인 메일 11건이 누락됐다. 누락률은 7.4%였고, 원인은 금액 필드가 빈값일 때 조건문이 false로 처리된 단순한 설정 하나였다.

자동화는 성공했지만 예외 조건을 충분히 넣지 않아 문제가 생겼다. 그리고 이 문제는 오류 메시지를 내지 않고 조용히 지나갔다.

이번 일을 겪고 나서 자동화 배포 기준이 바뀌었다. 이제는 “실행되는가”보다 “예외값이 들어와도 업무 결과가 맞는가”를 먼저 본다.

FAQ

Q1. Power Automate 실행이 성공이면 메일도 정상 발송된 것 아닌가요?

반드시 그렇지는 않았다. 이번 사례에서는 실행 상태는 모두 성공이었지만, 조건문에서 false로 빠진 요청은 메일 발송 단계가 건너뛰어졌다.

Power Automate의 실행 성공은 플로우가 오류 없이 끝났다는 뜻에 가깝다. 실제 업무 결과가 성공했는지는 별도로 확인해야 한다.

Q2. 조건문 오류는 어떻게 찾는 것이 좋나요?

실행 기록에서 각 조건문의 입력값과 결과값을 확인해야 한다. 특히 true로 갈 줄 알았던 요청이 false로 빠졌는지 보는 것이 중요하다.

이번에는 실행 기록 148개를 모두 확인하면서 금액 필드 빈값이 공통 원인이라는 것을 찾았다.

Q3. 승인 메일 자동화에서 꼭 남겨야 하는 로그는 무엇인가요?

요청 ID, 신청자, 결재자 이메일, 금액 필드 값, 조건문 결과, 메일 발송 여부는 최소한 남기는 것이 좋다.

이 정보가 있어야 실패로 표시되지 않는 누락도 추적할 수 있다. 자동화 로그는 문제가 생긴 뒤가 아니라, 문제를 찾기 위해 미리 남겨야 한다.

자동화 배포 전 체크리스트

번호체크리스트 항목확인 이유
1정상 데이터뿐 아니라 빈값을 테스트한다조건문 false 누락 방지
20원과 빈값을 구분해서 처리한다승인 대상 오분류 방지
3쉼표 포함 금액을 숫자로 변환하는지 확인한다금액 비교 오류 방지
4텍스트 입력 시 별도 예외 경로를 만든다조용한 누락 방지
5조건문 true와 false 경로를 모두 테스트한다한쪽 분기만 검증하는 실수 방지
6메일 발송 단계가 실제로 실행됐는지 확인한다실행 성공과 발송 성공 구분
7요청 ID별 발송 이력을 남긴다누락과 중복 발송 추적
8실패 로그가 없어도 샘플 요청을 직접 확인한다업무 결과 기준 검증
9배포 후 최소 며칠간 실행 기록을 모니터링한다초기 예외값 발견
10조건문 수정 내역과 예외 처리 기준을 문서화한다이후 유지보수 혼선 방지

최종 체크리스트 항목은 10개로 정리했다. 이 기준을 만든 뒤부터는 자동화 배포 전에 정상값보다 예외값을 먼저 넣어본다.

자동화는 사람의 반복 작업을 줄여주지만, 사람의 판단까지 대신해주지는 않았다. 특히 승인 메일처럼 누락되면 바로 업무 지연으로 이어지는 자동화라면, 조건문 하나도 업무 규칙처럼 다뤄야 한다.

댓글 남기기