こんにちは。
マーケティング部の木村です。
本日はQuestetra BPM Suite の処理フォームに入力した内容を、「Googleドキュメント」として保存する方法をご紹介します。
何故この記事を書いたのか?
- 毎回同じやり方でファイルの作成をする業務の効率化をしたい
- Google Workspace の各サービスと Questetra BPM Suite を連携すると色々楽なので、活用して欲しいから
と、上記の理由を述べましたが、皆様も多分同じ様な気持ちを抱いたことがあるのではないでしょうか。
例えばですが、毎週の定例会議の報告ファイル(議題・アジェンダ)や、そのフォーマットです。
人によって報告のフォーマットが違ったり、アジェンダのファイルが沢山あったりと、結構手間暇がかかっているように思えますし、同一部署内でも「担当間の連携(Aさんが報告した内容を受け、Bさんがまとめる等)」が滞り、自分にあがってくる報告を今か今かと待ちわびることもあります。
まあ上記のような状態に対し、私は結構イライラしてしまうタイプなのでなんとかならないか?と考えまして。
結果、今回の件名にもなっている「フォームに入力したテキストをGoogleドキュメントとしてGoogleドライブに保存する」事を思いつきました。
もう少し現実的に使えるようにする為、プロセスを箇条書きすると以下となります。
- 定期的に自動で「アジェンダ入力」のタスクが起動する
- 起動されたタスクは担当へ自動で通知される
- 担当全員が「アジェンダの入力」を終えたら、自動的にGoogleドライブへ「テキストファイル」がアップロードされる
- Googleドライブにアップロードされた「テキストファイル」を自動で「Googleドキュメント」形式に変換する
- 変換されたGoogleドキュメントの閲覧URLを、関係者へ自動でメール通知する
早速作ってみる
さて、前置きが長くなりましたが作ってみます。
作成するワークフロー(アプリ)の名称は
” 仮)定例会議用のアジェンダを作成するワークフロー(アプリ)“
とします。
上記に必要な工程(要素・機能)は、ざっと分けて以下となります。
- 自動で工程を起動するタイマー(定例会議のアジェンダなので、自動かつ定期的に入力フォームが生成されるようにしたい)
- 入力フォーム(アジェンダ入力)
- フォームに入力されたテキストを「テキストファイル」に変換する機能
- 「テキストファイル」をGoogleドライブにアップロードする機能
- GoogleドライブにアップロードされたテキストファイルをGoogleドキュメントに変換する機能
- 変換されたGoogleドキュメントをメールにて関係者へ通知する機能
- 1から6までを全て自動で割り振るワークフロー(アプリ)
ワークフロー図の作成
完成図は以下の様なワークフローとなります。
※割り振ってある番号については、追って説明します。
今回使用する全パーツ
今回のワークフロー(アプリ)は、以下の10個のパーツを使用して作成します。

チームスイムレーン
- 複数人が同時に対応する『タスク』(仕事)をグルーピングする
- フィードバック「助言を書く」や細部未定義の作業「諸々の初期設定」等
- 作業手順が定義しづらいタスク群(アドホックなタスク群)等にも利用可能
今回は2つの部署を登場させますので、2つ使用します。

開始イベント
- 接続している『タスク』が業務プロセス(ワークフロー)の先頭タスクとなる
- 先頭タスクは人間が手動起動できる
タイマーで自動起動を実施するだけであれば、本来は(今回の要旨を実施するだけであれば)開始イベントは使用しません。しかし、デバッグのために手動でこのプロセスを起動することもあるかと考え、「手動起動用」に使用します。

フロー
- アイコンを接続して、トークンをあるステップから次のステップに移動できるようにする
「フロー」パーツはどんなアプリでも毎回使用しますので、説明は割愛。

ヒューマンタスク
- 業務プロセス(ワークフロー)を構成する作業工程(仕事)
- 業務プロセスは、通常は1つ以上の『タスク』(仕事)から構成される
- 1つの『タスク』(仕事)につき、1つの「入力フォーム」が定義される
※ 自分が処理を担当する事になったプロセスを、特に「マイタスク」と呼ぶ
今回は「アジェンダ入力」の為に、ヒューマンタスクを使用します。

サービスタスク(データ設定)
- 業務プロセス(ワークフロー)を構成する自動処理工程
- プロセス(業務)が到達した際に、自動的に計算をする
今回は2つの用途で使用します。
用途1:自動で会議日時を計算・算出
用途2:用途1で算出された日時を、自動で「件名」と「ファイル名」に差し込む設定をする為

ジェネレータ(テキストファイル)
- 業務プロセス(ワークフロー)を構成する自動処理工程
- 任意のテキストファイルを生成し、ファイルデータ項目に格納します
「ヒューマンタスク」で入力されたテキスト情報を「テキストファイル」に自動生成する為に使用します。

Google ドライブ:ファイルアップロード
- 業務プロセス(ワークフロー)を構成する自動処理工程
- プロセス(業務)が到達した際に、ファイル型データを Google ドライブに自動保存する
「ジェネレータ(テキストファイル)」で生成されたテキストファイルをGoogleドライブにアップロードするために使用します。アップロードと共に、アップロード先の「フォルダURL(閲覧用と編集用の2つ)」を設定・取得します。

Google ドライブ: ファイル, コンバート
- Googleドライブ内の任意のファイルを、別の MimeType ファイルに変換して新規保存します。
- Googleファイルだけでなく、一般的なファイルもサポートします。
- 画像ファイル(JPEG, PNG, GIF, PDF)を「Google ドキュメント」に変換すると OCR テキスト抽出が実行されます。
Google ドライブにアップロードされたテキストファイルを Google ドキュメント形式に自動で変換します。地味に便利です。変換されたファイルのURLを取得します。

並列ゲートウェイ
- 複数進路の全てに分離して進む (プロセスの分離)
- 同時並行処理になる
今回は、自動的に立ち上がったタスクを並列で2つの部署に割り振る為に使用します。

結合ゲートウェイ
- 複数に分かれた進路を集約する
- プロセスが分離した際は、結合ゲートウェイ上で、先着側が遅着側を待つ
各部署で処理されたタスクの処理完了を受け、次の工程へタスクを進めるために使用します。
さて、パーツの説明はこれぐらいで。
データ項目の追加
次は今回のデータ項目について説明します。
既に自身でアプリを作成したことがある方は「データ項目」を設定したことがあると思います。
もしまだ「データ項目」について、よくわからないという方は以下のリンク先を一度ご確認下さい。
マニュアル:M205: 業務に必要なデータ項目(データセット)を定義する
名称 | 設定内容 | 備考 |
---|---|---|
件名 | 自動入力 | 開始日時 + 任意の文字列が格納される |
開始日時 | 自動・手動入力 ※必須 | プロセスがタイマーで起動された日時を元に、任意の日数と時間を加算した値が格納される。 またデバッグ用の手動起動の際には手動で入力する。 |
議題 | 手動入力 ※必須 | マーケティング部に所属する人が手動でアジェンダを入力する欄 |
議題:営業部 | 手動入力 ※必須 | 営業部に所属する人が手動でアジェンダを入力する欄 |
ファイル | 自動入力 | 手動入力されたテキストデータが格納される欄 |
ファイルID | 自動入力 | Googleドライブへテキストファイルをアップロードする際に割り振られるIDが格納される欄 |
表示用URL | 自動入力 | 表示用 URL を保存する欄 |
ダウンロードURL | 自動入力 | ファイルのダウンロード URL を保存する欄 |
エラーログ | 自動入力 | Googleドライブへのファイルアップロード時にエラーが発生した際、そのログを格納する欄 |
Google ドキュメント | 自動入力 | Googleドキュメント形式のファイルの閲覧・ダウンロード用URLが格納される欄 |
上記が今回のアプリで使用する「データ項目」です。
「設定内容」の箇所では、わずか2箇所のみが「手動」での入力項目となっています。
※アジェンダ内容を入力するだけ。
ワークフローアイテムの設定
割り振ってある番号の説明(各パーツ・工程の説明)

上記の画像に割り振ってある「番号」の説明
番号①から⑥
- タイマー開始イベント
タイマーで自動的に立ち上がる工程です。定期的に自動で起動して、アジェンダ入力のタスクを促します。
画像では開始日時を「毎週金曜日 09:00」に設定しています。
- ヒューマンタスク
会議の日時を手動で入力する工程です。開始工程が「4」で起動された際にのみ入力する項目です。ここで入力された日時は、アジェンダ内の会議日時や件名に使用されます。
⑤のパーツの編集画面:ヒューマンタスク
- 結合ゲートウェイ
3もしくは5の工程の完了を受け、次の工程にタスクを移動する役割のゲートウェイです。
⑥のパーツの編集画面:結合ゲートウェイ
以上が全体像の中の番号①から⑥の説明となります。

番号⑦から⑪
- 自動処理工程:サービスタスク(データ設定)
会議日時設定。
タイマーでこのアプリが自動で起動された日時を基準として「何日後の何時に」会議が実施されるのか、自動で計算します。
例:
タイマーでの自動起動日時:2021-06-01 10:00
上記の日時を元に、「3日後」の「10時」と会議日時を定めたい場合は、以下のように式を挿入します。
processInstanceStartDatetime.addDays(3).getFirstTimeInDate().addHours(10)
processInstanceStartDatetime:これはアプリが起動された日時です
.addDays(3):()内の数値でn日後の指定をします。この場合は3日後です。
getFirstTimeInDate():addDaysで指定された日時の「何時」を基準とするか定めています。
addHours(10):基準時から何時間後を指定しています。
- 自動処理工程:サービスタスク(データ設定)
議事録件名設定。
ファイルの件名に7で算出された日時を自動挿入します。
日時以外にも任意の文字列や自動的に取得した文字列を挿入することが可能です。

- 自動工程:ジェネレータ(テキストファイル)
10と11で入力したテキストデータを「ひとつのファイル」に自動生成する工程です。
・生成したファイルの保存場所(項目名)
・保存するファイル名
・テキストファイルの内容
を、設定しています。
ここでは自動で「会議日時」と「アジェンダ」が設定されるように、参照から「データ項目」を差し込んでいます。
例)
#{#q_mtg} = 会議日時のデータ項目
#{#q_yoken} = マーケティング部のアジェンダが格納されているデータ項目
- 自動工程:Google ドライブ:ファイルアップロード
Google ドライブへファイルをアップロードする自動工程です。
事前に
・アカウント設定 > Google連携
・システム設定 > セキュリティ > Google連携
の設定をしておく必要があります。
ここでは以下を設定します。
・Googleドライブに接続するユーザー
・アップロードするファイルが保存されているデータ項目(GoogleドライブのURLのお尻の文字列)
・ファイルアップロード先のフォルダID
・ファイルIDを保存するデータ項目
・表示用URLを保存するデータ項目
・ダウンロードURLを保存するデータ項目
・エラー内容を保存するデータ項目
上記のうち「ファイルアップロード先のフォルダID」以外は、事前にデータ項目を作成しておく必要がありますのでご注意下さい。
- ヒューマンタスク
Googleドライブへアップロードしたテキストファイルの内容をGoogleドキュメントへ変換する前の最終確認工程です。
「編集の可否」項目で、各項目を「編集・閲覧・非表示」のどの状態で表示させるか選択します。
まあこの工程は最終確認ですので、今回の場合は「開始日時」「議題」「議題:営業部」が表示(閲覧)できるようにしておけばOKだと思います。
文字化けなどをチェックします。

- 自動工程:Google ドライブ:ファイル、コンバート
Google ドライブ上のテキストファイルを Google ドキュメント形式のファイルに変換する工程です。
ここで項目を設定する前に以下2点の設定が必要です。
Google Drive とのOAuthの設定
右の画面の「設定はこちらから」ボタンを押すと「HTTP 認証設定」の画面が表示される。
この文章のブロックの次のブロックに設定方法を記載しているのでそちらを参照し設定する。
addonの設定
以下のリンクよりダウンロードし、アプリ詳細 > アプリ > アドオンの管理 > サービスタスク定義ファイル よりアップロードしておいて下さい。
ダウンロードしておくaddonファイル
Google ドライブ: ファイル, コンバート – Questetra Support
上記2点を設定した上で、以下の項目を設定していきます。
・サービスタスク定義ファイル:Google-Drive-File-Convert-2021.xml
・通信許可の設定名:次章で設定したHTTP認証の設定名を選択
・新しいファイルが保存されるフォルダ名:任意。
・新しいファイルのMime Type:application/vnd.google-apps.document
・編集用URLを取得したい場合のデータ項目:Googleドキュメント
- 自動工程:メッセージ送信中間イベント(メール)
作成されたGoogle ドキュメントを関係者に宛てメールで周知します。
以下の項目の設定が可能です。
送信元:送信者のメールアドレス
TO:宛先メールアドレス
Cc:任意
Bcc:任意
メールの件名:今回は自動で会議日時の差込みを行っています。
本文:今回は自動で「会議日時」「GoogleドキュメントのURL」の差込みを行っています。
Google Drive OAuth 設定
Google Cloud Platform 上での「クライアントID」と「クライアントシークレット」の取得
Google Cloud Platformにログインする
https://console.cloud.google.com/
※アカウント作成の必要あり
※APIでのコールは、ものにより有料と無料のものがある
※GoogleドライブへのOAuth認証だけであれば無料で利用可能
APIとサービス > 認証情報 へ進む
+ 認証方法を作成 > O Auth クライアントID を選択。
開いた画面で以下の内容で設定する
・アプリケーションの種類→ウェブアプリケーション
・名前→わかりやすいものでOK
・承認済みの JavaScript 生成元(2つ入力)
1.自身のQBPMSのURL(例:https://kimura.questetra.net)
2.指定のQBPMSのURL(https://s.questetra.net)
承認済みのリダイレクト URI
1.自身のQBPMSのURL(例:https://kimura.questetra.net)
2.指定のQBPMSのURL(https://s.questetra.net)
3.指定のURL(https://s.questetra.net/oauth2callback)
保存すると右側に「クライアントID」と「クライアントシークレット」が表示されるので、それを保存しておく(QBPMS上の設定で使用します)
以上で「クライアントID」と「クライアントシークレット」の発行ができました。
次はここで発行した「クライアントID」と「クライアントシークレット」を、Questetra BPM Suite 上で設定していきます。
Questetra BPM Suite 上でのOAuthの設定
QBPMSの「HTTP認証設定」より「追加」ボタンを押し、以下の項目を埋める
工程16番「自動工程:Google ドライブ:ファイル、コンバート」の設定画面を開きます。※工程アイコン左下の歯車ボタンをクリックして開く。
開いた設定画面内の「A:通信許可の設定名([OAuth2.0]メニューを選択してください)」の欄の下部にある「設定はこちら」ボタンをクリックする。
以下のページが開くので、入力項目に沿い入力する。
入力項目
名前:任意
認可エンドポイントURL:https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force
トークンエンドポイントURL:https://accounts.google.com/o/oauth2/token
スコープ:https://www.googleapis.com/auth/drive
クライアントID:Google Cloud Platformで取得したクライアントID
クライアントシークレット:Google Cloud Platform で取得したクライアントシークレット
入力したら「保存」ボタンをクリックします。
HTTP認証設定のページが表示されますので「トークンの取得」ボタンをクリックします。
設定が正常だった場合は「◯(リフレッシュトークン)」という文字が表示されます。
以上でOauthの設定が完了です。
いかがでしたでしょうか。
上手く設定できると、「フォームへ入力」→「入力された内容のGoogleドキュメントが自動で作成」されると思います。
実現すると、一部の業務はかなり楽になってくるのではないでしょうか。
さて今回のアプリについて、画像つきの説明でも、少し理解し難い部分もあるかも知れません。(特にOAuth部分)。
先ずはパーツを配置してそれぞれがどの様な役割を果たすのか雰囲気を掴み、その後にOAuth部分を時間を割いて設定するのもありだと思います。
また、不明な点に関しては以下のユーザーコミュニティにて質問することも可能です。
Questetra Support コミュニティ:https://questetra.zendesk.com/hc/ja/community/topics
是非一度、トライしてみて下さい。
もしまだ環境をお持ちでない方は、無料トライアルにて検証も可能です。
こちらもぜひご活用下さい。