Whereby Trigger
AI-generatedOverview
This node acts as a webhook trigger for Whereby meeting events. It listens for specific event notifications sent by the Whereby platform to a configured webhook URL and triggers workflows in n8n when those events occur.
Common scenarios where this node is beneficial include:
- Automating actions when participants join or leave a meeting.
- Tracking meeting session start and end times.
- Responding to transcription events such as start, finish, or failure.
- Handling recording completion events to process or store recordings automatically.
For example, you could use this node to send a welcome message when a participant joins a meeting or to archive meeting recordings once they are finished.
Properties
| Name | Meaning |
|---|---|
| Events | The list of Whereby events to listen for. Options include: |
| - Room Client Joined: When a participant joins the meeting | |
| - Room Client Left: When a participant leaves the meeting | |
| - Room Client Knocked: When a participant knocks to enter | |
| - Room Session Started: When a meeting session starts | |
| - Room Session Ended: When a meeting session ends | |
| - Transcription Started: When transcription begins | |
| - Transcription Finished: When transcription is completed | |
| - Transcription Failed: When transcription fails | |
| - Recording Finished: When recording is completed | |
| Webhook URL Info | Instructional notice to configure the webhook URL in the Whereby dashboard. |
| Options | Collection of additional settings: |
| - Validate Signature (boolean): Whether to validate the webhook signature for security. | |
| - Signature Secret (string, password): The secret used to verify the webhook signature. |
Output
The node outputs JSON data representing the received Whereby event with relevant details extracted from the webhook payload. The output structure includes:
id: Unique identifier of the event.type: Event type (e.g., "room.client.joined").apiVersion: API version of the event.createdAt: Timestamp when the event was created.data: Raw event data object.- Additional fields depending on event type, for example:
- For participant-related events (
room.client.joined,room.client.left,room.client.knocked):displayName,roomName,meetingId. - For session events (
room.session.started,room.session.ended):roomName,meetingId,sessionId. - For recording finished events:
recordingId,roomName,meetingId,duration. - For transcription events (
transcription.started,transcription.finished,transcription.failed):transcriptionId,roomName,meetingId.
- For participant-related events (
Headers from the incoming webhook request are also included in the output under headers.
The node does not output binary data.
Dependencies
- Requires an active Whereby account with webhook configuration.
- The webhook URL generated by this node must be registered in the Whereby dashboard under Settings → Webhooks → Add webhook endpoint.
- If signature validation is enabled, the user must provide the webhook signature secret from the Whereby dashboard.
- No external libraries beyond Node.js built-in crypto module are required.
Troubleshooting
- Missing or invalid signature secret: If signature validation is enabled but no secret is provided, the node will throw an error. Ensure the signature secret matches the one configured in Whereby.
- Missing Whereby signature header: If the webhook request lacks the expected signature header, the node will reject the request. Confirm that Whereby is sending the signature header correctly.
- Invalid webhook signature: If the computed HMAC hash does not match the signature header, the node throws an error indicating possible tampering or misconfiguration. Verify the signature secret and webhook setup.
- Event not triggering: If the selected events do not include the incoming event type, the node will ignore it. Make sure to select all relevant events you want to listen for.
- Webhook URL not configured in Whereby: The node will not receive any events if the webhook URL is not added in the Whereby dashboard.