Webhook ドキュメント

⚡ 瞬時に。安全に。信頼できる。

フォーム送信をリアルタイムでCRMやアプリケーションに送信します。HMAC署名による企業レベルのセキュリティで、すべてのWebhookを10秒以内に配信します。

概要

Webhookを使用すると、フォームが送信されるたびに、指定したURLにHTTP POSTリクエストを送信できます。これにより、CRM、Slack、カスタムアプリケーションなどとリアルタイムで統合できます。

注意: Webhookは Growth および Pro プランでのみ利用可能です。

設定方法

1. フォーム設定に移動

ダッシュボードでフォームを選択し、「設定」タブをクリックします。

2. Webhook URLを入力

「統合」セクションで、Webhook URLフィールドにエンドポイントURLを入力します。

https://your-app.com/api/webhooks/leadduo

3. Webhook Secret を設定(推奨)

セキュリティのため、Webhook Secretを設定することを強くお勧めします。これにより、リクエストが本当にLeadDuoから送信されたことを確認できます。

ペイロード形式

フォームが送信されると、以下のJSON形式でWebhook URLにPOSTリクエストが送信されます:

{
  "event": "form.submission",
  "formId": "abc123",
  "formName": "Contact Form",
  "submissionId": 42,
  "fields": {
    "email": "user@example.com",
    "name": "John Doe",
    "message": "I'm interested in your services"
  },
  "submittedAt": "2024-01-15T10:30:00.000Z",
  "isSpam": false,
  "qualified": true,
  "qualifyScore": 13
}

💡 LeadQualify Fields: フォームでLeadQualifyが有効になっている場合(Proプラン)、Webhookペイロードには qualified と qualifyScore フィールドが含まれます。完全な回答データは fields.leadQualify に含まれています。

セキュリティ

Webhook Secretを設定すると、各リクエストに X-LeadDuo-Signature ヘッダーが含まれます。

署名の検証

署名は、リクエストボディのHMAC SHA256ハッシュです。以下は検証方法の例です:

検証コード例

お好みの言語を選択してください

const crypto = require('crypto');

function verifyWebhook(body, signature, secret) {
  const hmac = crypto.createHmac('sha256', secret);
  hmac.update(JSON.stringify(body));
  const expectedSignature = hmac.digest('hex');
  
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expectedSignature)
  );
}

// Usage
const signature = req.headers['x-leadduo-signature'];
const isValid = verifyWebhook(req.body, signature, 'your-secret');

if (isValid) {
  console.log('Webhook verified!');
  // Process the webhook
} else {
  console.log('Invalid signature');
}

ベストプラクティス

Webhookエンドポイントは10秒以内に応答してください

200-299のステータスコードを返してください

常に署名を検証してください

Webhookエンドポイントをべき等にしてください(同じリクエストを複数回受信しても安全)

長時間実行されるタスクにはキューを使用してください

エラーをログに記録し、監視してください

トラブルシューティング

Webhookが受信されない

  • URLが正しく、HTTPSを使用していることを確認
  • エンドポイントが公開されていることを確認
  • ファイアウォールがリクエストをブロックしていないか確認
  • サーバーログでエラーを確認

署名検証が失敗する

  • 正しいSecretを使用していることを確認
  • リクエストボディを変更せずに検証
  • JSONの文字列化が一致していることを確認

Zapier統合

Webhookを使用して、LeadDuoをZapierに接続し、6,000以上のアプリと統合できます。

🚀 近日公開: Zapierマーケットプレイスに公式LeadDuoアプリを追加予定です。それまでは、以下の手順でWebhookを使用してください。

設定手順

  1. Zapierで新しいZapを作成
  2. トリガーとして「Webhooks by Zapier」を選択
  3. 「Catch Hook」を選択
  4. ZapierからWebhook URLをコピー
  5. LeadDuoのフォーム設定 → Webhook URLに貼り付け
  6. フォームをテスト送信してZapierでデータを確認
  7. Zapierで任意のアクションを追加(Gmail、Slack、Google Sheetsなど)

人気の統合例

Gmail: 新しいリードごとにメールを送信

Google Sheets: スプレッドシートに送信データを追加

Slack: チャンネルに通知を投稿

Salesforce: リードを自動作成

Airtable: データベースにレコードを追加

よくある質問

Q: Webhookはどのくらい速く配信されますか?

A: フォーム送信後、通常1〜2秒以内にWebhookが配信されます。最大タイムアウトは10秒です。

Q: Webhookが失敗した場合はどうなりますか?

A: Webhook配信が失敗してもフォーム送信は保存されます。ダッシュボードでいつでもデータを確認できます。現在、自動リトライは実装していませんが、ロードマップに含まれています。

Q: 複数のWebhook URLを設定できますか?

A: 現在、フォームごとに1つのWebhook URLをサポートしています。複数のシステムに送信する必要がある場合は、Zapierを使用して1つのWebhookから複数のアクションを実行できます。

Q: Webhook Secretは必須ですか?

A: いいえ、オプションですが、セキュリティのために強く推奨します。Secretを設定すると、リクエストが本当にLeadDuoから送信されたことを確認できます。

Q: ローカル開発環境でWebhookをテストできますか?

A: ローカルホストは公開されていないため、直接テストできません。ngrokやlocaltunnelなどのツールを使用してローカルサーバーを公開するか、RequestBinやWebhook.siteなどのサービスを使用してペイロードを確認できます。

🚀 今すぐWebhookを試す

Growthプランにアップグレードして、リアルタイムWebhook統合を開始しましょう。

サポートが必要ですか?

Webhookについてご質問がありますか? support@leadduo.io

Webhook ドキュメント - LeadDuo | Zapier統合とリアルタイム通知