Workatoで健康診断の候補日収集アプリを爆速で作ってみた

ばるす

ばるす

どーもばるすです。

健康診断の時期がやってきましたね。

超自由とはいえ弊社も株式会社の端くれなので、健康診断はあります。

社員の健康診断日程の調整ってそこそこ地味に大変ですよねー。 健保によっては医療機関と社員が直でやれたりするんですけど、そうじゃないとこもありますんで。

今回の記事はそんな問題をWorkatoで解決してみた事例となります。

レシピの詳細解説は省きますのでご了承ください。 真面目で有名な私ですが、以降の本文は砕けた会話形式でお送りします。

発端

4/9 16:00:かりんさんからアナウンス

ばるす「うーんなんか大変そうだな」

ばるす「なるほど、この結果をExcelで病院にわたすのか」

ばるす「??? 」

4/9 18:00:Googleフォーム作ってみた

ばるす「サクッとできた。さーて入力してみるかー」

ばるす「んー、日付と時間選択の入力部分がストレスだな。今回は単発だしこれでも良いのかも知れないけど…」

ばるす「Asanaのボードで管理するって案もあるな。この発想は良いね。」

ばるす「これだと後続のタスクもわかりやすいし、誰が未申請かすぐわかる」

ばるす「いやけどこの方法は今の人数でしかできないぞ。今回こっきりならこれも良いけど…」

ばるす「むむむ」

ばるす「せや!Workatoでやったろ!」

ばるす「おっ、そうこうしてるうちにかりんさんからMTGのお誘いがきたー」

4/9 19:20 かりんさんとMTG

.balloon-simple { width: 100%; margin: 0px 0; overflow: hidden;  } .balloon-simple .icon-right img, .balloon-simple .icon-left img{ width: 75%; border-radius: 50%;  background-size:cover; } .icon-right p, .icon-left p{ text-align: center; top: -20px; position: relative; } .balloon-simple .balloon { width: 100%; } .serif-right, .serif-left { position: relative; padding: 20px 30px 20px 15px; border-radius: 10px; } .serif-right:after, .serif-left:after { content: ""; position: absolute; top: 15px; border-top: 10px solid transparent; border-bottom: 5px solid transparent; border-left: 5px solid transparent; } .serif-right p, .serif-left p { margin: 0; padding: 0; color: #fff; } .balloon-simple .icon-right { float: right; width: 100px; margin-right: 10px; } .balloon-simple .icon-right img{ border: solid 4px #85e3ff; } .serif-right { margin: 20px 20px 0px 0px; background: #85e3ff; float: right; } .serif-right:after { transform: scale(-1, 1); right: -22px; border-right: 20px solid #85e3ff; } .balloon-simple .icon-left { float: left; width: 100px; margin-left: 10px; } .balloon-simple .icon-left img{ border: solid 4px #da9e5b; } .serif-left{ display: inline-block; margin: 20px 20px 0px 0px; background: #da9e5b; } .serif-left:after{ left: -22px; border-right: 20px solid #da9e5b; }

ばるす

かくかくしかじか

かりん

なるほどーGoogleフォームもいいですね

かりん

どっちが良いんですかね?

ばるす

Workatoでやりたいんでどっちもボツで。

( GoogleフォームもAsanaも良いんですけど、

Slackだけで完結するモノを作ってみるのはどうですかね? )

かりん

ばるすさん、本音と建前が逆になってます

ばるす

てへぺろ☆(ゝω・)

4/9 20:00 しゅんすけさんとMTG

.balloon-simple { width: 100%; margin: 0px 0; overflow: hidden;  } .balloon-simple .icon-right img, .balloon-simple .icon-left img{ width: 75%; border-radius: 50%;  background-size:cover; } .icon-right p, .icon-left p{ text-align: center; top: -20px; position: relative; } .balloon-simple .balloon { width: 100%; } .serif-right, .serif-left { position: relative; padding: 20px 30px 20px 15px; border-radius: 10px; } .serif-right:after, .serif-left:after { content: ""; position: absolute; top: 15px; border-top: 10px solid transparent; border-bottom: 5px solid transparent; border-left: 5px solid transparent; } .serif-right p, .serif-left p { margin: 0; padding: 0; color: #fff; } .balloon-simple .icon-right { float: right; width: 100px; margin-right: 10px; } .balloon-simple .icon-right img{ border: solid 4px #85e3ff; } .serif-right { margin: 20px 20px 0px 0px; background: #85e3ff; float: right; } .serif-right:after { transform: scale(-1, 1); right: -22px; border-right: 20px solid #85e3ff; } .balloon-simple .icon-left { float: left; width: 100px; margin-left: 10px; } .balloon-simple .icon-left img{ border: solid 4px #da9e5b; } .serif-left{ display: inline-block; margin: 20px 20px 0px 0px; background: #da9e5b; } .serif-left:after{ left: -22px; border-right: 20px solid #da9e5b; }

ばるす

しゅんすけさんに共有しとくか。おーい

かくかくうまうま

しゅんすけ

なるほど

ばるす

ざっくり書いたけど、これが全体のフロー図。

.balloon-simple { width: 100%; margin: 0px 0; overflow: hidden;  } .balloon-simple .icon-right img, .balloon-simple .icon-left img{ width: 75%; border-radius: 50%;  background-size:cover; } .icon-right p, .icon-left p{ text-align: center; top: -20px; position: relative; } .balloon-simple .balloon { width: 100%; } .serif-right, .serif-left { position: relative; padding: 20px 30px 20px 15px; border-radius: 10px; } .serif-right:after, .serif-left:after { content: ""; position: absolute; top: 15px; border-top: 10px solid transparent; border-bottom: 5px solid transparent; border-left: 5px solid transparent; } .serif-right p, .serif-left p { margin: 0; padding: 0; color: #fff; } .balloon-simple .icon-right { float: right; width: 100px; margin-right: 10px; } .balloon-simple .icon-right img{ border: solid 4px #85e3ff; } .serif-right { margin: 20px 20px 0px 0px; background: #85e3ff; float: right; } .serif-right:after { transform: scale(-1, 1); right: -22px; border-right: 20px solid #85e3ff; } .balloon-simple .icon-left { float: left; width: 100px; margin-left: 10px; } .balloon-simple .icon-left img{ border: solid 4px #da9e5b; } .serif-left{ display: inline-block; margin: 20px 20px 0px 0px; background: #da9e5b; } .serif-left:after{ left: -22px; border-right: 20px solid #da9e5b; }

しゅんすけ

これ、下書きを15分で書いたんですか、すごいですね

ばるす

馬なんでね

ばるす

これ今別で作ってるレシピの応用でほぼいけると思うんだけどどう?

しゅんすけ

あーいけますね

ばるす

だよねー。じゃ俺が土日使って作ってみるわ

しゅんすけ

(´・ω・`)

ばるす

………?

ばるす

…しゅんすけさん、作ってみる?

しゅんすけ

えっ!!良いんですか!俺やっちゃいますよ!!

ばるす

よっしゃ!まかせた!!

4/12 10:00 しゅんすけさんと会話

.balloon-simple { width: 100%; margin: 0px 0; overflow: hidden;  } .balloon-simple .icon-right img, .balloon-simple .icon-left img{ width: 75%; border-radius: 50%;  background-size:cover; } .icon-right p, .icon-left p{ text-align: center; top: -20px; position: relative; } .balloon-simple .balloon { width: 100%; } .serif-right, .serif-left { position: relative; padding: 20px 30px 20px 15px; border-radius: 10px; } .serif-right:after, .serif-left:after { content: ""; position: absolute; top: 15px; border-top: 10px solid transparent; border-bottom: 5px solid transparent; border-left: 5px solid transparent; } .serif-right p, .serif-left p { margin: 0; padding: 0; color: #fff; } .balloon-simple .icon-right { float: right; width: 100px; margin-right: 10px; } .balloon-simple .icon-right img{ border: solid 4px #85e3ff; } .serif-right { margin: 20px 20px 0px 0px; background: #85e3ff; float: right; } .serif-right:after { transform: scale(-1, 1); right: -22px; border-right: 20px solid #85e3ff; } .balloon-simple .icon-left { float: left; width: 100px; margin-left: 10px; } .balloon-simple .icon-left img{ border: solid 4px #da9e5b; } .serif-left{ display: inline-block; margin: 20px 20px 0px 0px; background: #da9e5b; } .serif-left:after{ left: -22px; border-right: 20px solid #da9e5b; }

ばるす

しゅんすけさーん、例のあれできたー?

しゅんすけ

あーできましたよ!

ばるす

まじでー!すご!

じゃ、ちょっと試してみるわー

試してみた

完成形

レシピ全体図はこんな感じです。

実行してみた

実行の流れ

  1. Slackで/dateを実行
  2. 初回のみ:Googleシート,Googleカレンダーの認証をする
  3. モーダルに入力
  4. DMが来れば完了

すげーちゃんとできてるw

まとめ

ニーズ発生から解決に至るまで

土日を入れても、数日で完成できたことになる。

作ったしゅんすけさんがすごいのはもちろん、ほぼ既存の別レシピでやってることが応用できるWorkatoの懐の広さよ。

これがGASなら慣れてる人でも3日はかかりそう。

余談ですがこんなやり取りがありました。

.balloon-simple { width: 100%; margin: 0px 0; overflow: hidden;  } .balloon-simple .icon-right img, .balloon-simple .icon-left img{ width: 75%; border-radius: 50%;  background-size:cover; } .icon-right p, .icon-left p{ text-align: center; top: -20px; position: relative; } .balloon-simple .balloon { width: 100%; } .serif-right, .serif-left { position: relative; padding: 20px 30px 20px 15px; border-radius: 10px; } .serif-right:after, .serif-left:after { content: ""; position: absolute; top: 15px; border-top: 10px solid transparent; border-bottom: 5px solid transparent; border-left: 5px solid transparent; } .serif-right p, .serif-left p { margin: 0; padding: 0; color: #fff; } .balloon-simple .icon-right { float: right; width: 100px; margin-right: 10px; } .balloon-simple .icon-right img{ border: solid 4px #85e3ff; } .serif-right { margin: 20px 20px 0px 0px; background: #85e3ff; float: right; } .serif-right:after { transform: scale(-1, 1); right: -22px; border-right: 20px solid #85e3ff; } .balloon-simple .icon-left { float: left; width: 100px; margin-left: 10px; } .balloon-simple .icon-left img{ border: solid 4px #da9e5b; } .serif-left{ display: inline-block; margin: 20px 20px 0px 0px; background: #da9e5b; } .serif-left:after{ left: -22px; border-right: 20px solid #da9e5b; }

ばるす

いやぁごめんね、後になって思い返したら俺がやるべきだったと思うわ。

反省。土日の時間使ってもらうなんて申し訳ないことをs

しゅんすけ

あれ1時間で終わりましたから大丈夫ですよ

ばるす

は???? 1時間????

しゅんすけ

はい( ・´ー・`)

しゅんすけ

1時間でできました ( ・´ー・`)

ばるす

まじかよ

しゅごい。

課題点

実際にやってみると想定してなかった課題がいくつか見つかるもので。 別の機会があればこれらも解決して臨みたいものです。

  • ユーザーは一度入力したデータを編集できないカレンダーの変更もセットで必要になる

未入力のユーザーを出力する方法がない

  • スプレッドシートの関数とか使えば良いけど微妙

SmartHRとかからマスタを引っ張ってくる必要がある用途に応じてモーダルとシートに出力するデータを書き換える必要がある

  • もうちょっと抽象度を上げて使いまわしができるようにしたい

最後に

やっぱWorkatoってすごいわ。

Workatoの威力を改めて実感した出来事でした! それではまた次回!

この記事をシェア