⚡ Instant. Secure. Reliable.
LeadDuo's integrations work seamlessly alongside AI features like AI Intelligence and SmartResponse, ensuring your CRM and productivity tools always receive enriched, AI-scored lead data in real time.
✓ Available on Growth plan and above
Webhooks allow you to receive HTTP POST requests to a URL of your choice whenever a form is submitted. This enables real-time integration with your CRM, Slack, custom applications, and more.
Select your form in the dashboard and click the Settings tab.
In the Integrations section, enter your endpoint URL in the Webhook URL field.
https://your-app.com/api/webhooks/leadduo
For security, we strongly recommend setting a Webhook Secret. This allows you to verify that requests are genuinely from LeadDuo.

When a form is submitted, we'll send a POST request to your webhook URL with the following JSON payload:
{
"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,
"aiScore": 85,
"aiTier": "hot",
"aiQualified": true,
"aiAnalysis": {
"reasons": ["Business email", "Company provided", "Detailed message"],
"confidence": "high"
},
"analytics": {
"utm_source": "google",
"utm_medium": "cpc",
"utm_campaign": "spring_sale",
"referrer": "https://google.com/search",
"pageUrl": "https://example.com/contact",
"userAgent": "Mozilla/5.0...",
"language": "en-US",
"timezone": "America/New_York",
"screenSize": "1920x1080",
"timeToSubmit": 45
}
}🤖 AI Intelligence Fields: If you have purchased the AI Intelligence add-on, the webhook payload will include aiScore (0-100), aiTier (hot/warm/cold), aiQualified (true/false), and aiAnalysis (reasons and confidence) fields. These fields will be null if AI Intelligence is not enabled.
📊 Analytics Data: LeadDuo automatically captures important attribution data including UTM parameters, referrer, page URL, device info, timezone, and time-to-submit. This analytics object is included in webhooks, Slack, and email notifications when enabled in your integration settings (enabled by default).
When you set a Webhook Secret, each request will include an X-LeadDuo-Signature header.
The signature is an HMAC SHA256 hash of the request body. Here's how to verify it:
Choose your preferred language
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');
}• Respond within 10 seconds (we timeout after 10s)
• Return a 200-299 status code to indicate success
• Always verify the signature if you set a secret
• Make your webhook endpoint idempotent (safe to receive the same request multiple times)
• Use a queue for long-running tasks
• Log and monitor for errors
Not receiving webhooks?
Signature verification failing?
✓ Available on Growth plan and above
You can connect LeadDuo to Zapier using webhooks to integrate with 6,000+ apps.
🚀 Coming Soon: We're working on an official LeadDuo app for the Zapier marketplace. In the meantime, use webhooks with the steps below.
• Gmail: Send an email for each new lead
• Google Sheets: Add submissions to a spreadsheet
• Slack: Post notifications to a channel
• Salesforce: Create leads automatically
• Airtable: Add records to your database
✓ Available on Growth plan and above
Send LeadDuo form submissions directly to your Slack channels. Get your team notified of new leads in real-time so they can respond instantly.
• Real-time notifications to Slack channels
• Beautifully formatted messages with form name, submitter info, and all fields
• Shows AI score and tier (if AI Intelligence enabled)
• Analytics data including UTM parameters, referrer, and device info
• Support for multiple Slack workspaces and channels
• Spam-filtered - only genuine leads are sent
💡 Tip: You can send different forms to different Slack channels. Set up separate channels for sales leads, support requests, marketing inquiries, and more.
✓ Available on Growth, Pro, and Pro+ plans
Send LeadDuo form submissions directly to your Notion databases. Perfect for managing leads, customer feedback, support tickets, and more.
• Create records in Notion databases in real-time
• Automatically map form fields to Notion properties
• Support for text, email, phone, URL, date, and more
• Connect to multiple Notion workspaces
💡 Tip: Your Notion database should have properties that match your form fields. Prepare your database structure before setting up the integration.
✓ Available on Growth, Pro, and Pro+ plans
Automatically add LeadDuo form submissions to your Airtable bases. Perfect for CRM, project management, lead tracking, and more.
• Add records to Airtable tables in real-time
• Automatically map form fields to Airtable fields
• Support for single line text, email, phone, URL, date, and more
• Connect to multiple bases and tables
• Leverage Airtable's powerful views, filters, and automations
💡 Tip: Your Airtable table should have fields that match your form fields. Prepare your table structure before setting up the integration.
A: Webhooks are typically delivered within 1-2 seconds after form submission. Maximum timeout is 10 seconds.
A: Form submissions are still saved even if webhook delivery fails. You can always access the data in your dashboard. We don't currently retry failed webhooks automatically, but it's on our roadmap.
A: Currently, we support one webhook URL per form. If you need to send to multiple systems, you can use Zapier to fan out one webhook to multiple actions.
A: No, it's optional but strongly recommended for security. With a secret, you can verify that requests genuinely come from LeadDuo and haven't been tampered with.
A: You can't test directly on localhost since it's not publicly accessible. Use tools like ngrok or localtunnel to expose your local server, or use services like RequestBin or Webhook.site to inspect payloads.
A: No, Notion and Airtable integrations are available on Growth plan and above. These integrations allow you to automatically send form submissions to your Notion databases or Airtable bases.
A: Currently, you can set up one Notion integration and one Airtable integration per form. If you need to send to multiple databases or bases, you can use Zapier to fan out one webhook to multiple destinations.
A: You manually map your form fields to Notion properties or Airtable fields. During integration setup, you can select which database property each form field should be sent to. Make sure field types (text, email, phone, etc.) match for best results.
A: Yes! LeadDuo uses Slack Incoming Webhooks to send formatted messages with lead information. Messages include the form name, lead data, and LeadQualify scores (if enabled). For more customization, you can use Zapier to create custom message formats with conditional logic and rich formatting.
A: LeadDuo automatically captures attribution and context data with each form submission. This includes UTM parameters (utm_source, utm_medium, utm_campaign, etc.), referrer URL, page URL, user agent, screen size, language, timezone, and time-to-submit. This data helps you understand where your leads come from and which marketing campaigns are most effective.
A: Yes! Each integration (Email, Slack, Webhooks) has a toggle to control whether analytics data is included. By default, it's enabled for Slack and Webhooks, and disabled for Email. You can change this anytime in your integration settings.
A: It depends on the integration. For Webhooks, it's included as an analytics object in the JSON payload. For Slack, it appears as a context line below the main submission data. For Email, it's shown as a footer section at the bottom of the message.
Upgrade to Growth plan and start using real-time webhook integrations today.
Have questions about webhooks? Contact our support team