안녕하세요! 자동화의 마법사 Power Automate! ✨ 이 강력한 도구를 제대로 활용하기 위해서는 그 핵심을 이루는 두 가지 개념, 바로 트리거(Trigger)와 액션(Action)을 완벽하게 이해하는 것이 필수적입니다. 이 둘만 제대로 파악해도 Power Automate Cloud Flow의 90%를 이해했다고 할 수 있을 정도로 중요하죠.
오늘은 트리거와 액션이 무엇인지, 어떤 종류가 있는지, 그리고 어떻게 상호작용하여 강력한 자동화 흐름을 만들어내는지 자세히 알아보겠습니다. 🚀
1. Power Automate Cloud Flow, 그게 뭔데?
Power Automate는 마이크로소프트의 클라우드 기반 서비스로, 반복적인 업무를 자동화하고 다양한 애플리케이션 간의 연결을 돕는 도구입니다. 이 중 ‘클라우드 흐름(Cloud Flow)’은 특정 이벤트(트리거)가 발생했을 때 미리 정의된 일련의 작업(액션)을 자동으로 수행하는 자동화 로직을 의미합니다. 웹 브라우저나 모바일 앱에서 손쉽게 만들고 관리할 수 있습니다.
Power Automate Cloud Flow를 건물을 짓는 과정에 비유한다면,
- 트리거는 건물의 착공 알림 🔔
- 액션은 착공 후 진행되는 건설 작업들 🏗️ 이라고 생각할 수 있습니다.
2. 흐름의 시작: 트리거 (Trigger) – “언제 시작할까?” 🔫
트리거는 Power Automate 흐름을 시작시키는 ‘방아쇠’와 같습니다. 특정 조건이나 이벤트가 충족될 때 흐름이 자동으로 실행되도록 하는 역할을 합니다. 하나의 흐름에는 오직 하나의 트리거만 존재합니다.
💡 트리거의 핵심 특징
- 시작점: 모든 Power Automate Cloud Flow는 반드시 하나의 트리거로 시작합니다.
- 이벤트 기반: 특정 이벤트(새로운 이메일 도착, 파일 생성, 정해진 시간 등)가 발생해야 흐름이 실행됩니다.
- 입력 제공: 트리거는 종종 흐름의 다음 단계에서 활용할 수 있는 ‘동적 콘텐츠’를 생성합니다. 예를 들어, 새 이메일 트리거는 이메일의 보낸 사람, 제목, 본문 등의 정보를 제공합니다.
🎯 트리거의 주요 종류 및 예시
Power Automate Cloud Flow는 크게 세 가지 종류의 트리거를 제공합니다.
-
자동화된 클라우드 흐름 (Automated cloud flow):
- 특정 이벤트가 발생할 때 자동으로 실행됩니다. 가장 흔하게 사용되는 형태입니다.
- 예시:
When a new email arrives (V3) (Outlook 365)
: 새 이메일이 받은 편지함에 도착했을 때 📧- 활용 시나리오: 특정 키워드가 포함된 이메일이 오면 Teams 채널에 알림을 보내기.
When a file is created (properties only) (SharePoint)
: SharePoint 문서 라이브러리에 새 파일이 생성되었을 때 📂- 활용 시나리오: 특정 폴더에 파일이 업로드되면 담당자에게 승인 요청 메일 보내기.
When an item is created or modified (SharePoint 목록)
: SharePoint 목록에 새 항목이 생성되거나 기존 항목이 수정되었을 때 📝- 활용 시나리오: 프로젝트 상태가 “완료”로 변경되면 관련 팀에게 최종 보고서 공유하기.
-
즉시 클라우드 흐름 (Instant cloud flow):
- 수동으로 ‘버튼’을 클릭하거나 특정 앱에서 직접 실행할 때 사용됩니다.
- 예시:
Manually trigger a flow (버튼 클릭)
: Power Automate 모바일 앱이나 웹사이트에서 ‘실행’ 버튼을 클릭했을 때 🔘- 활용 시나리오: 긴급 상황 발생 시 클릭 한 번으로 관련 팀에 SMS 메시지 일괄 전송하기.
For a selected item (SharePoint 라이브러리/목록)
: SharePoint 문서 라이브러리나 목록에서 특정 항목을 선택한 후 실행했을 때 📄- 활용 시나리오: 특정 문서를 선택하여 PDF로 변환하고 다른 폴더에 저장하기.
-
예정된 클라우드 흐름 (Scheduled cloud flow):
- 정해진 시간(매일, 매주, 매월 등)에 자동으로 반복 실행됩니다.
- 예시:
Recurrence (정해진 주기)
: 매일 오전 9시, 매주 월요일 등 특정 주기로 실행 ⏰- 활용 시나리오: 매주 금요일 퇴근 시간에 주간 업무 보고서 작성 알림 메일 발송하기.
3. 흐름의 실행: 액션 (Action) – “무엇을 할까?” 🏃♀️
액션은 트리거가 발생한 후 수행되는 ‘작업’들을 의미합니다. 하나의 흐름에는 하나 또는 여러 개의 액션이 순서대로 연결될 수 있습니다. 트리거가 흐름의 시작을 알린다면, 액션은 그 흐름의 실질적인 내용을 구성합니다.
💡 액션의 핵심 특징
- 작업 수행: 특정 애플리케이션에서 데이터를 생성, 수정, 삭제하거나 알림을 보내는 등 다양한 작업을 수행합니다.
- 순차적 실행: 액션들은 위에서 아래로, 혹은 논리적 분기(조건)에 따라 순차적으로 실행됩니다.
- 동적 콘텐츠 활용: 이전 단계(트리거나 다른 액션)에서 생성된 동적 콘텐츠를 사용하여 유연하고 맞춤화된 작업을 수행할 수 있습니다.
🎯 액션의 주요 종류 및 예시
Power Automate에는 수백 가지의 액션이 있으며, 사용 목적에 따라 크게 분류할 수 있습니다.
-
데이터 처리 액션:
- 데이터를 가공하거나 저장, 변환하는 액션입니다.
- 예시:
Compose (데이터 가공)
: 여러 값을 조합하거나 특정 텍스트를 생성할 때 사용 ✏️- 활용 시나리오: 이메일 제목과 본문 내용을 조합하여 Teams 메시지 본문 만들기.
Initialize variable (변수 선언)
: 흐름 내에서 사용할 변수를 선언하고 초기값을 설정 🔢- 활용 시나리오: 승인 상태를 저장하는 변수를 만들어 흐름 전체에서 활용.
-
알림 및 커뮤니케이션 액션:
- 정보를 공유하거나 사용자에게 알림을 보내는 액션입니다.
- 예시:
Send an email (V2) (Outlook 365)
: 특정 조건이 충족되면 사용자에게 이메일을 보냄 ✉️- 활용 시나리오: 파일이 업로드되면 담당자에게 알림 메일 발송.
Post a message in a chat or channel (Teams)
: Microsoft Teams 채널 또는 채팅에 메시지를 게시 💬- 활용 시나리오: 긴급 상황 발생 시 팀 채널에 경고 메시지 게시.
-
파일 및 데이터 관리 액션:
- 클라우드 스토리지, 데이터베이스, 목록 등에서 파일을 생성, 수정, 삭제, 조회하는 액션입니다.
- 예시:
Create file (SharePoint)
: SharePoint 문서 라이브러리에 새 파일을 생성 💾- 활용 시나리오: 이메일 첨부파일을 SharePoint에 자동 저장.
Update item (SharePoint 목록)
: SharePoint 목록의 특정 항목을 수정 🔄- 활용 시나리오: 승인 결과에 따라 SharePoint 목록의 ‘상태’ 필드 업데이트.
Get items (SharePoint 목록)
: SharePoint 목록에서 특정 조건을 만족하는 항목들을 조회 🔍- 활용 시나리오: 만료 예정인 계약 목록을 조회하여 알림 메일 발송.
-
제어 흐름 (Control Actions):
- 흐름의 실행 로직을 제어하는 특별한 종류의 액션입니다.
- 예시:
Condition (조건)
: 특정 조건이 참(True)인지 거짓(False)인지에 따라 흐름을 분기 ✅❌- 활용 시나리오: 이메일 제목에 “긴급”이 포함되어 있으면 특정 액션을 수행.
Apply to each (각 항목에 적용)
: 목록에 있는 각 항목에 대해 동일한 액션을 반복 실행 🔁- 활용 시나리오: 여러 개의 첨부파일을 각각 다른 폴더에 저장.
Scope (범위)
: 여러 액션을 논리적으로 그룹화하여 관리 📦- 활용 시나리오: 특정 오류 처리 로직에 관련된 액션들을 하나의 Scope로 묶기.
4. 트리거와 액션의 유기적인 결합: 동적 콘텐츠 (Dynamic Content) 🔗
Power Automate의 진정한 힘은 트리거와 액션이 단순히 나열되는 것이 아니라, 서로의 정보를 활용하여 유기적으로 작동한다는 데 있습니다. 이를 가능하게 하는 것이 바로 동적 콘텐츠입니다.
동적 콘텐츠는 이전 단계(트리거나 다른 액션)의 출력 값을 다음 단계의 입력 값으로 사용할 수 있게 해주는 기능입니다. 예를 들어, “새 이메일이 도착했을 때” 트리거는 이메일의 ‘보낸 사람’, ‘제목’, ‘본문’ 등의 정보를 동적 콘텐츠로 제공합니다. 이 정보들은 이후 “메일 보내기” 액션에서 이메일 본문에 삽입하거나, “Teams 메시지 게시” 액션에서 메시지 내용으로 활용될 수 있습니다.
예시:
- 트리거:
When a new email arrives (V3)
(새 이메일 도착)- 출력되는 동적 콘텐츠:
Subject
(제목),From
(보낸 사람),Body
(본문) 등
- 출력되는 동적 콘텐츠:
- 액션:
Post a message in a chat or channel (Teams)
(Teams 메시지 게시)- 입력되는 동적 콘텐츠: “새 이메일 도착! 제목: [Subject], 보낸 사람: [From]”
- 이렇게 [Subject]와 [From] 부분에 트리거에서 얻은 실제 이메일 정보가 자동으로 삽입됩니다.
5. 실제 시나리오 예시로 완벽 이해하기 🧑💻
이제 간단한 시나리오를 통해 트리거와 액션이 어떻게 조합되는지 살펴보겠습니다.
시나리오 1: 새 이메일 첨부파일 자동 저장 및 알림 📧➡️📂➡️💬
회사 메일로 들어온 특정 첨부파일을 SharePoint에 자동으로 저장하고, 저장 완료 후 Teams로 알림을 받고 싶다면?
- 트리거:
When a new email arrives (V3)
(Outlook 365)- 설정: “첨부 파일 포함”을 ‘예’로 설정
- 액션 1 (첨부 파일 가져오기):
Get attachment (V2)
(Outlook 365)- 트리거에서 넘어온
Message Id
와Attachment Id
를 사용
- 트리거에서 넘어온
- 액션 2 (파일 만들기 – 반복):
Apply to each
(제어)- ‘Get attachment’ 액션의
Attachments
출력값을 입력으로 사용 (첨부파일이 여러 개일 수 있으므로 반복) Create file
(SharePoint)Site Address
: 파일을 저장할 SharePoint 사이트 주소Folder Path
: 저장할 폴더 경로File Name
: ‘Get attachment’ 액션의Name
동적 콘텐츠 사용File Content
: ‘Get attachment’ 액션의ContentBytes
동적 콘텐츠 사용
- ‘Get attachment’ 액션의
- 액션 3 (Teams 알림):
Post a message in a chat or channel
(Microsoft Teams)Post as
: Flow botPost in
: ChannelTeam
: 알림을 보낼 Teams 팀 선택Channel
: 알림을 보낼 채널 선택Message
: “새 첨부파일이 SharePoint에 성공적으로 저장되었습니다! 🚀 (제목: [트리거의 Subject])”
시나리오 2: SharePoint 목록 항목 변경 시 자동 승인 요청 📝➡️✅
SharePoint 목록의 특정 항목이 ‘검토 필요’ 상태로 변경되면, 담당자에게 자동으로 승인 요청을 보내고, 승인/거부 결과에 따라 목록 항목의 상태를 업데이트하고 싶다면?
- 트리거:
When an item is created or modified
(SharePoint)Site Address
: 목록이 있는 SharePoint 사이트 주소List Name
: 모니터링할 목록 이름
- 액션 1 (조건):
Condition
(제어)Value
: 트리거의Status
(상태) 컬럼 값Operator
:is equal to
Value to compare
:검토 필요
- 액션 2a (예 경로 – 승인 요청):
Start and wait for an approval (V2)
(Approvals)Approval type
: First to respondTitle
: “[트리거의 Title] 항목 승인 요청”Assigned to
: 승인할 담당자 이메일 주소Details
: “내용 확인 후 승인 또는 거부 부탁드립니다.”
- 액션 3a (예 경로 – 조건 분기):
Condition
(제어)Value
: ‘Start and wait for an approval’ 액션의Outcome
Operator
:is equal to
Value to compare
:Approve
- 액션 4a-1 (승인 시):
Update item
(SharePoint)Site Address
,List Name
,Id
(트리거의ID
)는 트리거 정보 사용Status
컬럼을승인 완료
로 업데이트
- 액션 4a-2 (거부 시):
Update item
(SharePoint)Site Address
,List Name
,Id
(트리거의ID
)는 트리거 정보 사용Status
컬럼을반려됨
으로 업데이트
- 액션 5 (결과 메일 발송):
Send an email (V2)
(Outlook 365)To
: 트리거의Created By Display Name
(생성자)Subject
: “[트리거의 Title] 항목 승인 결과”Body
: “항목 [트리거의 Title]에 대한 승인 결과는 [Start and wait for an approval 액션의 Outcome] 입니다.”
결론: Power Automate의 핵심, 트리거와 액션 🎓
Power Automate Cloud Flow를 만든다는 것은 결국 “어떤 이벤트가 발생했을 때 (트리거), 어떤 작업을 할 것인가 (액션)”를 정의하는 과정입니다. 이 두 가지 핵심 요소에 대한 명확한 이해는 여러분이 Power Automate를 통해 상상하는 모든 자동화를 구현할 수 있는 기반이 될 것입니다.
- 트리거는 흐름의 시작을 알리는 경고음이고,
- 액션은 그 경고음에 반응하여 수행되는 일련의 동작들입니다.
이제 여러분도 이 개념들을 바탕으로 자신만의 멋진 자동화 흐름을 설계하고 실행해 보세요! 💡 직접 만들어보고, 예외 상황을 고민하며 수정해 보는 과정에서 진정한 Power Automate 전문가가 될 수 있습니다. 여러분의 Power Automate 여정을 응원합니다! 🛣️✨ D