見出し画像

Slackでリアクションをつけた人を、Googleカレンダーの予定に自動で招待するワークフローの紹介(Zapier)

この記事は Zapier Advent Calendar 2019 の 15日目の記事です。


不特定多数が参加する予定をGoogleカレンダーで作ると、予定に招待するのマジ大変ですよね...

招待する人が決まっていて、2、3人くらいならいいんですが、それ以上だと一々招待するのが大変ですよ
さらに、「参加したい人は誰でも参加OK!」みたいな予定の場合、招待する人が不特定多数になり、「参加したい!」的な反応が来たら都度招待する感じになると思います
その反応が来るタイミングもバラバラで、都度招待して...ってやるのは大変ですし、人力で招待してると招待忘れ・漏れが起きることもあります😂
「参加したい!」と言ってくれたのに、予定に招待してなくて、当日同じ時間帯に別の予定が入ってて参加できない...なんてことが起きると悲しいですよね😭

大変な作業や悲しい出来事から解放されるために自動化しましょう💪

SlackのリアクションとZapierを利用して、予定への招待を自動化する

不特定多数が参加する予定をGoogleカレンダーで作り、予定への招待を自動化しましょ!
これをやるにはいくつかの前提条件がありあす

前提条件

- Slackを使っていること
- Slackのユーザ情報のアドレスにGmailが設定されていること

私はこの自動化を主に仕事で活用しています
なので、会社でSlackを使っていて、Slackのユーザ情報のアドレスはG Suite Gmailのアドレスが設定してある環境を想定してこの記事を書いています

ここから先は実際に、Zapierを使って不特定多数が参加する予定をGoogleカレンダーで作り、予定への招待を自動化をするワークフローの説明をしていきます


不特定多数が参加する予定をGoogleカレンダーで作る

まずはGoogleカレンダーで予定を作ります
例えば、以下のように誰が参加してくれるかわからないけど、誰でも参加してOKだよ!的な予定をGoogleカレンダーに作成します

スクリーンショット 2019-12-02 18.48.40


Zapierのワークフローの概要

こんな感じのワークフローで自動化を実現します

スクリーンショット 2019-12-02 18.39.33

Slackのリアクションがあったことをワークフローのトリガーにします
それぞれのタスクについて説明していきます

1. Slackのリアクションをトリガーにする

予定を作成したら、後々Slack上で参加者を集うと思います
その際に、以下のように「予定に参加したい人は、この発言にリアクションすると、自動で予定に招待します!」的な感じで発言します

スクリーンショット 2019-12-02 18.56.27

(参加者を集う発言は、ワークフローが完成したあとに行います)

まずは発言に対する特定リアクションをトリガーにして、Zapierのワークフローを動かします
トリガーは以下のような感じで設定します

スクリーンショット 2019-12-02 18.47.01

リアクションはお好みなので、好きなリアクションを指定してください🍩
あとは、発言を予定してるチャンネルを指定しておくとよいです
指定しないと、他のチャンネルでの発言に対してリアクションされたものがトリガーになりワークフローが動作してしまうからです

2. フィルターで誤動作を防ぐ

他の発言に対してリアクションされたものがトリガーになりワークフローが誤動作することを防ぎます
フィルターするために参加したい人を集う際の発言に、Googleカレンダーの予定名を入れ、その予定名が含まれる発言のみでフィルターするのがおすすめです
例えば、以下のように「ドーナッツ食べる集会」のワードが含まれた発言のみにフィルターして、以降のタスクを実行するようにします

スクリーンショット 2019-12-02 18.56.27

スクリーンショット 2019-12-02 18.42.06

もっと厳密にフィルターしたい場合、自分が発言したものだけに絞ることもできます

3. Googleカレンダーの予定に招待する

フィルターまでOKだったら、最後のタスクです
リアクションをしてくれた方を予定に招待するタスクを作ります
タスクの詳細は以下のような感じで設定します

スクリーンショット 2019-12-02 18.43.12

Calendarは自分のアドレスを指定します
Eventは招待したいGoogleカレンダーの予定を指定します
Attendee/sは招待したい人のメールアドレスを指定します

ポイントはAttendee/sに招待したい人のメールアドレスを指定する時に、タスク1(Slackのリアクションをトリガーにする)から取得できる情報を利用することです
タスク1から取得できる情報の中に、リアクションをつけた人のSlackのユーザ情報が一部含まれており、ユーザ情報に設定しているメールアドレスが取得できます(以下の図の「User Profile Email」がそれ

スクリーンショット 2019-12-15 14.59.16

それをAttendee/sに指定すれば、参加したい!とリアクションをつけた人を自動で予定に招待することができます🎉


ワークフローができたらSlackで参加者を集う発言をする

ワークフローの準備ができたら、あとはSlackで参加者を集う発言をします
発言する時にポイントが3つあります(1つ目と2つ目は必須です)

1つ目は、タスク1(Slackのリアクションをトリガーにする)のために、発言に対してどのリアクションをすると、自動で予定に招待されるのかを発言に含めます

2つ目は、タスク2(フィルターで誤動作を防ぐ)のために、発言にGoogleカレンダーの予定名を含めます

3つ目は、発言したら自身でタスク1(Slackのリアクションをトリガーにする)のトリガーとなるリアクションをつけます
これをつけておくと、最初にリアクションする人が
🤔o0(このリアクションかな?) と探す手間が省けるためです

ポイントをふまえた上で、以下のように発言するとよいです👍

スクリーンショット 2019-12-02 18.56.27

あとは、予定に参加したい人が発言にリアクションをするだけで、自動でGoogleカレンダーの予定に招待されます✨
これで定期的に参加したい人いるかな?とチェックする手間や、都度予定に招待する手間がなくなります!
さらに、予定への招待忘れ・漏れも防ぐこともできます👍

このワークフローは一度作れば、コピーして再利用できる

今回紹介したワークフローは、一度作れば他の予定もこの方法で参加者を集めたい!と思った時も再利用できます
個々のタスクの内容は、新しい予定ごとに調整しないといけないですが、ワークフローは出来上がってるので、内容を変更するだけで再利用できます


まとめ

今回紹介したワークフローを使うと「え?本当に自動で招待が来た!すごい!」とリアクションした方からビックリされます😳
自身や参加者の手間や招待忘れ・漏れも防ぐことができる便利なワークフローなので、ぜひ使ってみてください!

サポートしてもらうことで、キンパツは大好物のミスドが食べられます!よろしくお願いします!