設計情報

投稿者:SPIRERS ナレッジ向上チーム 2022年7月29日 (金)

お問い合わせ管理アプリ アプリ(DB・メール)設計・構築

チャットのような形式でやり取り可能なお問い合わせ管理デモを作成しました。
アプリ側でもやり取りの履歴が確認でき、相互コミュケーションがとれるアプリケーションです。
この記事は アプリ(DB・メール)設計・構築 のフェーズとなります。
関連記事はこちら
SPIRAL ver.2はプログラミング経験がなくても、オリジナルの業務アプリの制作・カスタマイズができるローコード開発プラットフォームです。
詳しくは SPIRAL ver.2 とはをご覧ください。

アプリ機能

SPIRAL ver.2はアプリを定義した後にDBやページ、フォームを設定することができます。
DB設定はアプリ機能にて行います。 詳しくは アプリ機能 をご覧ください。
今回はアプリ機能を使って下記DB、DBトリガ、メールを作成します。
DB
お問い合わせマスタDB
お問い合わせコメントDB
DBトリガ
【担当部署用】お問い合わせステータス を お問い合わせステータス へ連携 トリガ
【担当者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ
投稿者の分岐 トリガ
【お問い合わせ者コメント時】お問い合わせマスタDBステータスを更新
メール
お問い合わせ通知メール
回答連絡メール
お問い合わせ再質問通知メール
お問い合わせ終了連絡メール

登場人物と業務フローの整理

「お問い合わせ者」とお問い合わせ対応をする「各担当部署」、お問い合わせ全体を統括する「販売促進部」を登場人物としたお問い合わせ管理アプリを想定しました。
登場人物(ウェビナー管理アプリを使う人)
また、以下の業務を想定します。
業務フロー図を作成すると全体の業務が可視化され、頭の中に思い描いたイメージの整理にもなります。
簡単な業務フロー図を作成するのもおすすめです。
業務フロー図

アプリ(DB・メール)設計・構築

整理した登場人物と業務フローを元に、アプリを作成していきます。
アプリ全体像
※ 運営側操作画面(赤枠部分)については ユーザ・グループ・アプリロール設定記事をご覧ください。
DBについて
今回は以下2つのDBを作成します。
詳しい作成手順は DB機能 をご覧ください。

▼お問い合わせマスタDBフィールド一覧
項目名 フィールドタイプ DB上で必須な属性
お問い合わせステータス セレクト セレクト項目
 1:新規登録
 2:返信済み
 3:再質問
 4:終了
デフォルト値:新規登録
お名前 テキスト なし
メールアドレス メールアドレス 入力制約:あり
お問い合わせ種別 セレクト なし
お問い合わせ内容 テキストエリア なし
回答希望日 日付 なし
認証用ランダムキー テキスト 入力制約:あり
ユニーク制約:あり
▼お問い合わせコメントDBフィールド一覧
項目名 フィールドタイプ DB上で必須な属性
お問い合わせマスタ参照 参照フィールド 参照先DB:お問い合わせマスタDB
参照レコード数:1レコード
ラベルフィールド:ID
お問い合わせステータス セレクト セレクト項目
 1:新規登録
 2:返信済み
 3:再質問
 4:終了
デフォルト値:再質問
【担当部署用】お問い合わせステータス セレクト セレクト項目
 2:返信済み
 4:終了
※お問い合わせステータスフィールドへ連携するため、ラベルIDは" 2 " " 4 "で設定します
コメント テキストエリア なし
添付ファイル ファイル なし
投稿者フラグ セレクト セレクト項目
 1:ユーザ
 2:担当者
デフォルト値:ユーザ
担当者フラグ セレクト セレクト項目
 2:担当者
デフォルト値:担当者
※投稿者フラグへ連携するため、ラベルIDは" 2 "で設定します
DBトリガについて
本アプリでは「お問い合わせステータス項目」「各担当部署が使用するお問い合わせステータス項目」を分けて用意し、レコードアクションでお問い合わせステータス項目に連携するよう設計しました。
1つの種別項目で管理をすると担当者が誤って「お問い合わせステータス:再質問」に変更してしまう可能性があるため、「返信済み、終了」のみしか選べないようにしています。
そしてお問い合わせ者と担当者がコメント登録をすると紐づくお問い合わせマスタデータのお問い合わせステータスが連携して更新されるようレコードアクショントリガを設定します。

またコメント投稿者を判別する「投稿者フラグ(ラベル:ユーザ|担当者)」を用意し、連携されるようレコードアクショントリガを設定します。

具体的な レコードアクション の処理発動条件をご案内します。

●【担当部署用】お問い合わせステータス を お問い合わせステータス へ連携 トリガ
※お問い合わせコメントDBの登録トリガで設定します
アクション先 自DB(お問い合わせコメントDB)
アクション先への操作 更新
お問い合わせステータス を更新 処理
この処理は担当者が操作画面よりステータスを変更しコメントを登録した際、 【担当部署用】お問い合わせステータス の値を お問い合わせステータス に格納させたいので発動条件を下記に設定します。
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定しない
処理タイプ 更新
処理マッピング アクション先DBフィールド:お問い合わせステータス = 格納値:【担当部署用】お問い合わせステータス
エラー処理 全てエラー終了

●【担当者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ
※お問い合わせコメントDBの登録トリガで設定します
アクション先 他DB(お問い合わせマスタDB)
アクション先への操作 更新
お問い合わせステータスを更新 処理
この処理は担当者が操作画面よりコメントを登録した際、【担当部署用】お問い合わせステータス の値を お問い合わせマスタDBのお問い合わせステータス に格納させたいので発動条件を下記に設定します。
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定する
└【担当部署用】お問い合わせステータス|値あり
処理タイプ 更新
処理マッピング アクション先DBフィールド:お問い合わせステータス = 格納値:【担当部署用】お問い合わせステータス
エラー処理 全てエラー終了

●投稿者の分岐 トリガ
※お問い合わせコメントDBの登録トリガで設定します
アクション先 自DB(お問い合わせコメントDB)
アクション先への操作 更新
投稿者フラグを更新 処理
この処理は担当者が操作画面よりコメントを登録した際、担当者フラグ の値を 投稿者フラグ に格納させたいので発動条件を下記に設定します。
発動条件 指定する
経路条件:一部の経路(操作画面)
簡易条件:指定する
└【担当部署用】お問い合わせステータス|値あり
処理タイプ 更新
処理マッピング アクション先DBフィールド:投稿者フラグ = 格納値:担当者フラグ
エラー処理 全てエラー終了

●【お問い合わせ者コメント時】お問い合わせステータスをお問い合わせマスタDBへ連携 トリガ
※お問い合わせコメントDBの更新トリガで設定します
アクション先 他DB(お問い合わせマスタDB)
アクション先への操作 更新
識別キー 自DBフィールド:お問い合わせマスタ参照
対象DBフィールド:(ID)
認証キー 設定なし
更新対象が存在しない場合 エラー終了
お問い合わせステータスを更新 処理
この処理はお問い合わせ者がフォームよりコメントを登録した際、お問い合わせマスタDBのお問い合わせステータス を「再質問」に更新させたいので発動条件を下記に設定します。
識別キーを参照フィールド「お問い合わせマスタ参照」を使用しているしており、参照フィールドは現時点ではフォームでの使用ができないためAPI経由で更新しています。
発動条件 指定する
経路条件:一部の経路(API)
簡易条件:指定する
└【担当部署用】お問い合わせステータス|値なし
処理タイプ 更新
処理マッピング アクション先DBフィールド:お問い合わせステータス = 格納値:お問い合わせステータス
エラー処理 全てエラー終了
以上でDB関連の設定は完了です。
どのフィールドタイプが適しているのか迷った場合は、 フィールドタイプの選び方 をご参考ください。
メールアクションについて
DB作成が完了したら次はメールアクション設定です。
業務フロー図を見てもらうとわかるように本アプリではお問い合わせ完了メールや回答連絡メールなど、様々な用途のメール配信を行います。
▼ウェビナー管理アプリ 配信メール一覧
配信名 配信条件・配信先 機能
①お問い合わせ完了メール 配信指定方法:レコード(メールアドレス) フォームブロック上のメールアクション
(登録後、即時配信)
②お問い合わせ通知メール 配信指定方法:固定メールアドレス 非同期アクション
(登録後、即時配信)
③回答連絡メール 配信指定方法:複数レコード(メールアドレス) スケジュールトリガ&
メールアクション
(該当データがあれば、毎時 00分, 15分, 30分, 45分配信)
④お問い合わせ再質問通知メール 配信指定方法:固定メールアドレス 非同期アクション
(登録後、即時配信)
⑤お問い合わせ終了連絡メール 配信指定方法:レコード(メールアドレス) 非同期アクション
(登録後、即時配信)

①お問い合わせ完了メールは、 フォームのメールアクション にて設定します。
②お問い合わせ通知メール、④お問い合わせ再質問通知メール、⑤お問い合わせ終了連絡メールは 非同期アクション にて設定します。
1画面で「経路条件・配信先指定・配信条件・配信コンテンツ」を設定可能です。
▼【②お問い合わせ通知メール】お問い合わせマスタDB登録トリガの非同期アクション設定
▼基本設定
表示名 お問い合わせ通知メールを配信
DB お問い合わせマスタDB
経路条件 一部の経路:フォーム
※お問い合わせフォームからのみとしたいため
▼宛先
指定方法 固定メールアドレス
配信条件 条件付き配信
条件:[お問い合わせ種別][等しい][SPIRAL ver.1について] 宛先メールアドレス:営業1部メールアドレス
条件:[お問い合わせ種別][等しい][SPIRAL ver.2について] 宛先メールアドレス:営業2部メールアドレス
条件:[お問い合わせ種別][等しい][採用について] 宛先メールアドレス:人事部メールアドレス
配信エラー除外 1回以上
▼差出人、コンテンツ
差出人、コンテンツ 差出人メールアドレスや件名・文面を自由に入力
▼【④お問い合わせ再質問通知メール】お問い合わせコメントDB登録トリガの非同期アクション設定
▼基本設定
表示名 お問い合わせ再質問通知メールを配信
DB お問い合わせコメントDB
経路条件 一部の経路:フォーム
※再質問フォームからのみとしたいため
▼宛先
指定方法 固定メールアドレス
配信条件 条件付き配信
条件:[お問い合わせ種別][等しい][SPIRAL ver.1について] 宛先メールアドレス:営業1部メールアドレス
条件:[お問い合わせ種別][等しい][SPIRAL ver.2について] 宛先メールアドレス:営業2部メールアドレス
条件:[お問い合わせ種別][等しい][採用について] 宛先メールアドレス:人事部メールアドレス
配信エラー除外 1回以上
▼差出人、コンテンツ
差出人、コンテンツ 差出人メールアドレスや件名・文面を自由に入力
▼【⑤お問い合わせ終了連絡メール】お問い合わせコメントDB登録トリガの非同期アクション設定
▼基本設定
表示名 お問い合わせ終了連絡メールを配信
DB お問い合わせコメントDB
経路条件 一部の経路:操作画面
※操作画面からのみとしたいため
▼宛先
指定方法 レコード
フィールド お問い合わせマスタ参照 > メールアドレス
配信条件 条件付き配信
条件抽出(簡易):[お問い合わせステータス][等しい][終了]
配信エラー除外 1回以上
▼差出人、コンテンツ
差出人、コンテンツ 差出人メールアドレスや件名・文面を自由に入力

③回答連絡メールは スケジュールトリガのメール配信アクション にて設定します。
(1)スケジュールトリガ設定
毎時 00分, 15分, 30分, 45分にアクションが実行されるよう設定します。
表示名 回答完了通知 トリガ
実行タイミング 毎時 00分, 15分, 30分, 45分
(2)アクション設定
(1)のスケジュールトリガに紐づくアクションを設定します。差出人・コンテンツ部分は自由に入力します。
表示名 回答連絡
アクションタイプ メール配信(複数レコード)
ステータス 有効
▼宛先
DB お問い合わせマスタDB
指定方法 複数レコード
フィールド メールアドレス
抽出 抽出する
条件抽出(高度):NOW() - INTERVAL('15 minute') <= @_updatedAt AND @contactStatus ANYCONTAINS ('2')
配信エラー除外 1回以上
▼差出人、コンテンツ
差出人、コンテンツ 差出人メールアドレスや件名・文面を自由に入力
以上でメール関連の設定は完了です。

最後に

設定後は動作確認を必ず行い、動作に問題がないか確認をしてください。
また、不具合やほかのやり方が知りたい等あれば、下記の「コンテンツに関しての要望はこちら」からご連絡ください。
アプリ(DB・メール)設計・構築が完了したので次はサイト設計・構築に進みます。

関連記事はこちら
解決しない場合はこちら コンテンツに関しての
要望はこちら