Thrico Logo

Webhooks & Event Streams

Build custom integrations and real-time event automations using Thrico's webhook delivery engine.

Overview

Thrico Webhooks allow you to subscribe to real-time events that occur across your communities, member directories, events, and marketplaces. Whenever an event happens, Thrico sends an HTTP POST payload with JSON data to your configured webhook endpoint.

┌─────────────────┐        HTTP POST (Signed JSON)        ┌─────────────────┐
│                 │ ────────────────────────────────────► │                 │
│  Thrico Platform│                                       │   Your Server / │
│  (Event Bus)    │ ◄──────────────────────────────────── │  Zapier / Make  │
│                 │          HTTP 200 OK Response         │                 │
└─────────────────┘                                       └─────────────────┘

Subscribed Event Topics

Topic CategoryEvent NameTrigger Description
Membersmember.createdTriggered when a new user registers or is imported
member.updatedProfile information or custom fields updated
member.deletedMember account removed or deactivated
Communitycommunity.post.createdNew feed post or article published
community.comment.createdNew comment on a discussion thread
Eventsevent.rsvp.createdMember RSVPs or purchases ticket for an event
event.attendedMember checks in at an event
Marketplaceorder.createdCustomer completes an order
order.paidPayment confirmed
Gamificationbadge.awardedMember achieves a badge
rank.updatedMember advances to a new leaderboard rank

Verifying Webhook Signatures

To ensure incoming webhooks originate from Thrico and have not been tampered with, every payload includes a X-Thrico-Signature header computed using HMAC SHA-256 with your endpoint's webhook signing secret.

verify-webhook.ts
import crypto from "crypto";
 
export function verifyThricoWebhook(
  payload: string,
  signatureHeader: string,
  secret: string
): boolean {
  const hmac = crypto
    .createHmac("sha256", secret)
    .update(payload)
    .digest("hex");
 
  const expectedSignature = `sha256=${hmac}`;
  return crypto.timingSafeEqual(
    Buffer.from(signatureHeader),
    Buffer.from(expectedSignature)
  );
}

Retry Policy & Delivery Guarantees

  • Timeout: Webhook endpoints must respond with HTTP 2xx within 5000ms.
  • Retry Schedule: Exponential backoff with jitter up to 5 attempts (10s, 1m, 5m, 15m, 1h).
  • Dead-Letter Queue: If all retries fail, events are preserved in your Thrico dashboard under Failed Deliveries, allowing manual review and 1-click redelivery.

Next Steps

On this page