4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【業務改善】Yoomで勤務表を自動で作成する

Last updated at Posted at 2023-09-06

勤務表を自動で作成したい

弊社の勤怠はスプレッドシートで1ヶ月ごと1スプレッドシートで管理しています。
そのため、月初めには必ず、勤務表のフォーマットを手動でコピーして、その月の分の勤務表を作成する作業があります。
面倒な作業ではないのですが、月初めの出社時に勤務表作成を忘れており、退社時に慌てて作業することが多かったので、Yoomの勉強もかねて自動で勤務表を作成するフローを作成することにしました。

Yoom(ユーム)とは

様々なSaaS・AIと連携した独自の業務ツールをノーコードで作成できるツール。
主に以下の3種類のツールを用いて作成することができ、組み合わせて作成することも可能。
無料版だとタスク実行が100回/月の制限あり。
ちなみに、勤務表作成のツールにYoomを選んだ理由は、無料版の範囲で手動実行だけでなく、トリガー実行も対応しているためです。
今回はフローボットのみを使用して勤務表作成の自動化を行いました。

フローボット

他アプリと連携することで、様々なアクションを自動的に実行することが可能。
実行方法は、手動実行の他に、時間やフォームに情報を送信したタイミングをトリガーとして自動で実行させる方法がある。

入力フォーム

GoogleFormのような簡単なフォームを作成することができ、入力した情報をデータベースに保存したり、情報を更新したりすることができる。

データベース

一からデータベースを作成できるだけでなく、入力フォームの情報を蓄積したり、
他のアプリと連携して、データベースの情報を一つに集約したりすることもできる。
※100レコード毎の追加、更新でタスク実行回数1回分消費する

作成手順

①Yoomにログイン後、新規プロジェクトを作成します。ホーム画面から新規作成をクリックします。(アカウント作成とログインの手順は割愛してます)
無題.png

任意のプロジェクト名を入力して、保存するをクリックします。
無題1.png

②作成したプロジェクトが開くので、フローボットをクリックし、新規作成をクリックします。
無題2.png

作成方法を「はじめから作成」または「テンプレートギャラリーから作成」を選択します。
今回は「はじめから作成」を選択しました。
無題3.png

③フローボット作成画面が表示されるので、フローボットのタイトルと、説明文を入力します。
月初に起動したいので、トリガーは「特定のスケジュールになった時」を選択します。
無題6.png

④トリガーの設定画面が開くので、タイトル「月初の9時になったら」を入力し、スケジュール設定は「日付指定」、日は「1」、時刻は「9」を入力し、保存ボタンをクリックします。
無題5.png

トリガーが設定されました。初期設定ではトリガーがOFFになっているので、クリックしてONにしておきます。
無題7.png

無題8.png

⑤次に、複製したファイル名に勤務表(202309)のようにフロー実行日の年(yyyy)と月(MM)を設定したいので、取得する処理を追加します。+アイコンをクリックします。
無題22.png

オペレーションタイプの選択で「データを操作・変換する」をクリックします。
無題19.png

変換タイプの選択で、「正規表現によるデータの抽出」をクリックします。
無題20.png

タイトルに「yyyyを取得する」と入力して「次へ」をクリックします。
※yyyyMM(年と月を繋げて)で取得することもできますが、今回はyyyyとMMを別々に取得します。
無題21.png

抽出対象の文字列の欄をクリックすると、プルダウンが表示されるので、「今日」→「%Y%m%d」を選択します。
無題23.png
選択後は{{today_%Y%m%d}}と自動で表示されます。
これでロボを実行した日の年月日がyyyyMMddの形式で取得されます。
ここから正規表現を使用して先頭のyyyyを抽出します。
無題24.png

抽出箇所を検索欄に正規表現の\d{4}を入力します。
下のテストボタンをクリックすると、2023が抽出されているので成功です。
※正規表現についての説明は割愛します。Yoom正規表現のヘルプ
無題25.png
最後にアウトプット名にyyyyと入力して保存ボタンをクリックします。
アウトプット名は、他のアクションから年(yyyy)を呼び出す際に指定する変数名のようなイメージです。
無題26.png

⑥⑤と同様にフロー実行日の月(MM)を取得する処理を追加します。
流れは⑤と同様なので割愛しますが、正規表現を入力する欄で(?<=[0-9]{4})(.*)(?=(0[1-9]|[12][0-9]|3[01]))と入力します。
無題27.png

⑦次に、GoogleドライブとYoomを連携して、勤務表フォーマットのスプレッドシートをコピーするアクションを設定します。+アイコンをクリックします。
無題28.png
オペレーションタイプの選択で「アプリと連携する」をクリックします。
無題9.png
どのアプリと連携するか聞かれるので「GoogleDrive」を選択します。
無題10.png
タイトルを入力し、Googleドライブと連携するため「連携アカウントを追加する」をクリックします。
無題11.png
アカウント選択画面が表示されるので、連携したいアカウントを選択します。
無題12.png
内容を確認し、「続行」をクリックします。
無題13.png

アカウントが連携されました。
アクションは「ファイルを複製する」を選択し、次へをクリックします。
無題14.png

次の画面では、どのスプレッドシートを複製するか設定します。
「ファイルID」に複製したいスプレッドシートのIDを入力します。
※スプレッドシートURLの●●●●●部分
https://docs.google.com/spreadsheets/d/●●●●●/edit#gid=0
「フォルダID」は複製したファイルを格納するフォルダIDを入力します。
※フォルダURLの●●●●●部分
https://drive.google.com/drive/u/0/folders/●●●●●
無題30.png

「ファイル名」には勤務表(202309)のように実行日の年と月を設定したいので、まず勤務表()と入力し、()の間にカーソルがある状態にします。
その状態で、ファイル名欄をクリックするとプルダウンが表示されるので、⑤で設定したタイトル名yyyyを取得する→アウトプット名yyyyを選択します。すると勤務表({{yyyy}})と表示されます。
無題29.png
同様にMMを取得する→アウトプット名MMを選択します。
最終的にファイル名が勤務表({{yyyy}}{{MM}})と表示されていれば成功です。
すべて入力したら、一番下の「保存する」をクリックします。
無題31.png

⑧次に複製した勤務表スプレッドシートのD2セルに年(yyyy)、F2セルに月(MM)を入力する処理を追加します。
以下画像のようなイメージです。
image.png
+アイコンをクリックし、「アプリと連携する」から「Googleスプレッドシート」を選択します。
無題32.png
タイトルを入力し、アクションは「セルに値を入力」を選択し、次へをクリックします。
無題33.png

「スプレッドシートID」の設定では、プルダウンのアウトプットを入力勤務表フォーマットをコピーして新しい勤務表を作成する(⑦のタイトル名)→複製したファイルIDをクリックします。
無題35.png
「シート名」は複製したファイルのシート名を入力し、「対象のセル」はyyyyを入力したいセルを設定します。
「値」では年(yyyy)を入力したいので、⑤で設定したタイトル名yyyyを取得する→アウトプット名yyyyを選択します。
全て設定し終えたら一番下の保存するボタンをクリックします。
無題36.png

⑨次は、勤務表スプレッドシートのF2セルに、月(MM)を入力する処理を追加します。
⑧と同様なので説明は割愛します。

⑩最後に、勤務表を作成し終えたら、通知メッセージを送信する処理を追加します。
+アイコンをクリックし、「アプリと連携する」から「Chatwork」を選択します。
無題37.png

⑦のGoogleドライブのアカウント追加の処理と同様に、Chatworkのアカウント追加を行います。「連携アカウントを追加する」をクリックします。
無題38.png
連携画面が表示されるので任意の方法で接続します。
image.png
内容を確認し「許可」をクリックします。
無題39.png
アカウントの追加が完了したら、アクションで「メッセージを送る」を設定し「次へ」をクリックします。
無題40.png

Chatworkのどのルームにメッセージを送信するか、ルームIDを設定します。
※送信したいルームIDのURLの●●●●●部分
https://www.chatwork.com/#!rid●●●●●●
または、ルームID欄をクリックすると、ルーム名が表記されたプルダウンが表示されるので、それを選択することでもルームIDを設定できます。

メッセージ内容は任意のメッセージを設定します。
画像下の「テスト」をクリックすると、指定したルームIDにテストメッセージを送信することができます。
無題41.png
正しくメッセージが送信されたことを確認したら、保存ボタンをクリックします。

⑪以上でフローが完成したので、動作確認をします。
編集画面を上までスクロールし、「<フローボット詳細に戻る」をクリックします。
無題42.png

「フローボットを起動する」をクリックします。
無題43.png

アクションが上から順番に実行されていきます。
トリガーを月初の9時に設定しましたが、最初の起動はトリガーが無視されるようで、実行日が月初でなくても起動し、最後の通知のアクションまで進みました。
無題44.png
Chatworkに完了通知が届きました。
※送信者名はYoomと連携したアカウント名が表示されます。
無題45.png
Googleドライブを確認すると新しい勤務表が作成されていました!
無題46.png

ファイル名と、D2、F2セルにも日付が正確に設定されていました。
無題47.png

タスク実行回数について

今回は計7個のアクションでフローボットを作成したので、
1回の起動で、タスク実行回数は7回消費されます。
無料版の範囲で作成したい場合、月100回を超えないようにアクションの数を計算してフローボットを作成する工夫が必要そうです。

感想

タスク実行回数の制限はあるものの、無料版で、作成したフローの自動実行(トリガー設定)ができることに感動しました。
また、日付の取得方法がわからなかったので、Yoom画面右下のフォームから質問したところ、すぐに回答があったので、サポートも手厚いのかなと思います。
今回はフローボットしか使用できなかったので、他の入力フォームやデータベースを組み込んだツール作成にもチャレンジできたらいいなと思っています!

4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?