カテゴリ: Laravel 更新日: 2026/05/26

LaravelでSlack通知を送る方法を完全解説!Webhook URL設定から初心者向けに解説

LaravelでSlack通知を送る方法(Webhook URLの設定)
LaravelでSlack通知を送る方法(Webhook URLの設定)

先生と生徒の会話形式で理解しよう

生徒

「LaravelでSlackに通知を送ることってできますか?」

先生

「はい、LaravelのNotification機能を使えば簡単にSlack通知が送れます。」

生徒

「Slackってチャットツールですよね?どうやって連携するんですか?」

先生

「Webhook URLという仕組みを使って、LaravelからSlackにメッセージを送ります。」

生徒

「難しそうですが初心者でもできますか?」

先生

「順番に進めれば大丈夫です。基本から丁寧に解説していきます。」

1. LaravelのSlack通知とは

1. LaravelのSlack通知とは
1. LaravelのSlack通知とは

LaravelのSlack通知とは、アプリケーションのイベントをSlackに送る機能です。例えばユーザー登録やエラー発生などをリアルタイムでチームに共有できます。

通知とは、何かの出来事を知らせる仕組みのことです。スマホの通知と同じイメージで、Laravelでも同じように情報を送ることができます。

Slackはチームで使うチャットツールで、開発現場では非常によく使われています。そのためLaravelとSlackを連携することで、業務効率が大きく向上します。

2. Webhook URLとは何か

2. Webhook URLとは何か
2. Webhook URLとは何か

Webhook URLとは、外部からデータを送るための専用のURLです。簡単に言うと、URLに対してデータを送るとSlackにメッセージが表示される仕組みです。

例えば、郵便ポストのようなものをイメージしてください。Webhook URLはポストで、Laravelは手紙を入れる側です。ポストに入れればSlackに届きます。

このWebhook URLはSlack側で作成し、そのURLをLaravelに設定することで通知が可能になります。

3. SlackでWebhook URLを取得する方法

3. SlackでWebhook URLを取得する方法
3. SlackでWebhook URLを取得する方法

まずSlack側でWebhook URLを作成する必要があります。Slackの設定画面からIncoming Webhookを有効にします。

設定後、送信先のチャンネルを選択すると専用のURLが発行されます。このURLをコピーしてLaravelで使います。

このURLは秘密情報なので、他人に知られないように注意してください。公開してしまうと誰でも通知を送れるようになります。

4. Laravelの.envにWebhook URLを設定する

4. Laravelの.envにWebhook URLを設定する
4. Laravelの.envにWebhook URLを設定する

取得したWebhook URLは、Laravelの.envファイルに保存します。環境変数として管理することでセキュリティが向上します。


SLACK_WEBHOOK_URL=https://hooks.slack.com/services/xxxx/yyyy/zzzz

環境変数とは、設定情報を外部ファイルにまとめて管理する仕組みです。コードに直接書かないことで安全に管理できます。

5. Notificationクラスを作成する

5. Notificationクラスを作成する
5. Notificationクラスを作成する

次にLaravelで通知クラスを作成します。これは通知内容をまとめるためのクラスです。


php artisan make:notification SlackTestNotification

このコマンドを実行すると、通知用のクラスファイルが作成されます。この中でSlackに送る内容を設定します。

6. toSlackメソッドで通知内容を設定する

6. toSlackメソッドで通知内容を設定する
6. toSlackメソッドで通知内容を設定する

Slack通知はtoSlackメソッドで定義します。ここでメッセージやタイトルを設定します。


public function toSlack($notifiable)
{
    return (new \Illuminate\Notifications\Messages\SlackMessage)
        ->content('Slackにテスト通知を送信しました');
}

SlackMessageクラスは、Slackに送るメッセージを作るためのものです。contentで本文を設定できます。

7. ルート通知でWebhook URLを使う

7. ルート通知でWebhook URLを使う
7. ルート通知でWebhook URLを使う

Slack通知では、ユーザーではなくWebhook URLに直接送ることができます。その場合はrouteメソッドを使います。


use Illuminate\Support\Facades\Notification;

Notification::route('slack', config('services.slack.webhook_url'))
    ->notify(new SlackTestNotification());

routeは通知の送り先を指定する方法です。今回はSlackのWebhook URLに送信しています。

8. services.phpに設定を追加する

8. services.phpに設定を追加する
8. services.phpに設定を追加する

Webhook URLはconfigファイルにも設定しておくと便利です。services.phpに追加します。


'slack' => [
    'webhook_url' => env('SLACK_WEBHOOK_URL'),
],

この設定により、config関数でWebhook URLを呼び出せるようになります。

9. Slack通知の実行結果

9. Slack通知の実行結果
9. Slack通知の実行結果

通知を実行すると、指定したSlackチャンネルにメッセージが表示されます。開発中のログ通知やエラー監視にも活用できます。


Slackにテスト通知を送信しました

このようにLaravelとSlackを連携することで、リアルタイムで情報共有ができるようになります。特にチーム開発では非常に重要な機能です。

カテゴリの一覧へ
新着記事
New1
Laravel
Laravelのルーティングでサブドメインを使う方法!初心者向けにやさしく解説
New2
Laravel
Laravelでマルチ言語ルートを設定する方法!ロケールごとのprefixで簡単管理
New4
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方
人気記事
No.1
Java&Spring記事人気No1
Symfony
SymfonyのRemember Me機能を完全解説!初心者でもわかるログイン保持の仕組み
No.2
Java&Spring記事人気No2
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方
No.3
Java&Spring記事人気No3
Laravel
LaravelのFeatureテストとUnitテストの違いを理解しよう
No.4
Java&Spring記事人気No4
Laravel
Laravelでルートに中間処理を追加する方法!ミドルウェア活用ガイド
No.5
Java&Spring記事人気No5
CodeIgniter
CodeIgniterで多言語対応(Language)を徹底解説!言語切り替え機能を実装
No.6
Java&Spring記事人気No6
Laravel
Laravelでドメインルートを使う方法!マルチドメイン対応を初心者向けに解説
No.7
Java&Spring記事人気No7
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)
No.8
Java&Spring記事人気No8
Laravel
Laravelのルーティングでサブドメインを使う方法!初心者向けにやさしく解説