Webhooks Guide
Real-time notifications for your workflow
Overview
Webhooks allow you to receive real-time notifications when events happen in your IdeaLift workspace. Instead of polling the API, webhooks push data to your endpoint immediately when an event occurs.
Use Cases
📧Email Notifications
Send an email to your product team whenever a new idea is captured. Use with Zapier, Make, or a custom email service.
💬Slack Alerts
Post new ideas to a dedicated Slack channel for team visibility. Great for keeping everyone in the loop on customer feedback.
📊Analytics Tracking
Send idea data to your analytics platform to track feedback volume, sources, and trends alongside other product metrics.
🔧Custom Integrations
Build custom automations: auto-triage ideas by keyword, sync with your CRM, or trigger internal workflows when certain ideas are captured.
Subscribing to Webhooks
Subscribe to webhooks using the API. You'll need an API key from your Integrations page.
Endpoint
/api/v1/zapier/webhooks/subscribeRequest Body
{
"hookUrl": "https://your-server.com/webhook",
"event": "new_idea"
}Parameters
| Field | Required | Description |
|---|---|---|
| hookUrl | Yes | The HTTPS URL to receive webhook payloads |
| event | No | Event type (default: "new_idea") |
Example Request
curl -X POST "https://idealift.startvest.ai/api/v1/zapier/webhooks/subscribe" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hookUrl": "https://your-server.com/webhook",
"event": "new_idea"
}'Webhook Payload
When a new idea is created, your webhook URL will receive a POST request with the following payload:
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"title": "Add dark mode support",
"summary": "Users have requested dark mode for better nighttime usage...",
"source": "discord",
"authorName": "John Doe",
"authorAvatar": "https://cdn.discordapp.com/avatars/...",
"url": "https://discord.com/channels/...",
"category": "feature",
"createdAt": "2024-12-14T10:30:00.000Z"
}Payload Fields
| Field | Type | Description |
|---|---|---|
| id | string | Unique idea identifier (UUID) |
| title | string | AI-generated title for the idea |
| summary | string | AI-generated summary or original message content |
| source | string | Where the idea came from (discord, slack, teams, api, etc.) |
| authorName | string | Name of the person who submitted the idea |
| authorAvatar | string? | URL to the author's avatar (if available) |
| url | string? | Link back to the original message/source |
| category | string? | Idea category (feature, bug, improvement, etc.) |
| createdAt | string | ISO 8601 timestamp of when the idea was created |
Unsubscribing
To stop receiving webhooks, send a DELETE request with the subscription ID:
Endpoint
/api/v1/zapier/webhooks/subscribe/:idcurl -X DELETE "https://idealift.startvest.ai/api/v1/zapier/webhooks/subscribe/WEBHOOK_ID" \ -H "Authorization: Bearer YOUR_API_KEY"
Zapier Integration
No-Code Webhooks with Zapier
Don't want to code? Use our Zapier integration to connect IdeaLift with 5,000+ apps. Zapier handles webhook subscriptions automatically — just set up a Zap with the "New Idea" trigger.
Connect with ZapierBest Practices
🔐Use HTTPS
Always use HTTPS URLs for your webhook endpoints. We don't send webhooks to insecure HTTP endpoints.
⚡Respond Quickly
Return a 200 status within 10 seconds. If your processing takes longer, acknowledge the webhook immediately and process asynchronously.
🔄Handle Duplicates
In rare cases, the same webhook may be delivered twice. Use the idea id to deduplicate if your workflow requires idempotency.
📝Log Everything
Log incoming webhook payloads for debugging. This helps troubleshoot issues and understand data flow.
Troubleshooting
Not receiving webhooks
- • Verify your webhook URL is accessible from the internet
- • Check that your server returns a 2xx status code
- • Confirm the subscription was created successfully (check API response)
- • Try creating a test idea to trigger the webhook
Webhook delivery failed
If your endpoint returns a non-2xx status, we'll retry delivery a few times with exponential backoff. Ensure your server is healthy and returns 200 OK.
Invalid payload format
Webhook payloads are always JSON. Make sure your endpoint parses Content-Type: application/json.
Need Help?
Questions about webhooks or API integration?