Documentation/Webhooks Guide

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.

Real-time updates
🔗
Easy integration
🔄
Automate workflows

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

POST/api/v1/zapier/webhooks/subscribe

Request Body

{
  "hookUrl": "https://your-server.com/webhook",
  "event": "new_idea"
}

Parameters

FieldRequiredDescription
hookUrlYesThe HTTPS URL to receive webhook payloads
eventNoEvent 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

FieldTypeDescription
idstringUnique idea identifier (UUID)
titlestringAI-generated title for the idea
summarystringAI-generated summary or original message content
sourcestringWhere the idea came from (discord, slack, teams, api, etc.)
authorNamestringName of the person who submitted the idea
authorAvatarstring?URL to the author's avatar (if available)
urlstring?Link back to the original message/source
categorystring?Idea category (feature, bug, improvement, etc.)
createdAtstringISO 8601 timestamp of when the idea was created

Unsubscribing

To stop receiving webhooks, send a DELETE request with the subscription ID:

Endpoint

DELETE/api/v1/zapier/webhooks/subscribe/:id
curl -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 Zapier

Best 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?