본문 바로가기
사업지속/AppSheet

017 How to use 구글 appsheet 사용법-Dynamic Gmail (Gmail 에 AppSheet Ux 연동)

by 자바라머신러닝_출판 2023. 1. 7.

Gmail 내용에 AppSheet Ux를 보여주는 연동 방식입니다. AppSheet 계정은 없지만 Gmail 계정은 보유한 사용자에게 AppSheet 구동을 위한 데이터를 요구하는 경우에 사용합니다. AppSheet Bots의 응용사례이며 Tasks에 2가지만 정의하면 됩니다.

 

근무기간이 만료되어 근무하던 장소를 공석으로 해야 할 때 관련자들에게 공석을 공지하고 필요한 사람이 점유할 수 있도록 메일을 보내는 상황을 가정하겠습니다.

특정 이벤트가 발생하면 작동하는 Bots 에서 미리 task를 정의해 AppSheet Ux를 연동하는 메일 전송 정의
  • Bots의 Task Category 에 "Send an email" 선택 및 Email type "Embedded app view" 선택

빈 장소 메일통보 라는 Task 명의 2가지 설정
빈 장소 메일통보 라는 Task 명의 2가지 설정

 

  • 장소정보 워크시트에서 점유여부 필드 추가

장소정보라는 구글 스프레드 워크시트 점유여부라는 필드를 새로 생성하고 Table에서 Regenerate를 클릭하면 바로 AppSheet에 적용됩니다.

장소정보 워크시트에서 점유여부 필드 추가
장소정보 워크시트에서 점유여부 필드 추가

  • 새로운 Task 생성 및 Dynamic Gmail 설정

Bots메뉴 (로봇 아이콘)을 선택하고 Tasks를 선택한 후, + 를 클릭하여 새로운 Tasks 를 생성합니다. 그리고 Task Category에 "Send an email" 선택 및 Email type "Embedded app view" 선택합니다.

빈 장소 메일통보 라는 Task 명의 2가지 설정
빈 장소 메일통보 라는 Task 명의 2가지 설정

그리고 메일 수신자와 제목, 내용 템플릿을 작성하고 Gmail에 연동할 AppSheet View (Ux)를 지정합니다.

메일 수신자 및 메일 제목/내용 작성 및 Gmail 에 보일 AppSheet View 지정
메일 수신자 및 메일 제목/내용 작성 및 Gmail 에 보일 AppSheet View 지정

AppSheet View (Ux)의 경우 메일과 연동되는 Ux 를 새로 생성해서 Gmail과 연동할 수 있지만, 지금 사례에서는 AppSheet에서 기본적으로 제공하는 View를 그대로 사용하겠습니다.

 

메일 수신자에서 정이된 Usermail() 함수는 AppSheet 가 배포될 경우 구글 스프레드 시트에서 정의된 메일 주소가 발송되지만 배포가 되지 않으면 AppSheet 제작자에게만 발송됩니다.

 

마지막으로 Preview email body를 클릭하면 Gmail로 발송될 AppSheet view를 미리보기 할 수 있습니다.

Previe email body 를 클릭하여 미리보기되는 AppSheet View
Previe email body 를 클릭하여 미리보기되는 AppSheet View

  • 새로운 이벤트 생성 (데이터 갱신될 때만 발생)

Bots메뉴 (로봇 아이콘)을 선택하고 Events를 선택한 후, + 를 클릭하여 새로운 Events를 생성합니다.

Event Type 은 Data Chages (데이터가 변경되는 경우)를 선택하면서 Updates Only (갱신될 때만 작동하는 것으)로 선택합니다. 그리고 Table을 장소정보 워크시트로 지정합니다. 이렇게 되면 장소정보 워크시트의 데이터가 변경되면 발생하는 이벤트가 됩니다.

Data Chages, Updates Only, 장소정보 를 지정한 새로운 이벤트 설정
Data Chages, Updates Only, 장소정보 를 지정한 새로운 이벤트 설정

 

  • 새로운 프로세스 생성 (점유여부 값이 공석 일 때 메일 전송)

 

장소정보 데이터가 갱신되면 여러 필드 중에 점유여부 필드의 값이 공석인 경우에만 메일을 보내는 경우로 설명하겠습니다. Bots메뉴 (로봇 아이콘)을 선택하고 Events를 선택한 후, + 를 클릭하여 새로운 Events Events를 생성합니다. Table 은 이벤트와 동일하게 "장소정보"를 선택합니다. 아래 그림의 "Check if [점유여부] is "공석"" 과 "Send an email"은 단위 흐름의 명칭일 뿐이므로 알아만 볼 수 있게 하면 됩니다. 

장소정보 테이블을 선택하고 나머지 흐름을 정의한 프로세스
장소정보 테이블을 선택하고 흐름들을 정의한 프로세스

 

정말 중요한 것은 각 흐름을 정의하는 것입니다. 

"Check if [점유여부] is "공석"" 의 경우 수식에 [점유여부] = "공석"으로 정의하면 점여여부 필드의 데이터가 공석여부만 판단하여 다음 흐름을 선택하게 합니다.

[점유여부] = "공석" 정의된 분기흐름
[점유여부] = "공석" 정의된 분기흐름

그리고 메일은 미리 정의된 "빈 장소 메일통보" Task를 선택하면 프로세스 정의는 마무리됩니다.

빈 장소 메일발송 Taks 를 정의한 흐름
빈 장소 메일발송 Taks 를 정의한 흐름

  • 정의된 Taks, Process, Events 연결하는 Bots 정의

Bots메뉴 (로봇 아이콘)을 선택하고, + 를 클릭하여 새로운 Bots를 생성합니다. 그리고 번호 순서대로 Event, Process를 연결하면 모든 설정은 완료됩니다. Task의 경우 Process에 정의되어 있기 때문에 Bots에서 별도 지정하지 않지만 Task를 조정하는 작업도 가능합니다.

Event 와 Process 를 정의한 Bots 결과
Event 와 Process 를 정의한 Bots 결과

장소정보가 공석으로 변경될 경우 장소정보 Form View 가 Gmail로 발송

AppSheet에서 장소정보를 클릭하고 아무 장소정보를 클릭하여 점유여부를 공석으로 변경하면 Gmail로 발송 된 것을 확인할 수 있다.

점유여부 공석으로 변경시 발송된 Gmail 의 AppSheet View
점유여부 공석으로 변경시 발송된 Gmail 의 AppSheet View

 

그럼 Gmail에서 대표자명을 구길동에서 강길동으로 변경하고 텝을 누르면 활성화되는 Submit을 클릭하면, 구글 수프레트 시트의 변화를 실시간으로 확인가능하며 AppSheet는 리프레쉬를 클릭하면 데이터가 변경된 것을 확인할 수 있습니다.

Dynamic Gmail 에서 변경된 대표자 명을 스프레트 시트 및 AppSheet 에서 확인
Dynamic Gmail 에서 변경된 대표자 명을 스프레트 시트 및 AppSheet 에서 확인

요약
  • Dynamic Gmail : AppSheet Bots 메뉴를 응용한 Gmail에 AppSheet View 연동 
  • Tasks에서 Task Category에 "Send an email" 선택 및 Email type "Embedded app view" 선택
  • Process에서 경우에 따라 위 Task를 실행하게 정의 (위 사례는 점유정보 공석인 경우)
  • Event에서 장소정보가 갱신될 때만 발생하게 정의
  • Bots에서 위에서 정의된 Event 및 Process를 연결

댓글