業務ハックLab -とある情シスの備忘録-

とある情シスの備忘録的なものです。

【スポンサーリンク】

SlackワークフローとGoogleスプレッドシートを組み合わせて情シスへの依頼を管理してみる。part1

皆さんこんにちは。

業務ハックLabのようです。
今回はSlackワークフローを利用した情シスへの依頼の管理方法についてまとめました。
ちょっと記事が長くなるのでPart1、Part2に分けて書いていきます。
それでは早速行ってみましょう~

事前準備

Slack

事前にslack app directoryから「Google Sheets for Workflow Builder」をインストールしておく。

Googleスプレッドシート

事前に下記のような形で自分のGoogleドライブ上にスプレッドシートを作成しておく。

slackワークフローの構築

事前準備ができたらslackワークフローの構築をしていきます。

依頼フォームの作成
  1. 左上の組織名をクリックし「ツール」から「ワークフロービルダー」をクリック。

  2. ワークフロービルダーが起動するので右上にある「作成」をクリック、ワークフローに名前を付け「次へ」をクリック。

  3. 「ショートカット」の「選択する」をクリック。

  4. どのチャンネルで使用するかとワークフローに対する短い名前を設定し「次へ」をクリック。

  5. 「ステップを追加」をクリック。

  6. 「フォームを送信する」をクリック。

  7. 質問内容を下記のとおり設定する。
    質問を追加する場合は「質問の追加」をクリックすれば下に追加されていきます。
    質問名称 質問タイプ 質問リスト 必須
    依頼種別 Single-select dropdown 相談(ITに関する相談など)
    問い合わせ(不具合、ソフト操作など)
    依頼(PC購入、ツール作成、システム導入など)
    必須
    依頼内容 長い回答 - 必須
    緊急度 Single-select dropdown 急がない
    通常
    緊急
    必須
    期限 短い回答 - 必須
    添付文書 長い回答 - 任意

  8. 質問内容を設定できたら「保存する」をクリック。

スプレッドシートへの転記

「Add a spreadsheet row」を使用するとスプレッドシートの各列にフォームで入力された内容を新しい行に追記する動きを設定できます。

  1. 「ステップの追加」をクリック。

  2. 「Add a spreadsheet row」をクリック。

  3. 事前準備しておいたスプレッドシートを「Select a spreadsheet」で選択、追記するリストがあるシートを「Sheet」で指定すると「Column Name」と「Value」が表示されるのでそれぞれの列に代入する値を設定する。
    代入する値は「変数を挿入する」から選択したり、直接Valueに入力したりします。
    列へ指定する内容を追加する場合は「Add Column」をクリックすれば下に追加されます。
    Column Name Value
    依頼種別 変数より『回答:「依頼種別」』を選択
    依頼内容 変数より『回答:「依頼内容・・・」』を選択
    緊急度 変数より『回答:「緊急度」』を選択
    期限 変数より『回答:「期限」』を選択
    依頼者 変数より『フォームを提出したメンバー』を選択
    依頼日 =today()
    添付文書 変数より『回答:「添付文書・・・」』を選択
    アップデートKey 変数より『ワークフローが開始した時刻』と『回答:「依頼内容・・・」』を選択

  4. 各値を設定できたら「保存する」をクリック。

依頼日を「=today()」と関数の代入にしている理由としては、「ワークフローを開始した時刻」にしてしまうと時刻までは行ってしまう事、日付の表記が英語表記になってしまい使いにくいので関数を代入しています。
但し、このままだと勝手に依頼日が変わってしまうので次の工程で代入した関数を値化します。

依頼日時の値化

依頼日を値化するには一度スプレッドシートの対象行のレコードを取得して、依頼日列の値を改めて代入しなおします。

  1. 「ステップの追加」をクリック。

  2. 「Select a spreadsheet row」をクリック。

  3. 事前準備しておいたスプレッドシートを「Select a spreadsheet」で選択、選択するリストがあるシートを「Sheet」で指定すると「Choose a column to search」と「Define a cell value to find」が表示されるのでそれぞれ下記のとおり設定し「保存する」をクリックする。
    Choose a column to search アップデートKey
    Define a cell value to find 変数より『ワークフローが開始した時刻』と『回答:「依頼内容・・・」』を選択

  4. 「ステップの追加」をクリック。

  5. 「Update a spreadsheet row」をクリック。

  6. スプレッドシートを「Select a spreadsheet」で選択、選択するリストがあるシートを「Sheet」で指定すると「Find a Row」と「Update these columns」が表示されるのでそれぞれ下記のとおり設定し「保存する」をクリックする。
    Find a Row
    Choose a column to search アップデートKey
    Define a cell value to find 変数より『ワークフローが開始した時刻』と『回答:「依頼内容・・・」』を選択
    Update these columns
    Column name 依頼日
    Value 変数よりSelect a spreadsheet rowの 『依頼日』を選択

Select a spreadsheet rowで行のレコードを取得した時点で、依頼日も値で取得されているので、その値をUpdate these columnsで該当の行の依頼日列に代入するという動きになっています。

依頼内容の送信

スプレッドシートへの書き込みは上記までのフローでできるので今度は依頼内容のメッセージに記載して送付するフローです。

  1. 「ステップの追加」をクリック。

  2. 「メッセージを送信」をクリック。

  3. 下記のとおり設定する。
    メッセージの送信先 「<ワークフロー名>」をクリックしたユーザー
    メッセージのテキスト メッセージの内容はお好みで

    メッセージの内容は自分が依頼した内容がわかるようにしてあげたほうが良いと思います。

  4. 「ステップの追加」をクリック。

  5. 「メッセージを送信」をクリック。

  6. 下記のとおり設定する。
    メッセージの送信先 メッセージを送信したいチャンネルもしくはユーザーを選択
    メッセージのテキスト メッセージの内容はお好みで

  7. 「ステップの追加」をクリック。

  8. 「メッセージを送信」をクリック。

  9. 下記のとおり設定する。
    メッセージの送信先 情シス用のチャンネルもしくは自分を選択
    メッセージのテキスト メッセージの内容は依頼内容がわかる感じで
    ボタンを含める オン
    ボタンの名称は「対応完了」にする

上記では依頼者自身、所定のチャンネル、情シス用のチャンネルもしくは情シスのDMへ各種メッセージが送付されるようにしました。
この辺はお好みで設定してください。
また9でボタンを設定しましたがボタンをクリックすることで次に設定するフローが動きますので忘れずに設定しておきましょう。

記事が長くなってきたので今回はこの辺で。
次回は対応完了後のスプレッドシートの更新と完了メッセージを送るフローの作成、そして実際にどんな動きをするかについて書いていきたいと思います。
それでは皆さん良い業務ハックライフを~

免責事項