Endpoint Format
All webhook endpoints follow the same URL pattern:Supported Platforms
Surveys
Collect structured data from survey and form platforms.| Platform | Endpoint |
|---|---|
| Typeform | /webhooks/surveys/typeform |
| SurveyMonkey | /webhooks/surveys/surveymonkey |
| Google Forms | /webhooks/surveys/google-forms |
| Qualtrics | /webhooks/surveys/qualtrics |
| Jotform | /webhooks/surveys/jotform |
| Airtable Forms | /webhooks/surveys/airtable-forms |
| Microsoft Forms | /webhooks/surveys/microsoft-forms |
| Formstack | /webhooks/surveys/formstack |
| Wufoo | /webhooks/surveys/wufoo |
| Cognito Forms | /webhooks/surveys/cognito-forms |
Feedback
Capture data from dedicated product feedback management tools.| Platform | Endpoint |
|---|---|
| UserVoice | /webhooks/feedback/uservoice |
| Canny | /webhooks/feedback/canny |
| Productboard | /webhooks/feedback/productboard |
| Aha! | /webhooks/feedback/aha |
| Feature Request | /webhooks/feedback/feature-request |
| Upvoty | /webhooks/feedback/upvoty |
| Nolt | /webhooks/feedback/nolt |
| HelloNext | /webhooks/feedback/hellonext |
| FeedBear | /webhooks/feedback/feedbear |
| Savio | /webhooks/feedback/savio |
Reviews
Monitor customer reviews from major review platforms.| Platform | Endpoint |
|---|---|
| G2 | /webhooks/reviews/g2 |
| Capterra | /webhooks/reviews/capterra |
| Trustpilot | /webhooks/reviews/trustpilot |
| Google Reviews | /webhooks/reviews/google-reviews |
| Yelp | /webhooks/reviews/yelp |
| App Store | /webhooks/reviews/app-store |
| Play Store | /webhooks/reviews/play-store |
| Glassdoor | /webhooks/reviews/glassdoor |
| Indeed | /webhooks/reviews/indeed |
| BBB | /webhooks/reviews/bbb |
Meetings
Receive transcripts and notes from meeting intelligence platforms.| Platform | Endpoint |
|---|---|
| Gong | /webhooks/meetings/gong |
| Chorus | /webhooks/meetings/chorus |
| Fireflies | /webhooks/meetings/fireflies |
| Avoma | /webhooks/meetings/avoma |
| Otter | /webhooks/meetings/otter |
| MeetRecord | /webhooks/meetings/meetrecord |
| Rev | /webhooks/meetings/rev |
| Sonix | /webhooks/meetings/sonix |
| Trint | /webhooks/meetings/trint |
| Temi | /webhooks/meetings/temi |
Authentication
Every webhook request must be authenticated using two mechanisms:API Key Header
Include your webhook API key in the request header:HMAC-SHA256 Signature
ClosedLoop AI verifies the integrity of each webhook payload using HMAC-SHA256. The signature is computed over the raw request body using your webhook secret. Supported signature headers (checked in order):| Header | Used By |
|---|---|
x-webhook-signature | Generic / default |
x-hub-signature-256 | GitHub-style platforms |
x-signature | Various platforms |
typeform-signature | Typeform |
Getting Your Webhook Secret
- Log in to ClosedLoop AI
- Navigate to Settings → API Keys
- Generate a Webhook Key — this is your HMAC signing secret
- Copy the secret and configure it in your source platform’s webhook settings
Standard Payload Format
After receiving a webhook, ClosedLoop AI transforms the platform-specific payload into a standard format before inserting it into the processing pipeline:| Field | Type | Description |
|---|---|---|
title | string | Human-readable title for the item |
content | string | The main text, transcript, or review body |
source_id | string | Unique identifier from the source platform |
timestamp | string | ISO 8601 timestamp of when the item was created |
customer_id | string | null | Optional customer identifier |
reporter_name | string | null | Name of the person who submitted the data |
reporter_email | string | null | Email of the person who submitted the data |
language | string | Language code (defaults to en) |
You don’t need to send data in this exact format. Each platform has its own native webhook payload — ClosedLoop AI automatically transforms it to this standard schema.
Setup Steps
Step 1: Get your webhook secret
Step 1: Get your webhook secret
- Go to ClosedLoop AI → Settings → API Keys
- Click Generate New Key and select Webhook Key
- Copy the secret — you’ll need it to configure your source platform
Step 2: Configure your source platform
Step 2: Configure your source platform
In your source platform’s webhook settings:
- Set the webhook URL to your ClosedLoop AI endpoint:
- Set the signing secret to your ClosedLoop AI webhook secret
- Select the events you want to send (e.g., new responses, new reviews)
- Save the webhook configuration
Step 3: Verify with a test payload
Step 3: Verify with a test payload
Most platforms have a “Send test webhook” button. Use it to verify:
- The webhook reaches ClosedLoop AI successfully
- The HMAC signature is verified
- The payload is transformed correctly
Health & Discovery
Health Check
Verify the webhook system is operational:Endpoint Discovery
List all available webhook endpoints:Code Examples
Sending a Webhook with cURL
Verifying HMAC in Node.js
If you’re building a proxy or middleware that forwards webhooks to ClosedLoop AI, here’s how to verify signatures:Error Handling
| HTTP Status | Error Code | Description |
|---|---|---|
| 401 | WEBHOOK_VERIFICATION_FAILED | HMAC signature mismatch or missing signature header |
| 400 | INVALID_PAYLOAD_FORMAT | Payload could not be parsed or transformed |
| 500 | PROCESSING_ERROR | Internal error during webhook processing |
- Missing signature: Ensure your platform is configured to sign webhooks with the correct secret
- Wrong endpoint: Verify the category and platform in the URL match your source
- Payload too large: Webhook payloads are limited to 10 MB
- Secret mismatch: Regenerate your webhook secret if signatures consistently fail
What Happens Next
After a webhook is received and verified:- The payload is transformed to the standard format
- Data is inserted into the processing pipeline
- AI analysis runs automatically — insights are scored by business impact
- Product intelligence appears in your dashboard and is available to MCP-connected AI dev agents
View Your Intelligence
See processed webhook data as scored product intelligence in your ClosedLoop AI dashboard