Airtableで簡易な質問管理システムを作成する

Airtableで簡易な質問管理システムを作成する

知恵
Pocket

以下のようなエクセルやスプレッドシートを作成して、質問内容の管理をすることがあるかと思います。

Airtableで簡易な質問管理システムを作成する

この場合に、常に両者でシートへの追加を確認しないといけなかったりするので手間ではあります。

かといって、Slack等のチャットツールだけで、質問等のやり取りをすると埋もれてしまい

最終的にどうなったかがわからなくなったりします。

そのため、シートに書き込みが行われ、ステータスが変更されたら、Slackに通知する。

そして、回答を書き込み、ステータスを完了に切り替えたら、Slackに通知する。という機能を持ったものを

Airtableで作成してみます。

もちろん、GASで同様のことは可能です。(SpreadSheet + GAS + Google Form)

前提として、既にAirtableのアカウントを開設済みとします。

仕様

以下の仕様で作成していきます。

  • スプレッドシートのようなもので、一覧で質問、回答を確認することができる。
  • 質問は、フォームから投稿する。
  • 質問が投稿されたら、メールで通知、Slackに通知する。
  • 回答が投稿され、ステータスが完了に変更されたら、Slackに通知する。

Baseを作成する

workspaceから、Add a baseからbase => Start from scratchから作成します。

Airtableで簡易な質問管理システムを作成する

base名(質問管理表)をつけます。

Airtableで簡易な質問管理システムを作成する

シートの列のタイトルをダブルクリックして、名称の変更、型の変更を行っていきます。

Airtableで簡易な質問管理システムを作成する
  • No / Autonumber (オートインクリメントになります)
  • 質問日 / Created time / Friendly(2021年3月19日)
  • 質問内容 / Long text
  • 質問者 / Single line text (別のシートを作成して、マスタ化してSelectBoxで選ばせることも可能)
  • ステータス / Single select / 未対応・確認・完了
  • 回答 / Long text
  • 回答者 / Single line text (別のシートを作成して、マスタ化してSelectBoxで選ばせることも可能)
  • 回答日 / Date / Friendly(2021年3月19日)

Airtableでは、項目のデフォルト値の設定ができないので、質問日を作成日にすることで日付が自動で入るようにしています。

上記の項目を追加して、以下のようにシートを作成します。

Airtableで簡易な質問管理システムを作成する

フォーム作成

シート作成後、メニューのFormを選択します。

Airtableで簡易な質問管理システムを作成する

以下のようなフォームが表示されます。

すべての項目がフォームとして表示されてしまうので、加工していきます。

Airtableで簡易な質問管理システムを作成する

回答、回答者、回答日を削除します。</>マークをクリックします。

Airtableで簡易な質問管理システムを作成する

質問日は、項目の定義をCreated timeにすることで消えます。

カバー画像、ロゴ、送信ボタン名、Airtableのブランド名、リダイレクト先の設定は、有料アカウントでないと変更できません。

Airtableで簡易な質問管理システムを作成する
Airtableで簡易な質問管理システムを作成する

また、各項目については、必須 or 必須でないの設定が可能です。

Airtableで簡易な質問管理システムを作成する

さしあたり、すべて必須項目にしました。

できれば、新規登録時は、フォームに項目出力せず、ステータスを未対応にしたいのですが、Single selectではデフォルト設定ができないため、フォームに項目を残しています。

ただしフォーム側での選択できるものを制限できるので、こちらを設定しておきます。

Airtableで簡易な質問管理システムを作成する

また、フォームの設定として完了画面のメッセージと投稿があったらEメール送信のオプションを設定しておきます。

Airtableで簡易な質問管理システムを作成する

これで、質問用のフォームが完成しました。

Airtableで簡易な質問管理システムを作成する

Open formを押すと、フォーム単体の画面が表示されます。

Airtableで簡易な質問管理システムを作成する

実際のフォームが以下になります。

Airtableで簡易な質問管理システムを作成する
Fill out the "Aシステムの質問フォーム" form quickly and securely on Airtable.
airtable.com

フォームから投稿すると、スプレッドシートに質問内容が追加されます。

Airtableで簡易な質問管理システムを作成する
投稿完了画面
Airtableで簡易な質問管理システムを作成する

以下のように、投稿するとメールが飛んできます。

Airtableで簡易な質問管理システムを作成する

ここまでで、記事を作成しながら進めて、1時間ぐらいです。

Slack連携設定

投稿されたらメールが飛ぶ設定は、既にフォームのところでできています。

追加で、Slackに表示されるようにします。

以下の2つのAUTOMATIONSを設定して

  • 質問のステータスが更新されたら、Slackへ通知する。
  • 質問が投稿されたら、Slackへ通知する。

回答時のSlack通知設定

メニューのAUTOMATIONSをクリックします。

いくつかメニューが出るので、”Send a Slack message”をクリックします。

Airtableで簡易な質問管理システムを作成する

以下のように、条件を設定できます。

どのテーブルで、どのビューで、どの項目が更新された場合という条件設定が可能です。

Airtableで簡易な質問管理システムを作成する

フィールドについては、デフォルトだとすべての項目が選択されているので、Watching all fieldsを押して特定の項目だけに絞り込みを行います。

Airtableで簡易な質問管理システムを作成する

今回は、ステータスのみにします。ステータスが、未対応で登録された時、完了に変更した時に通知させます。

回答者は、回答の際に、ステータスを完了にするフローとします。

Slackへの連携部分の設定を行います。

Send a slack messageから、new accountの設定を行います。

Airtableで簡易な質問管理システムを作成する
Airtableで簡易な質問管理システムを作成する

通知するchannelも設定します。そして、メッセージを変更します。

Airtableで簡易な質問管理システムを作成する

Grid viewから更新するレコードの回答を記入して、ステータスを完了に変更します。

Slackに以下のようにメッセージが通知されます。

Airtableで簡易な質問管理システムを作成する

質問時のSlack通知設定

new automationsから新規作成していきます。サジェストされているものから選ぶと更新時の処理となるため、レコードが追加された時の処理を追加するには、新規作成になります。

Airtableで簡易な質問管理システムを作成する

トリガーはこちら。

Airtableで簡易な質問管理システムを作成する

アクションは、以下になります。

Airtableで簡易な質問管理システムを作成する

設定したら、ONに切り替えておきます。

Airtableで簡易な質問管理システムを作成する

実際にフォームから質問を投稿してみます。

以下のように、Slackに通知がされました。

Airtableで簡易な質問管理システムを作成する

以上で、簡易な質問管理システムができました。

とりあえず動作するものをとざっと作成したので、改善点はあるかと思いますが

コードを一切かかずにここまでできるのは大変便利です。

社内だけで利用するシステムは、Airtableで作っていいですね。

それでは。