Webhook Types
Membrane supports the following webhook types:User Invited to Organization (user-invited-to-org)
Triggered when a user is invited to join an organization workspace.
Payload Example:
Organization Access Requested (org-access-requested)
Triggered when a user requests access to an organization based on their email domain.
Payload Example:
Organization Created (org-created)
Triggered when a new organization is created on the platform.
Payload Example:
Webhook Authentication
Webhooks support HMAC-SHA256 signature verification for secure payload validation:- Secret Configuration: When creating a webhook, optionally provide a
secretstring - Signature Generation: Membrane generates an HMAC-SHA256 signature using the webhook secret
- Header Delivery: The signature is sent in the
X-Signatureheader with each webhook request - Verification: Verify the payload by generating the same HMAC signature on your end
Managing Webhooks
Webhooks can be managed through the Admin Console:- Navigate to Admin > Manage Webhooks
- Click Create Webhook
- Configure:
- Type: Select the webhook event type
- URL: Your webhook endpoint URL
- Secret: Optional secret for HMAC verification
GET /webhooks- List all webhooksPOST /webhooks- Create a new webhookGET /webhooks/:type- Get webhook by typePATCH /webhooks/:type- Update webhookDELETE /webhooks/:type- Delete webhook
Note: All webhook management operations require admin authentication via Auth0 JWT tokens.
Webhook Configuration Requirements
- Admin Access: Only platform administrators can create, modify, or delete webhooks
- Unique Types: Only one webhook can be configured per event type
- HTTPS Required: Webhook URLs should use HTTPS for security
- Response Timeout: Webhook requests have a 30-second timeout
- Retry Policy: Failed webhooks are not automatically retried
Testing Webhooks
For development and testing purposes, you can use tools like:- ngrok: To expose local development servers
- webhook.site: To inspect webhook payloads
- Postman: To simulate webhook endpoints