Prerequisites
Before setting up a webhook, you’ll need:- An HTTPS endpoint - Your webhook receiver must use HTTPS (HTTP is not supported for security reasons)
- Workspace admin access - Only workspace administrators can create, edit, and delete webhooks
- An eligible plan - Upgrade to Plus or higher to access webhooks
Creating a Webhook
- Navigate to Settings → Integrations → Webhooks
- Click Create Webhook
-
Fill in the required information:
- URL: Your HTTPS endpoint that will receive webhook events (e.g.,
https://api.example.com/webhooks/jamie) - Description (optional): A note to help you identify this webhook
- Events: Select which events should trigger this webhook (currently only
meeting.completed)
- URL: Your HTTPS endpoint that will receive webhook events (e.g.,
-
Choose your authentication method:
- API Key (Recommended)
- Signature Verification (Advanced)
The simplest way to authenticate webhooks. Jamie will send a static API key in a header of your choice.- Header Name: Choose a custom header name (e.g.,
x-jamie-api-key,x-make-apikey,Authorization) - Leave empty to use the default
x-jamie-api-key
- Click Create
- Save your secret key - This is displayed only once. Store it securely (e.g., in your environment variables or secrets manager).
Events
Jamie currently supports the following webhook event:meeting.completed
Triggered when a meeting has been fully processed and is ready with:
- Meeting summary (in Markdown and HTML formats)
- Full transcript
- Extracted action items/tasks
- Participant information
- Meeting metadata
The meeting.completed webhook will be triggered by all meetings of every user in the workspace. Filtering of meetings must be done in your third-party provider in which you set up your webhook.
Payload Structure
When a webhook event is triggered, Jamie sends a POST request to your endpoint with the following structure:Headers
Depending on your chosen authentication method, you’ll receive different headers: API Key Authentication:| Header | Description |
|---|---|
x-jamie-api-key | Your API key for simple authentication (or your custom header name) |
x-jamie-signature | HMAC-SHA256 signature for verifying webhook authenticity (see Security & Verification) |
jamie-event | The event type that triggered this webhook |
jamie-delivery | Unique identifier for this webhook delivery |
Request Body
Field Descriptions
metadata
id(string): Unique identifier for this webhook deliveryevent(string): The event type (meeting.completed)created(number): Unix timestamp (seconds) when the webhook was created
data.summary
markdown(string): Meeting summary formatted as Markdown with speaker names highlightedhtml(string): Meeting summary formatted as HTML, ready to display
data.transcript
Array of transcript segments:
speakerId(string): Unique identifier for the speakerspeakerName(string): Display name of the speakertext(string): The spoken text
data.participants
Array of meeting participants:
id(string): Unique identifier for the participantname(string): Display name of the participant
data.event
Calendar event information:
id(string | null): Calendar event ID (if available)title(string): Meeting titlescheduledTime(string): ISO 8601 formatted start timeendTime(string | null): ISO 8601 formatted end time (if available)
data.tasks
Array of action items extracted from the meeting:
content(string): The task descriptioncompleted(boolean): Whether the task is marked as completed

