10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

こんにちは、京セラコミュニケーションシステム 西田(@kccs_hiromi-nishida)です。

最終回となるvol.5では、Automationを使って日報が登録されたら、指定した人に登録されたことをメールで知らせる仕組みを作成したいと思います!
ぜひご覧ください。

本記事は2024年3月ごろに作成しております。よって、引用している文章などはこの時点での最新となります。ご了承ください。
また、特別な記載のない限り、画像はGoogle AppSheet画面をキャプチャしたものとなります。

連載記事一覧

AppSheetで簡単アプリ開発 ~vol1. AppSheetって何ができる?
AppSheetで簡単アプリ開発 ~vol2. サンプルを使って作ってみよう!
AppSheetで簡単アプリ開発 ~vol3. 日報アプリを作る(データ準備編)
AppSheetで簡単アプリ開発 ~vol4. 日報アプリを作る(ビュー編)
AppSheetで簡単アプリ開発 ~vol5. 日報アプリを作る(Automation編) ★本記事★

この記事の対象者

  • AppSheetに興味のある方
  • AppSheetでアプリを作ってみたい方

Automationとは

Automationとはタスクを自動化する機能で、Event・Process・Taskを組み合わせてBotというワークフローのようなものを作成し、実行します。
Automationには7つのタスクがあらかじめ用意されています。

タスクの種類

タスク名 機能 メモ
Send an email メール送信 任意のアドレスに送信するにはデプロイ必須
※デプロイしない場合はアプリ作成者にのみメールが届く
Send a notification プッシュ通知送信 モバイル機器にプッシュ通知を送信
Send an SMS SMSメッセージ送信 日本国内では使えない(Twilioアカウントが必要)
Call a webhook 外部サービスとの連携(Webhook) SlackやLineなどのWebhookに対応しているアプリに通知を送信
Create a new file ファイルの作成と保存 CSV・HTML・ICS_Calendar・JSON・PDF・XLSX・XMLファイルの作成が可能
Call a script Google Apps Scriptの実行 AppSheetだけではできない複雑な処理やGASから外部サービへの連携などを実行
Send a chat message チャットメッセージの送信 Google Chatへのメッセージ送信

メール自動通知を作成する

以降AppSheetでの操作手順となりますが、設定の変更を行ったら画面右上に表示されているSaveボタンを選択するのを忘れないようにしてください。

AppSheet

今回は先ほど紹介したタスクの中からSend an emailタスクを使って、日報が登録されたら指定したユーザーにメールを送信する、という自動化を設定してみたいと思います!

まず、Automation画面を開き、Create my first automationを選択します。

AppSheet

すると、AppSheetって賢い!って思うのですが、オススメの自動化タスクを提示してくれます。
今回まさしくやりたいことを提示してくれているので、When a new 日報 record is created, send an emailを選択しましょう。

AppSheet

そうすると、自動的にイベント・プロセス・タスクまで作成をしてくれます。賢い!(二度目)

AppSheet

では、自動生成されたイベントとプロセスに関して解説します。

イベントについて

A new 日報 record is createdという部分を選択すると設定画面が表示されます。

Event Typeはイベントの種類で今回はData changeになっていますね。
Data changeはその名の通りデータが追加・更新・削除された時に後続のプロセスを実行する、というイベントです。

Tableは対象のテーブル、Data change typeAddsが選択されています。
これで日報テーブルにデータが追加された時というイベントだとわかります。

AppSheet

プロセスについて

Send an emailという部分を選択すると設定画面が表示されます。

Email Typeは今回Embedded app viewを選択しました。
届いたメールを開いたときに、指定したViewを本文に埋め込んで表示する設定です。

AppSheet

Toには送信先のメールアドレスを、Email Subjectにはメールの件名を設定します。
件名には<<[日付]>> の日報が登録されましたと指定しました。
こうすると、<<[日付]>>の部分が登録された日付で置換されます。

デプロイ前だとToにアプリ作成者以外のメールアドレスを指定したとしても、必ずアプリ作成者のメールアドレスにメールが送信されます。

Email Bodyはメール本文の指定を行う項目です。
最後にApp view to embed in email bodyには日報_Detailを選択してください。
こうすることで、メールの本文に日報の詳細画面が埋め込まれます。

AppSheet

ちなみにこの日報_Detailって何だろうと思われたかもしれません。
これは今までvol1~4にて紹介した方法でアプリを作成していれば、自動で作成されているViewです。

View画面の左下の方にこっそりあると思います!
今回、表示名だけ設定しました。これを設定していないとメールに日報_Detailと表示されてしまうためです。

AppSheet

自動化をテストしてみよう!

※この時点でまだSaveしていない場合はちゃんとSaveを選択してくださいね!

では、アプリのプレビューからデータを追加してみましょう。
フォームに入力が終わったら、保存を選択してデータを保存します。

AppSheet AppSheet

しばらくして、このようなメールが届けば成功です!

AppSheet

デプロイする

これまで作成してきたアプリ。プレビューでは操作が可能ですが、スマホアプリなどから操作するにはデプロイを行う必要があります。

また、今回のようにメールの自動送信を作成した場合、デプロイを行わないとアプリ作成者にしかメールを送信することができません。

というわけで、デプロイしてみましょう。
画面左側のロケットのようなアイコンを選択し、Deployment Checkを選択します。

AppSheet

Deployment checkはそのアプリがデプロイ可能かどうかをチェックしてくれます。
チェック結果は以下のように画面上に表示され、ERRORの判定があるとデプロイはできません。

※ERROR項目がある場合、その項目を選択することでエラーの内容を確認することができるので、対応を実施する必要があります!

今回はPASSEDWARNINGなのでデプロイ可能なことがわかります。
この状態で、Move app to deployed stateを選択してください。

AppSheet

画面のようなメッセージが表示され、デプロイの完了が確認できました。
ちなみに、デプロイ前の状態に戻したい時はReturn to prototype stateを選択すればデプロイ状態が解除され、プロトタイプ版に戻すことができます。

AppSheet

vol1の記事でも紹介しましたが、デプロイを行うと作ったアプリで使用している機能によっては無料ではなく、有料のプラン契約が必要になる場合があります。

その場合は、デプロイ時にERRORとして表示されるので、有料プランを契約する、もしくは無料で使用できない機能を外して再度デプロイするなどの対応が必要となります。

さいごに

vol.1~5までを通して、サンプルからアプリを作る方法や1からアプリを作る方法をご紹介しました。

今回の連載では一切コードを書くことはなく、まさにノーコード!
でも結構ちゃんとしたアプリが作れるなと思っていただけたのではないでしょうか。

とくにGoogle Workspaceが導入されている企業では、無料で使用できる場合が多いのでぜひアプリ作成にチャレンジしてみてください!

おしらせ

弊社X(旧:Twitter)では、Qiita投稿に関する情報や各種セミナー情報をお届けしております。情報収集や学びの場を求める皆さん!ぜひフォローしていただき、最新情報を手に入れてください:grinning:

10
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?