Contents
ノーコードでSlackとGoogleカレンダーを連携するメリット
業務効率化の具体例として、ミーティングの日程調整やイベント案内が手動作業から自動化されるイメージが伝わります。たとえば、Slackで「明日14時から打ち合わせ」の投稿があれば、Googleカレンダーに自動追加される仕組みです。
このような連携により、ミス削減率は38%以上と報告されています(※調査データの引用元不明)。中小企業における運用負荷軽減が期待できます。本記事では、Makeを活用したAPI連携の具体的な設定手順を解説します。
Slackアカウントの接続方法と選定基準
SlackアカウントをMakeに接続する際、「Userタイプ」と「Botタイプ」の違いを理解することが重要です。以下にそれぞれの特徴を比較表で示します。
| 項目 | Userタイプ | Botタイプ |
|---|---|---|
| 利用目的 | 個人アカウントの操作 | アプリやAPIからの自動処理 |
| 権限範囲 | 全てのチャネルにアクセス可能 | 設定されたスコープ内でしか動作しない |
| 管理性 | ユーザー変更時に影響を受ける | 別途管理が不要 |
Userタイプ vs Botタイプの違い
実務では、Botタイプが主流です。なぜなら、スケジュール自動作成や通知送信など、プログラム的な処理に最適だからです。また、Botアカウントを作成する際は、「Incoming Webhook」または「OAuth 2.0」の認証フローを選択します。
注意点:Botタイプでは「
users.read」のような個人情報を取得するスコープは原則使用不可です。
GoogleカレンダーAPIの認証プロセス
Googleカレンダーとの連携にはOAuth 2.0フローを使用します。手順をステップ形式で解説します。
- Google Cloud Consoleにアクセスし、プロジェクトを作成
- 「資格情報」タブから「OAuthクライアントID」を選択
- リダイレクトURIとしてMakeのWebhook URLを入力
スコープ選択時の注意点
カレンダー操作に必要なスコープは以下の通りです。
https://www.googleapis.com/auth/calendar:カレンダー読み書き権限https://www.googleapis.com/auth/userinfo.email:ユーザーemail取得
無料プラン利用者向けには、クレデンシャルをJSONファイルとしてローカルに保存し、Makeの「APIシークレット」欄へアップロードする方法が推奨されます。
初心者向け補足:JSONファイルは「資格情報」タブからダウンロード可能です。
MakeでのカスタムWebhook設定ガイド
MakeではSlackから送信されるイベントを「Webhook」機能で受信させます。以下に設定手順を説明します。
- Triggersセクションに「HTTP Request(Webhook)」を選択
- MethodはPOST、URLはSlack側から生成されたWebhook URLを入力
- Bodyの形式としてJSONを選択し、ペイロード構造を確認
ペイロード構造の確認
Slackからのイベントデータは以下のような形式で送信されます。
|
1 2 3 4 5 |
{ "text": "明日14時から打ち合わせ", "user": "U1234567890ABCDEF" } |
エラー対処法:
400 Bad Requestが発生した場合は、ペイロードのJSON構造を再確認してください。
初心者向け補足:Webhook URLはSlackアプリ設定画面から生成できます。
無料プランでの制限と活用術
Makeの無料プランでは月に500タスクまでの利用が可能ですが、それを超える場合の対応策が必要です。
注意:無料プランには「APIコール上限」「データ保存容量」などの制限が併せて存在します。
タスク数上限の確認方法
- Makeアカウントの「Account Settings」を開く
- 「Usage」セクションで残りタスク数を確認
代替ワークフロー提案
- Google Forms + Google Apps Script:Slack投稿をForms経由で集約し、Apps Scriptでカレンダー作成する方法
- 定期実行のスケジュール化:複数のイベントを一度に処理するなど、ロジックで制限を回避
実際に動くイベント自動作成シナリオ
以下は、Slackメッセージからカレンダー作成を自動化する3つの具体例です。
Slackメッセージからカレンダー作成
- トリガー:
/when HTTP request received - 処理:Slackメッセージの文字列解析 →
calendar.createEventでカレンダーに追加
初心者向け補足:メッセージ内に「日時」「タイトル」が含まれていることが前提です。
承諾確認フローの構築
- Slackで「参加可否を送信してください」と投稿
- ユーザーが承諾すると、Googleカレンダーに自動追加
- 拒否された場合は、Slackで通知するだけ(処理停止)
タイムゾーン対応ワークフロー
- 問題点:日本時間と海外のユーザーの時差を自動補正
- 解決策:
calendar.setEventTimeZoneを使用し、イベント作成時にタイムゾーン指定
注意:タイムゾーンは「YYYY-MM-DDTHH:mm:ssZ」形式で指定してください。
Makeアカウント登録と初期設定
Makeへの登録は無料で行えます。以下が手順です。
- https://make.com にアクセスし、「Sign Up」をクリック
- メールアドレスとパスワードを入力し、認証メールを受信
- 初期テンプレートでは「Slack + Google Calendar」の連携例が用意されているため、直接使用可能です
初期設定で無料プランでも制限内であれば、即日運用可能です。詳しくは公式ドキュメントをご参照ください。