[Zendesk+Slack] Slack スラッシュコマンドから Zendesk チケットを起票する仕組みを構築する [3/3]

[Zendesk+Slack] Slack スラッシュコマンドから Zendesk チケットを起票する仕組みを構築する [3/3]

Slack のスラッシュコマンドから Zendesk にチケットを起票する仕組みを構築します。AWS Lambda + SQS を用いた非同期構成を採用しました。第 3 回では、Slack アプリの作成とコマンド設定、署名検証用シークレットの取得、そして実際の動作確認を行います。

対象読者

  • Slack から問い合わせを起票する仕組みを自前で構築したい方
  • AWS Lambda や Amazon SQS を使って非同期処理を実装したい方
  • Zendesk の API を活用したカスタム連携を検討している方

参考記事


検証環境

バージョン

node: 22.13.1  
npm: 10.9.2  

概要

本記事では、Slack のスラッシュコマンドを使って、Zendesk チケットを起票する仕組みの仕上げとして、Slack アプリの作成とコマンド設定、署名検証用シークレットの取得、そして実際の動作確認を行います。

構成図における Slack 側の設定(赤枠部分)を中心に解説します。

20

Slack アプリの設定

Signing Secret の取得

署名検証に使う Signing Secret は、Slack アプリ作成後の Basic Information ページから取得できます。

  1. Slack API にアクセス
  2. Create New AppFrom scratch
    12
  3. アプリ名とワークスペースを指定
  4. Basic InformationApp CredentialsSigning Secret をコピー
    22

スラッシュコマンドの作成

左メニュー Slash CommandsCreate New Command を選択し、以下のように設定:

項目
Command /zendesk-create-ticket(任意)
Request URL API Gateway のエンドポイント URL
Short Description Zendesk チケットを起票します
Usage Hint 問い合わせ内容を入力

アプリのインストール

左メニュー Install AppInstall to Workspace をクリックし、権限を許可してインストールします。


動作確認

Slack 上で次のようにコマンドを入力します:

/zendesk-create-ticket 今すぐ対応が必要な問い合わせです!

Lambda 関数が署名を検証し、SQS にメッセージを送信。後段の Lambda によって Zendesk API が呼び出され、チケットが作成されます。

正しく動作していれば、下記のようにチケットが起票されます。

21


トラブルシューティング

Lambda のログ確認

CloudWatch Logs で、署名検証やメッセージ送信、Zendesk API 呼び出しのログを確認します。console.log() によるログ出力を活用してください。


SQS の状態確認

SQS コンソール → 対象キュー → 「モニタリング」タブにてメッセージ滞留や再試行の有無を確認します。

メトリクス名 説明
ApproximateNumberOfMessagesVisible 処理待ちメッセージ数
ApproximateAgeOfOldestMessage 最古のメッセージの滞留時間

まとめ

本シリーズでは、Slack のスラッシュコマンドから Zendesk に問い合わせチケットを起票する非同期フローを、AWS Lambda と SQS を使って構築しました。

この構成には以下のような特徴があります:

  • Slack の 3 秒制限と Zendesk API の応答遅延を両立する堅牢な非同期処理
  • 署名検証や SAFE_MODE による安全性の確保
  • SQS を中継とした構成による将来的な拡張のしやすさ(通知追加、DB 書き込み、監視との連携など)

実装はシンプルですが、日々の業務オペレーションに直結する自動化のひとつとして、非常に効果的です。
特に「Slack でやり取りして終わりがちな情報」をチケット化し、トラッキング可能な形に変換できる点は、問い合わせ対応の属人化を防ぎ、チーム運営の土台強化にもつながります。


今後の展開

今回構築した基盤は、以下のような方向にも発展できます:

  • 問い合わせ内容の自動分類や優先度設定
    • Slack コマンド入力のキーワードによって、Zendesk のカスタムフィールドを自動設定する
  • Slack 側へのチケット番号・URL の返信機能
    • 起票完了後に即時で「チケット #12345 を作成しました」と返すことでユーザー体験を改善
  • タグやユーザー情報の付与による分析基盤との連携
    • 「誰から」「どのチャンネルで」「どんな頻度で」などの情報をログとして活用
  • GitHub Issues や Jira など他サービスとの並列起票
    • SQS メッセージを複数サービスに展開することで、開発・サポートチーム間の連携も強化可能

業務の入り口を「Slack コマンド」に寄せることで、非エンジニアを含むすべてのメンバーがシステムと自然に連携できる仕組みが実現します。
この構成をベースに、ぜひ自社業務に合わせたカスタマイズや自動化を進めてみてください。


Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.