Contents
Slack Workflow Builder の概要と利用条件
Slack Workflow Builder は、プログラミング不要で業務プロセスを自動化できるノーコードツールです。まずは組織がどのプランで利用可能か、そして誰がフローを作成・管理できるかを把握することが、円滑な導入の第一歩となります。本節では公式情報に基づき、プラン別機能と基本操作の流れを整理します。
プラン別の利用可否と権限
Slack の各有料プランで提供されている Workflow Builder の範囲は以下の通りです(※1)。無料プランでも限定的なフローは作成できますが、カスタムステップや外部連携は利用できません。
| プラン | フロー作成権限 | テンプレート共有・外部連携設定 |
|---|---|---|
| Free | 全メンバーがシンプルなビルトインフローを作成可 | なし |
| Standard | メンバー全員が Workflow Builder を利用可能。管理者のみがテンプレートの公開やカスタムステップの設定を行える。 | 管理者限定 |
| Plus | Standard の機能に加え、ワークスペース全体でテンプレートギャラリーへの掲載が可能。 | 管理者限定 |
| Enterprise Grid | 組織単位で細かい権限設定ができ、カスタムステップ API や SSO 連携もサポート。 | 管理者・特定ロールに付与可能 |
ポイント:導入前に「誰がフローを作成し、誰が外部サービスと連携できるか」を整理しておくと、後々の権限変更やセキュリティレビューがスムーズになります。
基本操作の流れ
Workflow Builder の UI は左側にトリガー、右側にステップを配置するだけのシンプルな構成です。以下は典型的な作成手順です(※2)。
- サイドバー → ツール → Workflow Builder を開く
- 「Create」ボタンで新規フローを開始し、名前と説明を入力
- トリガー を選択(例:ショートカット、スケジュール)
- 必要な ステップ(フォーム、承認、メッセージ送信等)をドラッグ&ドロップで追加
- 「Save」→「Publish」でフローを有効化し、テスト実行で動作確認
テンプレート活用と自動化アイディア
公式の テンプレートギャラリー には業務別に整理された多数のサンプルが用意されており、初心者でもすぐに利用を開始できます。本節ではギャラリーの使い方と、独自テンプレート作成時の留意点を紹介します。
公式テンプレートギャラリーの使い方
Slack のヘルプセンターで提供されているテンプレート一覧は、目的別にカテゴリ分けされています(※3)。以下は代表的なカテゴリーと推奨シナリオです。
| カテゴリ | 代表テンプレート例 | 主な利用シーン |
|---|---|---|
| オンボーディング | 入社申請 → 承認 → Slack 招待 | 新入社員の手続き自動化 |
| 定例レポート | 毎週月曜にフォーム送信 → 集計結果通知 | チーム進捗管理 |
| アラート・インシデント | インシデント発生時に全員へプッシュ通知 | IT 運用監視 |
| 資料請求 | フォーム入力 → 承認 → Google Drive への保存 | 営業資料の共有 |
ポイント:テンプレートは「コピー」して自社フローに合わせてカスタマイズできるため、設計時間を大幅に短縮できます。
カスタムテンプレート作成のベストプラクティス
独自テンプレートを社内で共有する際は、以下の手順とチェックリストを参考にしてください。
- ステップ構造はシンプルに:1〜3 ステップで完結させ、必要ならサブフローで分割
- 変数名は統一:
{{form.name}}のようにプレースホルダーを決めておくと他チームでも再利用しやすい - テストケースを必ず作成:少なくとも2パターン(正常系・例外系)で実行結果を確認
- エクスポート & バージョン管理:JSON 形式でエクスポートし、Git リポジトリに保存して変更履歴を追跡
主なトリガーと設定方法
フローは「何がきっかけで動くか」すなわちトリガーの選択から始まります。Slack が提供する4種類の主要トリガーについて、設定手順と活用例を具体的に解説します(※4)。
ショートカットトリガー
ショートカットはユーザーが手動でフローを起動できる最も直感的な方法です。以下の手順で作成します。
| 手順 | 内容 |
|---|---|
| 1 | Add Trigger → Shortcut を選択 |
| 2 | トリガー名と説明文を入力し、表示させるチャンネルやメニュー位置を指定 |
| 3 | 必要に応じてアイコンやショートカットキーを設定 |
| 4 | 「Save」後、フロー全体を公開 |
活用例:オンボーディング申請や社内リクエストの手動起動。
スケジュールトリガー
定期的に実行したいタスクはスケジュールトリガーが最適です。設定フローは次の通りです。
| 手順 | 内容 |
|---|---|
| 1 | Add Trigger → Scheduled を選択 |
| 2 | 実行頻度(毎日・週次・月次)と時刻、タイムゾーンを入力 |
| 3 | 対象チャンネルや対象ユーザーの絞り込みが必要な場合はオプションで設定 |
| 4 | 「Save」してフローを公開 |
活用例:毎朝のスタンドアップリマインダーや週次レポート収集。
メッセージアクショントリガー
メッセージに対するリアクションやボタン操作からフローを起動できます。設定手順は以下です(※5)。
| 手順 | 内容 |
|---|---|
| 1 | 任意のメッセージ右クリック → More actions → Create Workflow |
| 2 | 「Message Action」トリガーとして選択し、キーワードやスタンプ条件を設定 |
| 3 | 必要なステップ(承認・通知など)を追加 |
| 4 | 「Publish」で有効化 |
活用例:特定キーワードが含まれるメッセージを自動で承認依頼に変換。
外部イベント(Custom Step API)トリガー
外部システムからのイベントでフローを起動したい場合は、Custom Step API を利用します。設定手順は次のとおりです(※6)。
| 手順 | 内容 |
|---|---|
| 1 | Slack アプリに Workflow Builder → Custom Steps を追加し、エンドポイント URL とシークレットを入力 |
| 2 | 外部サーバー側でリクエスト受信ロジック(署名検証含む)を実装 |
| 3 | Workflow Builder 内で「External Event」トリガーを選択し、先ほど登録したカスタムステップを指定 |
| 4 | 必要なペイロード項目をマッピングして保存 |
活用例:CRM の新規リード作成時に Slack に通知し、同時に承認フローへ連携。
標準ステップとカスタム関数の実装例
標準ステップだけでも多くの業務を自動化できますが、Slack SDK を使った カスタム関数 でさらに高度なロジックを組み込めます。本節では代表的なフロー例とコードサンプルを示します。
フォーム & 承認フローの実装例
- フォームステップ:氏名・部署・開始日など必須項目を設定
- 承認ステップ:部門マネージャーが「Approve / Reject」ボタンで応答
- 通知ステップ:結果を
#hr-notificationsへブロックキット形式で送信
|
1 2 3 4 5 6 7 8 |
{ "channel": "#hr-notifications", "blocks": [ {"type":"section","text":{"type":"mrkdwn","text":"*新入社員*: {{form.name}} が承認されました"}}, {"type":"context","elements":[{"type":"mrkdwn","text":"開始日: {{form.start_date}}"}]} ] } |
ポイント:標準ステップだけで完結するフローは、保守コストが低くなるためまずはこちらから構築すると良いでしょう。
メッセージ送信(ブロックキット)例
ブロックキットを活用すればリッチなレイアウトの通知が可能です。以下は「定期リマインダー」フローで使用するサンプルです。
|
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "channel": "#general", "blocks": [ {"type":"header","text":{"type":"plain_text","text":"🗓️ 本日のスタンドアップ"}}, {"type":"section","text":{"type":"mrkdwn","text":"*開始時間*: 10:00 AM\n*場所*: #standup‑room"}}, {"type":"actions","elements":[ {"type":"button","text":{"type":"plain_text","text":"参加する"},"value":"join"}, {"type":"button","text":{"type":"plain_text","text":"欠席"},"style":"danger","value":"absent"} ]} ] } |
カスタム関数(Slack SDK)サンプルコード
以下は Node.js 環境で GitHub Issue を自動作成し、結果を Slack に通知するカスタム関数です(※7)。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// src/createIssue.js const { WebClient } = require('@slack/web-api'); const fetch = require('node-fetch'); module.exports = async ({ inputs, env }) => { const { title, body } = inputs; // フォームから受け取る const slack = new WebClient(env.SLACK_BOT_TOKEN); // GitHub API 呼び出し const response = await fetch('https://api.github.com/repos/your-org/repo/issues', { method: 'POST', headers: { Authorization: `token ${env.GITHUB_TOKEN}`, Accept: 'application/vnd.github.v3+json' }, body: JSON.stringify({ title, body }) }); const issue = await response.json(); // Slack に結果を通知 await slack.chat.postMessage({ channel: '#dev-ops', text: `GitHub Issue #${issue.number} が作成されました :tada:` }); return { success: true, issueNumber: issue.number }; }; |
実装手順
- Slack アプリの Custom Steps ページでコードをアップロードし、エンドポイント URL を取得
- 必要な OAuth スコープ(
chat:write)とシークレット(GitHub トークン)を環境変数に設定 - Workflow Builder のステップ選択画面で「Custom Function」を追加し、上記関数をマッピング
ポイント:カスタム関数は外部 API キーや認証情報の管理が重要です。必ず シークレットストア か環境変数で保管し、最小権限で運用してください。
外部サービス連携パターン
Slack の自動化は単体でも便利ですが、他ツールと組み合わせることで更に価値が高まります。本節では公式が推奨する Custom Step API とノーコード統合プラットフォーム(Zapier・Make)の代表的な連携フローを紹介します。
Custom Step API の実装手順
- エンドポイント作成:任意のサーバーで HTTPS の POST エンドポイントを用意し、リクエスト署名検証ロジック(
X-Slack-Signature)を実装 - Slack アプリ設定:
Workflow Builder → Custom Stepsに URL とシークレットを登録 - ペイロード設計:Workflow から送信される JSON を受け取り、外部システム(例:Salesforce のリード作成)へ変換して POST
- レスポンス:200 OK と任意の JSON を返すと次ステップへ進行。エラー時は 5xx を返し
retryフラグで再試行が可能
|
1 2 3 4 5 |
{ "name": "{{form.name}}", "email": "{{form.email}}" } |
ポイント:外部 API 呼び出しのタイムアウトは 10 秒以内に抑えると、Workflow の全体遅延を最小化できます。
Zapier での典型的なフロー
Zapier は UI が直感的で非エンジニアでも設定が容易です。以下は「Slack メッセージ → Google カレンダーイベント」連携例です(※8)。
- Trigger:
Slack – New Reaction Added(メッセージにリアクションが付いたとき) - Action:
Google Calendar – Create Detailed Event - タイトル:
{{reaction.message_text}} - 日時:固定またはフォームで取得した日時フィールド
- Test:Zapier のテスト機能で実際にイベントが作成されるか確認
Make (Integromat) でのフロー例
Make はルーティングやエラーハンドリングが柔軟です。以下は「Slack フォーム → Airtable にレコード保存」パターンです(※9)。
- Watch Workflow Runs:Slack モジュールで特定ワークフローの完了を監視
- Create a Record:Airtable モジュールにフォーム項目をマッピング
- Error Router:失敗時は Slack の
#alertsチャンネルへ通知するブランチを追加
ポイント:ノーコード連携でも認証情報は必ず シークレットストア に保存し、権限は最小限に設定してください。
運用・テスト・セキュリティのベストプラクティス
自動化が本番環境で安定稼働するためには、開発フェーズだけでなく運用フェーズでも適切な管理が必要です。本節ではテスト手順、バージョン管理、そしてセキュリティ対策の具体的なチェックリストを示します。
テスト環境とデバッグ
- ステージングワークスペース:本番とは別にテスト用 Slack ワークスペースを作成し、同一フローをコピーして検証
- Run History の活用:Workflow Builder の「Run History」から実行ログ・エラーメッセージを確認できる(※10)
- ユニットテスト:Custom Step API はローカルで
npm testなどのフレームワークを使い、リクエスト/レスポンスの期待値を検証
バージョン管理と CI/CD
- JSON エクスポート:Workflow → 「Export」から JSON ファイルを取得し Git リポジトリに保存
- タグ付け:主要リリースは
v1.0.0形式でタグ付与し、変更点をコミットメッセージに明記 - 自動デプロイ:Slack CLI (
slack workflow import) と GitHub Actions を組み合わせ、プルリクエストのマージ時にステージング環境へ自動インポート
権限最小化とデータ保持
- OAuth スコープはフローで必要なものだけを付与(例:
chat:write,commands,workflow.steps:execute) - 機密情報は Slack アプリの「Secrets」または外部シークレット管理ツールに格納し、コードベースには書かない
- データ保持ポリシー:個人情報を含むフォームは 30 日で自動削除設定(Workspace Settings → Retention)を有効化
ポイント:定期的な権限レビューと監査ログの確認により、内部不正や外部侵入リスクを低減できます。
まとめ
- プランと権限を事前に把握し、適切なメンバーへ Workflow Builder の利用権を付与することが導入成功の鍵です。
- 公式テンプレートギャラリーは設計時間短縮の最速入口であり、カスタムテンプレートは統一された変数名とテストケースで品質を保ちます。
- 4 種類のトリガー(ショートカット・スケジュール・メッセージアクション・外部イベント)を目的別に選択し、必ずテスト実行で動作確認を行いましょう。
- 標準ステップだけでも多くの業務が自動化できますが、Slack SDK のカスタム関数で API 連携や高度なロジックも実装可能です。
- Custom Step API とノーコードツール(Zapier・Make)を組み合わせれば、CRM・Google カレンダー等外部サービスとシームレスに統合できます。
- 最後に、テスト環境の整備、バージョン管理、権限最小化・データ保持という運用ベストプラクティスを徹底すれば、安定した自動化基盤が構築でき、業務効率化の効果を最大化できます。
これらの手順とポイントを踏まえて、Slack Workflow Builder を活用し、組織全体の生産性向上に役立ててください。
参考情報
- Slack ヘルプセンター – 「Workflow Builder の利用可能なプラン」: https://slack.com/help/articles/360043427873-Workflow-Builder
- Slack ヘルプセンター – 「Workflow Builder の使い方」: https://slack.com/help/articles/360043428153-Create-workflows-with-Workflow-Builder
- Slack テンプレートギャラリー: https://slack.com/templates/workflows
- Slack ヘルプセンター – 「トリガーの種類」: https://slack.com/help/articles/360043428133-Trigger-types-in-Workflow-Builder
- Slack ヘルプセンター – 「メッセージアクションでフローを作成」: https://slack.com/help/articles/360058126113-Create-a-workflow-from-a-message-action
- Slack API ドキュメント – 「Custom Steps」: https://api.slack.com/workflows/custom-steps
- Slack SDK for Node.js – カスタム関数のガイド: https://api.slack.com/automation/functions/custom-nodejs
- Zapier – Slack と Google Calendar の連携例: https://zapier.com/apps/slack/integrations/google-calendar
- Make (Integromat) – Slack → Airtable シナリオ: https://www.make.com/en/templates/slack-to-airtable
- Workflow Builder – Run History の確認方法: https://slack.com/help/articles/360058426594-View-workflow-run-history