Sim

Webhooks

Webhookを使用すると、外部サービスがHTTPリクエストを送信してワークフローの実行をトリガーできます。Simはwebhookベースのトリガーに対して2つのアプローチをサポートしています。

汎用Webhookトリガー

汎用Webhookブロックは、あらゆるペイロードを受信してワークフローをトリガーできる柔軟なエンドポイントを作成します:

汎用Webhook設定

仕組み

  1. 汎用Webhookブロックを追加 - 汎用Webhookブロックをドラッグしてワークフローを開始
  2. ペイロードの設定 - 予想されるペイロード構造を設定(任意)
  3. Webhook URLの取得 - 自動生成されたユニークなエンドポイントをコピー
  4. 外部統合 - 外部サービスがこのURLにPOSTリクエストを送信するよう設定
  5. ワークフロー実行 - webhook URLへのリクエストごとにワークフローがトリガーされる

機能

  • 柔軟なペイロード:あらゆるJSON形式のペイロード構造を受け入れる
  • 自動解析:webhookデータは自動的に解析され、後続のブロックで利用可能
  • 認証:オプションのベアラートークンまたはカスタムヘッダー認証
  • レート制限:乱用に対する組み込み保護
  • 重複排除:繰り返しリクエストからの重複実行を防止

汎用Webhookトリガーは、webhook URLがリクエストを受信するたびに起動するため、リアルタイム統合に最適です。

サービスブロックのトリガーモード

あるいは、特定のサービスブロック(SlackやGitHubなど)を「トリガーモード」で使用して、より専門的なwebhookエンドポイントを作成することもできます:

トリガーモードの設定

  1. サービスブロックを追加する - サービスブロックを選択します(例:Slack、GitHub、Airtable)
  2. トリガーモードを有効にする - ブロック設定で「トリガーとして使用」をオンにします
  3. サービスを設定する - そのサービス特有の認証とイベントフィルターを設定します
  4. Webhookの登録 - サービスは自動的に外部プラットフォームにWebhookを登録します
  5. イベントベースの実行 - ワークフローはそのサービスからの特定のイベントに対してのみトリガーされます

各アプローチの使用タイミング

汎用Webhookを使用する場合:

  • カスタムアプリケーションやサービスと統合する場合
  • ペイロード構造に最大限の柔軟性が必要な場合
  • 専用ブロックがないサービスと連携する場合
  • 内部統合を構築する場合

トリガーモードを使用する場合:

  • サポートされているサービス(Slack、GitHubなど)を使用する場合
  • サービス固有のイベントフィルタリングが必要な場合
  • 自動Webhook登録が必要な場合
  • そのサービスの構造化されたデータ処理が必要な場合

トリガーモードをサポートするサービス

開発とプロジェクト管理

  • GitHub - 課題、PR、プッシュ、リリース、ワークフロー実行
  • Jira - 課題イベント、作業ログ
  • Linear - 課題、コメント、プロジェクト、サイクル、ラベル

コミュニケーション

  • Slack - メッセージ、メンション、リアクション
  • Microsoft Teams - チャットメッセージ、チャンネル通知
  • Telegram - ボットメッセージ、コマンド
  • WhatsApp - メッセージングイベント

メール

  • Gmail - 新着メール(ポーリング)、ラベル変更
  • Outlook - 新着メール(ポーリング)、フォルダーイベント

CRMと営業

  • HubSpot - 連絡先、企業、取引、チケット、会話
  • Stripe - 支払い、サブスクリプション、顧客

フォームとアンケート

  • Typeform - フォーム送信
  • Google Forms - フォーム回答
  • Webflow - コレクションアイテム、フォーム送信

その他

  • Airtable - レコード変更
  • Twilio Voice - 着信、通話状態

セキュリティとベストプラクティス

認証オプション

  • Bearerトークン: Authorization: Bearer <token> ヘッダーを含める
  • カスタムヘッダー: カスタム認証ヘッダーを定義する

ペイロード処理

  • 検証: 不正な形式のデータを防ぐために受信ペイロードを検証する
  • サイズ制限: Webhookにはセキュリティのためのペイロードサイズ制限がある
  • エラー処理: 無効なリクエストに対するエラー応答を設定する

Webhookのテスト

  1. Postmanやcurlなどのツールを使用してWebhookエンドポイントをテストする
  2. デバッグのためにワークフロー実行ログを確認する
  3. ペイロード構造が期待通りであることを確認する
  4. 認証とエラーシナリオをテストする

受信したWebhookデータは、ワークフローで処理する前に必ず検証とサニタイズを行ってください。

一般的なユースケース

リアルタイム通知

  • 自動応答をトリガーするSlackメッセージ
  • 重要なイベントに対するメール通知

CI/CD 統合

  • GitHub プッシュによるデプロイメントワークフローのトリガー
  • ビルドステータスの更新
  • 自動テストパイプライン

データ同期

  • Airtable の変更による他システムの更新
  • フォーム送信によるフォローアップアクションのトリガー
  • Eコマース注文処理

カスタマーサポート

  • サポートチケット作成ワークフロー
  • 自動エスカレーションプロセス
  • マルチチャネルコミュニケーションルーティング