📌 이전 학습내용
지난 시간에는 Power Automate Desktop을 사용해 SharePoint List의 아이템을 불러오고 Viva Engage에 동기화하는 플로우를 만들었어요.
🚀 이번 학습내용
이번에는 Windows 작업 스케줄러를 이용해 만든 플로우를 30분마다 자동 실행할 거예요!
자동화 작업을 설정하면서 SharePoint 권한 요청 팝업을 처리하는 방법도 함께 배워볼게요.
🖥 윈도우 작업 스케줄러란?
Windows에서 특정 작업을 자동 실행하려면 Windows 작업 스케줄러(Task Scheduler)를 사용해야 해요.
이 프로그램은 Windows의 기본 프로그램으로 설치되어 있으며, 우리가 만든 Power Automate Desktop Flow를 자동 실행할 수 있도록 도와줍니다.
🔄 호출 시 권한 수락 과정 자동화하기
최근 Power Automate Desktop 업데이트 이후, Task Scheduler를 이용해 자동 실행할 때 SharePoint 권한 확인 팝업이 표시돼요.
즉, 작업이 실행될 때마다 수동으로 권한을 허용해줘야 하는데, 우리는 이 과정을 자동화하는 추가적인 호출 Flow를 만들어 해결할 거예요.
🏗 호출 Flow 만들기
Power Automate 앱에서 좌상단의 “New Flow” 버튼을 클릭하여 새로운 Flow를 만들어 줍니다.
이전 학습과 동일하게 이름은 invoking_flow
로 지정해 주세요.
Flow를 생성한 후 내부로 들어가면, 비어있는 화면이 보일 텐데요!
우리는 세 개의 작업만으로 호출과 권한 수락을 자동화할 거예요.
1️⃣ Run Application 설정
먼저 invoking_flow
가 우리의 create_reservation_engage
Flow를 실행하도록 설정해야 해요.
좌측에서 "Run application"
을 검색한 후 아래 화면처럼 System 하단의 액션을 선택하세요.
이제 실행할 애플리케이션의 경로를 지정해야 해요.
설정할 내용은 Application Path와 Command line arguments 두 가지입니다.
✅ Application Path 설정
- Application Path는 실행할 프로그램의 절대경로(Absolute Path)를 의미해요.
- 우리는 Power Automate Desktop Flow를 실행해야 하므로, Power Automate Desktop 자체를 먼저 실행해야 해요.
- Power Automate Desktop 실행 파일(
Pad.Console.Host.exe
)의 경로를 입력해야 합니다. - 기본적으로
C:\Program Files\Power Automate Desktop
폴더에 위치해 있어요.
✅ Command line arguments 설정
- Power Automate Desktop을 실행한 후, 특정 Flow를 실행하려면 Command line arguments를 추가해야 해요.
- 실행할 Flow의 URL을 입력하면 되는데요!
- Power Automate Desktop 앱의 “Flow” 탭에서 Flow별 정보 버튼을 클릭하면
Run URL
을 확인할 수 있어요. - 이 URL을 복사해서 Command line arguments에 입력하면 됩니다.
✅ 이제 “Save”를 누르고 테스트해보면, Power Automate Desktop이 실행될 거예요!
2️⃣ Wait(대기) 설정
Flow를 실행하면 SharePoint 권한 확인 팝업이 뜨기까지 약 15초 정도 걸려요.
우리는 안정성을 위해 30초 동안 기다리도록 설정할 거예요.
- 좌측에서
"Wait"
을 검색하여 Flow에 추가합니다. "30"
을 입력하면 30초 동안 대기하게 돼요.
✅ 이제 Flow가 실행된 후 충분한 대기 시간을 확보할 수 있어요!
3️⃣ Send Keys 설정 (자동 엔터 입력)
이제 SharePoint 권한 확인 팝업에서 엔터(Enter)를 눌러 승인하는 과정을 자동화할 거예요.
- 좌측 “Action” 탭에서
"Send keys"
를 검색하여 Flow에 추가합니다. "Send Keys"
설정 화면으로 이동한 후 아래와 같이 설정하세요.
✅ Send Keys to: Title and/or class
- 어떤 창에 키 입력을 보낼지 정하는 설정이에요.
"Title and/or class"
를 선택하고 “Run Flow”라는 창에 Enter 키를 입력하도록 설정해요.- 실제로 Flow가 실행되면
"Run Flow"
라는 이름의 창이 팝업되기 때문이에요.
✅ Window title: Run Flow
- 위에서 논의한 대로,
"Run Flow"
를 입력하세요.
✅ Text to send (보낼 키 입력값)
- 하단의
"Initial special keys"
버튼을 클릭하세요. "Misc"
->"Return"
을 선택하면 끝!
✅ 이제 SharePoint 권한 확인 팝업이 자동으로 닫힙니다! 🎉
✅ 그럼 이제 우리의 create_reservation_engageg를 실행시키기위한 invoke_flow는 다 만들었어요.
✅ 이제 윈도우 작업스케줄러에 연결해 invoke_flow를 30분 마다 실행시켜 보자구요.
작업 스케줄러 설정하기
먼저 Windows 작업 스케줄러를 실행해볼게요!
작업 스케줄러는 Windows에 기본적으로 설치된 프로그램이라 윈도우 메뉴에서 “작업 스케줄러”(Task Scheduler)라고 검색하면 바로 찾을 수 있어요.
📝 Task 생성하기
우리가 만든 invoke_flow를 실행할 Task를 새로 만들어야 해요.
그 전에, 작업을 정리하기 위해 폴더를 먼저 만들어 줄게요.
- 좌측 “Task Scheduler Library”를 우클릭
- “New Folder”를 선택
- “Power Automate Desktop”이라는 폴더를 생성
이제 Task를 만들어볼게요!
- 우측 “Create Task”를 클릭
- Task의 이름(Name)을 설정
- 저는
"SyncWebsite"
라고 정했어요!
- 저는
⏰ Trigger 만들기 (30분마다 실행 설정)
이제 우리가 만든 Task를 30분마다 실행되도록 설정해야 해요.
- “Trigger” 탭으로 이동
- “New” 버튼을 클릭
그러면 아래처럼 Trigger를 설정할 수 있는 창이 나와요.
✅ 설정할 내용
- Begin the task:
- 언제 Task를 실행할지 결정하는 옵션이에요.
- “On a Schedule”을 선택해주세요!
- Settings:
- 최소 반복 실행 단위가 Daily(매일)이기 때문에 “Daily”를 선택
- 아래 “Advanced Settings”에서
- “Repeat task every”: 30분 선택
- “for a duration”: 1 Day 선택
✅ 이렇게 설정하면 30분마다 자동 실행되게 돼요!
설정을 마쳤다면 “OK”를 눌러 추가해 주세요.
🎬 Actions 만들기 (실행할 프로그램 지정)
Task가 30분마다 실행되도록 설정했으면, 이제 실제 실행할 프로그램을 지정해야 해요!
- “Actions” 탭으로 이동
- “New” 버튼을 클릭
그러면 어떤 프로그램을 실행할지 설정하는 창이 나와요.
✅ 설정할 내용
- Action:
- “Start a program”을 선택해 주세요.
- Program/scripts:
- 실행할 프로그램의 경로를 입력해야 해요.
- 우리는 Power Automate Desktop을 실행할 거니까,
invoke_flow
에서 사용했던 Console.Host.exe의 경로를 입력해 주세요.
- Add arguments:
- Power Automate Desktop을 실행하면 어떤 Flow를 실행할지도 알려줘야겠죠?
- invoke_flow에서 복사한 Flow URL을 입력해 주세요.
✅ 모든 설정을 마쳤다면 “OK” 버튼을 눌러 저장하면 돼요! 🎉
✅ 테스트하기
이제 Task를 만들었으니 잘 작동하는지 테스트해봐야겠죠?
하지만 우리는 30분마다 실행되도록 설정했기 때문에,
자연스럽게 실행되려면 최대 30분을 기다려야 해요.
그런데 다행히도 바로 실행할 수 있는 방법이 있어요!
- Task Scheduler 메인 화면에서 “SyncWebsite”를 선택
- 우측에서 “Run” 버튼을 눌러 실행
[캡처20]
✅ 이제 Power Automate Desktop이 정상적으로 실행되는지 확인해 보세요! 🎉
📌 오늘 배운 내용 정리
단계 | 설정 내용 |
---|---|
Task 생성 | 작업 스케줄러에서 새로운 Task 만들기 |
Trigger 설정 | 30분마다 반복 실행하도록 설정 |
Actions 설정 | Power Automate Desktop 실행 및 Flow 호출 |
테스트 실행 | 수동 실행으로 정상 동작 확인 |
이제 30분마다 invoke_flow
가 자동 실행되면서,
이를 통해 create_reservation_engage
가 동작하고 웹사이트 예약 목록이 자동으로 동기화될 거예요! 🚀
💡 수동으로 예약을 웹사이트나 사내 사이트에 동기화하지 않아도 되니까 정말 편리하겠죠?
🟦 실습을 마치며
이것으로 차량 시스템을 관리하는 에이전트를 만들고,
자동화시키는 핸즈온이 모두 끝났습니다!
난이도가 많이 높아서 여기까지 다 따라오셨나 걱정이 되네요.
그래도 여기까지 진행하셨다면, 앞으로 코파일럿 스튜디오에서 Declarative 에이전트로 만들고 싶은게 있다면, 무엇이든 만드실 수 있으실 겁니다.
다들 수고많으셨습니다!