Google Appsheetでメール作成・送信アプリを開発してみた

はじめに

この記事の筆者の私は、2017年よりベトナムから日本へ来て、2018年ハイペリオンに入社した。
テスターとしてのキャリアを開始し、単体テスト、結合テスト、総合テストを一通り経験。品質保証計画プロジェクトへメンバーとして参加するなど、品質管理のエキスパートとして経験を重ねてきた。
そして、今回社内の技術検証で、Google Appsheetというノーコードツールを試した。

開発の目的

社内の他部署業務のシステム化

検証内容・結果

検証内容

①GoogleスプレッドシートからPDFを出力する機能開発ができるか(スプレッドシート上の情報から契約書を自動作成・PDF化)

②メールの自動作成・送信機能の開発ができるか(①のPDFを送信するメール内容テンプレート自動作成/下書き保存・送信)

検証結果

目的①と②について、いずれも開発が可能。

今回は、「目的② メールの自動作成・送信機能」の開発について、ご紹介します。
※自動機能はまだ含まれておりません。

開発機能のご紹介

画面遷移図

メニュー画面

メールの 下書き と 送信済み 画面への遷移を行う。

下書きメール画面

下書きメール(未送信)の表示、編集、削除、および送信ができる。
新しいメールを作成するためのメール作成画面への遷移を行う。

送信済みメール画面

送信済みメールを表示、削除および下書きメールボックスへ移動ができる。

メール作成画面

送信先やメール内容などを入力し保存すると下書きメールになる。
メール内容の作成・編集するときもこの画面へ遷移する。
送信先のTO、CC、BCCはカンマ区切りで、複数の宛先に同時に送信できる。

メール確認画面

確認するためのメール内容を表示する。
メール内容の編集または送信ができる。

開発の流れをご紹介

ステップ1

Appsheetアプリには、常にデータの構造に基づいて機能のGUIフォームを自動生成されるので、
はじめにメール内容を保存するためのメール管理テーブルを作成する。
未送信・送信済の状態は、フラグで管理する。

ステップ2

未送信・送信済メールの状態に分けて表示する必要があるため、
メール管理のテーブルから、メール状態ごとに別のSlice(スライス)を作成する。
各Sliceのメール状態に基づいて、相応の取得条件を指定する。

ステップ③

下書きメール画面 と 送信済みメール画面 に相応の作成したSliceのデータを紐づける。

ステップ4

メール送信するためのアクションを作成しボタンに紐づける。

ステップ5

下書きメールボックスに戻すためのアクションを作成しボタンに紐づける。

ステップ6

Bot・オートメーションでメール送信処理のTrigger(トリガー:いつにする)とProcess(プロセス:なにをする)を設定する。

メールテンプレートもBot・オートメーションで設定できる。

メール送信を完了した後、未送信メールと区別するために状態フラグも変更する。

まとめ

Appsheetなら、Forguncyなど他のノーコード開発ツールよりカスタマイズ性がまだ高くないが、複数のテンプレートとサンプル機能があって、自身でも簡単にすぐにアプリを作成できるよ。
Appsheet開発プラットフォームはまだ発展中でできないこともあるが、強いサポート体制があって、熱心な専門家とコンミュニティの人からアドバイスをもらうことができる。
高いカスタマイズ性を求めるならForguncyがオススメ、未経験の方でアプリ開発をしたい場合はAppsheetがオススメ。

次回は、検証内容①「GoogleスプレッドシートからPDFを出力する機能」の開発機能について、ご紹介します。