Integrations

Configuring webhooks

Webhooks notify your systems in real-time when events occur in Frill. Use webhooks to build custom integrations that react to idea creation, updates, votes, comments, and more.

You'll need admin permissions and a publicly accessible HTTPS endpoint to receive webhook payloads. Webhooks are available on paid plans.

Set up a webhook

  1. Go to Settings > API & Integrations > Webhooks in your Frill dashboard

  2. Note your webhook secret (used to verify payloads)

  3. Select an event from the dropdown (e.g., "Idea created")

  4. Enter your HTTPS endpoint URL

  5. Click Add

Available events

Frill can trigger webhooks for the following events:

  • Ideas — created, updated, deleted, archived, approved, status changed, roadmap changed, merged, voted, unvoted, marked as bug

  • Comments — created, updated, deleted

  • Notes — created, updated, deleted

  • Announcements — created, published, updated, deleted

Payload structure

Webhooks send an HTTP POST request with a JSON payload:

{
  "triggered_at": "2024-01-15T10:30:00Z",
  "event": "idea.created",
  "data": { /* event object */ },
  "data_type": "idea"
}

Verify webhooks

Verify the webhook signature to ensure requests come from Frill. Compute an HMAC SHA256 hash of the payload using your webhook secret and compare it to the signature header:

$signature = hash_hmac('sha256', json_encode($payload), $secret);
if ($signature === $_SERVER['HTTP_SIGNATURE']) {
  // Verified
}

Test webhooks

Click Test next to any webhook to send a sample payload to your endpoint. Use this to confirm your endpoint receives and processes webhooks correctly.

Keep your webhook secret private. If it's compromised, contact support to regenerate it.

Was this helpful?