
안녕하세요.
이번 시간에는 앱시트 자동화의 두번째 핵심 요소인 Automation 을 공부해 보도록 하겠습니다. Automation 이 Actions(Behavior) 와 어떤 차이점을 가지고 있는지, 언제 Automation 을 사용해야 하는지, Automation 에는 어떤 기능들이 있는지 확인해 보도록 하겠습니다.
꽤나 내용이 길어질 것 같아서 Automation 을 실제로 사용하는 방법과 예시 등에 대해서는 다음 글에서 따로 다루어야 할 것 같습니다.
그럼 시작해볼까요?
● Automation 이란?
Automation 은 'Event 에 따라 Process 를 진행하는 Bot' 을 의미합니다.
여기에서 Event 는 Process 를 진행시키기 위한 조건을 의미하며 크게 두 가지로 나눌 수 있습니다. 첫번째는 Data Change Event 로, 데이터가 생성, 수정 또는 삭제되는 것을 의미합니다. 두번째는 Schedule Event 로, 데이터와 관계 없이 특정 시간이 되었을 때 프로세스를 진행시킵니다.
또한 Process 는 Bot 이 Event 에 따라 수행하는 작업을 의미합니다. Process 에는 메일 보내기, 알림 보내기, 문자 보내기, 웹훅 요청 보내기, 파일 생성하기, 스크립트 실행하기, Action 실행하기 등이 있습니다.
종합해보면 Automation 을 사용한다면 '매주 자동으로 요약 보고서 생성하기', '새로운 데이터가 추가될 때마다 메일 보내기' 등을 설정할 수 있습니다.
● Automation 과 Actions 의 차이점
저번 글에서 설명드린 Actions 와 지금 설명드리는 Automation 에는 대표적으로 두 가지 차이점이 있습니다.
첫째, 실행 조건입니다. Actions 는 사용자가 직접 버튼을 눌러야 실행되지만, Automation 은 특정 Event 가 발생해야 실행이 됩니다. 물론 Automation 을 통해 Action 이 실행되는 경우나, Automation 의 Test 버튼을 눌러 실행시키는 경우는 논외입니다.
둘째, 할 수 있는 작업의 차이입니다. Actions 와 Automation 은 둘 다 Data action 을 실행할 수 있습니다. 다만 Actions 는 앱 내부에서 사용자가 버튼을 눌렀을 때를 기본적인 실행 조건으로 잡고 있기 때문에 특정 페이지로 이동하거나, 외부 페이지를 여는 등의 내부 작업에 조금 더 특화되어 있습니다. 그리고 Automation 은 앱 외부와 소통하거나 API 요청을 주고 받는 외부 작업에 더 특화되어 있습니다.
따라서 용도와 목적에 맞게 Actions 와 Automation 을 적절히 섞어가며 사용해야 합니다. 특히 Actions 를 통해 변경되는 데이터를 Automation 의 이벤트 조건으로 삼아 Automation 도 같이 실행되게 하는 등의 응용 작업도 가능합니다.
● Process 의 구성
Automation 의 Process 를 어떻게 정의하는지 조금 더 세부적으로 알아보도록 하겠습니다.
Automation 은 아래와 같이 구성되어 있습니다.
만들어진 봇(Bot) 은 이벤트(Event) 에 의해 프로세스(Process) 를 실행하며, 각 프로세스(Process) 는 여러 개의 단계(Step) 로 이루어져 있습니다. 단계(Step) 는 Task 와 Action 등의 작업을 진행하거나, 작업 진행을 위한 조건을 걸어주는 역할을 하게 됩니다.
Process 내에 Step을 생성하게 되면 아래 이미지와 같은 작업을 지정할 수 있습니다.
각 작업에 대해 설명해 보겠습니다.
작업 이름 | 설명 |
Run a task | 메일을 보내거나 파일을 생성하는 등 Task 를 실행합니다. (자세한 내용은 아래에) |
Run a data action | 지정한 Actions 를 실행합니다. |
Branch on a condition | 조건 수식(Formula)에 따라 각 step 을 실행할지 말지를 결정합니다. |
Wait | 특정 조건이 만족되거나 지정한 기간이 될 때까지 기다립니다. |
Call a process | 다른 Bot 에서 지정한 Process 작업을 가져옵니다. |
Return values | 값을 return 합니다. return 된 값은 나중에 사용 가능합니다. |
다음으로는 각 Task 에 대해 설명해 보겠습니다.
Task 이름 | 설명 |
Send an email | 지정한 사용자에게 이메일을 보냅니다. 단, 외부로 이메일을 보내려면 앱이 배포되어 있어야 합니다. 이메일은 1. 이메일 내에 앱시트 화면의 일부가 삽입되는 Embedded app view 와, 2. 원하는 내용으로 메일을 구성할 수 있는 Custom template 이 있습니다. |
Send a notification | 지정한 사용자에게 앱 알림을 보냅니다. |
Send an SMS | 지정한 번호로 문자를 보냅니다. |
Call a webhook | 앱시트 내의 데이터를 활용하여 웹훅 요청을 보냅니다. Custom url, Slack Hook, AppSheet API 요청이 있습니다. |
Create a new file | 지정한 템플릿을 기반으로 작성된 새로운 파일을 생성합니다. |
Call a script | Apps Script 코드를 실행합니다. |
앱을 처음 만드실 때는 Task 의 모든 부분을 마스터할 필요는 없습니다. 간단한 템플릿 작성법 정도야 일반인 개발자 수준에서도 커버 가능하지만, 웹훅을 보내거나 스크립트 코드를 작성하는 부분은 고급 과정에서 다루어야 할 어려운 작업들 중 하나이기 때문입니다. 또, 문자를 보내는 것도 외부 솔루션과의 연동이 필요하기 때문에 잘 사용하지 않습니다.
따라서 앱시트 중급 개발자 입장에서는 이메일을 보내는 것과, 앱 알림을 보내는 것, 그리고 파일을 생성하는 세 가지 정도만 공부해 두시면 됩니다. 나머지는 앱시트가 API 작업도 할 수 있구나, Apps Script 코드와 연동해서 조금 더 복잡한 작업도 처리할 수 있구나 정도로만 이해해 주시면 되겠습니다.

지금까지 Automation 의 정의와 Actions 와의 차이점, Process 의 구성에 대해 알아보았습니다. Actions 와 Automation 의 기능들을 활용하여 정말 다양한 기능들을 만들 수 있을 것 같지 않나요? 다음 시간에는 실제로 Automation 을 사용하는 방법을 여러 가지 예시와 함께 설명해 드리도록 하겠습니다. 같이 열심히 공부해 보아요~!!
'단계별 가이드 > 중급' 카테고리의 다른 글
[앱시트 중급] 05. 앱시트 자동화의 두번째 핵심, Automation (2) (0) | 2023.01.18 |
---|---|
[앱시트 중급] 03. 앱시트 자동화의 첫번째 핵심, Actions (0) | 2022.12.29 |
[앱시트 중급] 02. 다양한 앱에서 쓰이는 Formula 예시 - 캘린더 색, 첨부파일 템플릿, SHOW? 조건, 뷰로 이동, 통계 뷰 데이터 (1) | 2022.10.28 |
[앱시트 중급] 01. 앱시트 앱을 유지보수하는 방법 (0) | 2022.10.20 |