VantageKitVantageKit Docs

Webhook Events

Complete catalog of all 21 webhook event types with payload examples.

Common payload structure

All webhook payloads include a type field identifying the event and a data object containing the event-specific fields. Timestamps are ISO 8601 UTC.

Deal Room Events

deal_room.created

Fired when a new deal room is created.

{
  "type": "deal_room.created",
  "data": {
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Series A Fundraising"
  }
}
FieldTypeDescription
dealRoomIdstringDeal room UUID
namestringDeal room name

deal_room.updated

Fired when deal room metadata changes (name, description, branding, settings, or sidebar order).

{
  "type": "deal_room.updated",
  "data": {
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Series A Fundraising",
    "changes": ["name", "description"]
  }
}
FieldTypeDescription
dealRoomIdstringDeal room UUID
namestringCurrent deal room name
changesstring[]Fields that changed. Values: name, description, branding, settings, sidebar_order

deal_room.published

Fired when a deal room is published (pushed to live).

{
  "type": "deal_room.published",
  "data": {
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Series A Fundraising",
    "version": 3,
    "documentCount": 5
  }
}
FieldTypeDescription
dealRoomIdstringDeal room UUID
namestringDeal room name
versionnumberPublished version number
documentCountnumberNumber of documents in this version

deal_room.archived

Fired when a deal room is archived.

{
  "type": "deal_room.archived",
  "data": {
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Series A Fundraising"
  }
}
FieldTypeDescription
dealRoomIdstringDeal room UUID
namestringDeal room name

deal_room.viewed

Fired when someone views a deal room. This is the most commonly used event for sales follow-up.

{
  "type": "deal_room.viewed",
  "data": {
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "viewerId": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
    "viewerEmail": "jane@acme.com",
    "pageCount": 15,
    "duration": 300,
    "timestamp": "2026-04-08T12:34:56Z"
  }
}
FieldTypeDescription
dealRoomIdstringDeal room UUID
linkIdstringShare link used to access
viewerIdstring?Viewer account ID (null if anonymous)
viewerEmailstring?Viewer email (null if not captured)
pageCountnumberPages viewed in this session
durationnumber?View duration in seconds (null if still viewing)
timestampstringISO 8601 timestamp of the view

Document Events

document.added

Fired when a document is added to a deal room.

{
  "type": "document.added",
  "data": {
    "documentId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Pitch Deck Q4",
    "type": "pdf"
  }
}
FieldTypeDescription
documentIdstringDocument UUID
dealRoomIdstringParent deal room UUID
namestringDocument display name
typestringDocument type (e.g., pdf, slide, notion, video)

document.removed

Fired when a document is removed from a deal room.

{
  "type": "document.removed",
  "data": {
    "documentId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Pitch Deck Q4"
  }
}
FieldTypeDescription
documentIdstringDocument UUID
dealRoomIdstringParent deal room UUID
namestringDocument display name

document.published

Fired when a document's staged changes are published to live.

{
  "type": "document.published",
  "data": {
    "documentId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Pitch Deck Q4",
    "version": 2
  }
}
FieldTypeDescription
documentIdstringDocument UUID
dealRoomIdstringParent deal room UUID
namestringDocument display name
versionnumberPublished version number

document.viewed

Fired when a specific document is viewed. Includes per-document engagement metrics.

{
  "type": "document.viewed",
  "data": {
    "documentId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "viewerId": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
    "viewerEmail": "jane@acme.com",
    "pagesViewed": 8,
    "duration": 120,
    "timestamp": "2026-04-08T12:36:00Z"
  }
}
FieldTypeDescription
documentIdstringDocument UUID
dealRoomIdstringParent deal room UUID
linkIdstringShare link used to access
viewerIdstring?Viewer account ID (null if anonymous)
viewerEmailstring?Viewer email (null if not captured)
pagesViewednumberNumber of pages viewed in this session
durationnumber?View duration in seconds
timestampstringISO 8601 timestamp

document.downloaded

Fired when a viewer downloads a document.

{
  "type": "document.downloaded",
  "data": {
    "documentId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "viewerId": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
    "viewerEmail": "jane@acme.com",
    "timestamp": "2026-04-08T12:40:00Z"
  }
}
FieldTypeDescription
documentIdstringDocument UUID
dealRoomIdstringParent deal room UUID
linkIdstringShare link used to access
viewerIdstring?Viewer account ID (null if anonymous)
viewerEmailstring?Viewer email (null if not captured)
timestampstringISO 8601 timestamp

Viewer Events

viewer.identified

Fired when a viewer is identified by email or name (e.g., from an email gate or login).

{
  "type": "viewer.identified",
  "data": {
    "viewerId": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "email": "jane@acme.com",
    "name": "Jane Smith"
  }
}
FieldTypeDescription
viewerIdstringViewer account UUID
dealRoomIdstringDeal room UUID where identification occurred
linkIdstringShare link used to access
emailstringViewer's email address
namestring?Viewer's display name (null if not provided)

viewer.email_captured

Fired when a viewer enters their email through an email gate.

{
  "type": "viewer.email_captured",
  "data": {
    "viewerId": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "email": "jane@acme.com"
  }
}
FieldTypeDescription
viewerIdstringViewer account UUID
dealRoomIdstringDeal room UUID
linkIdstringShare link used to access
emailstringCaptured email address

Agreement Events

agreement.signed

Fired when a viewer signs an NDA or agreement.

{
  "type": "agreement.signed",
  "data": {
    "agreementId": "e5f6a7b8-c9d0-1234-5678-9abcdef01234",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "viewerId": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
    "viewerEmail": "jane@acme.com",
    "agreementName": "Mutual NDA"
  }
}
FieldTypeDescription
agreementIdstringAgreement UUID
dealRoomIdstringDeal room UUID
linkIdstringShare link used to access
viewerIdstringViewer who signed
viewerEmailstringViewer's email
agreementNamestringName of the agreement

agreement.declined

Fired when a viewer explicitly declines an agreement.

{
  "type": "agreement.declined",
  "data": {
    "agreementId": "e5f6a7b8-c9d0-1234-5678-9abcdef01234",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "viewerId": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
    "agreementName": "Mutual NDA"
  }
}
FieldTypeDescription
agreementIdstringAgreement UUID
dealRoomIdstringDeal room UUID
linkIdstringShare link used to access
viewerIdstringViewer who declined
agreementNamestringName of the agreement

agreement.expired

Fired when an agreement's signing deadline passes without a signature.

{
  "type": "agreement.expired",
  "data": {
    "agreementId": "e5f6a7b8-c9d0-1234-5678-9abcdef01234",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "agreementName": "Mutual NDA"
  }
}
FieldTypeDescription
agreementIdstringAgreement UUID
dealRoomIdstringDeal room UUID
agreementNamestringName of the agreement

link.created

Fired when a new share link is created.

{
  "type": "link.created",
  "data": {
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Investor Link",
    "slug": "series-a-deck"
  }
}
FieldTypeDescription
linkIdstringShare link UUID
dealRoomIdstringParent deal room UUID
namestringLink display name
slugstringURL slug for the share link

link.updated

Fired when a share link's settings change.

{
  "type": "link.updated",
  "data": {
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Investor Link",
    "changes": ["expiration", "password"]
  }
}
FieldTypeDescription
linkIdstringShare link UUID
dealRoomIdstringParent deal room UUID
namestringLink display name
changesstring[]Fields that changed. Values: name, expiration, password, allowList, settings, slug, embed_enabled

link.clicked

Fired when a share link is accessed by a viewer.

{
  "type": "link.clicked",
  "data": {
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "viewerId": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
    "referrer": "https://mail.google.com",
    "timestamp": "2026-04-08T12:30:00Z"
  }
}
FieldTypeDescription
linkIdstringShare link UUID
dealRoomIdstringParent deal room UUID
viewerIdstring?Viewer account ID (null if anonymous)
referrerstring?HTTP referrer URL (null if direct access)
timestampstringISO 8601 timestamp

link.expired

Fired when a share link's expiration date passes.

{
  "type": "link.expired",
  "data": {
    "linkId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "dealRoomId": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Investor Link"
  }
}
FieldTypeDescription
linkIdstringShare link UUID
dealRoomIdstringParent deal room UUID
namestringLink display name

Team Events

team.member_joined

Fired when a new member joins the team.

{
  "type": "team.member_joined",
  "data": {
    "userId": "f6a7b8c9-d0e1-2345-6789-abcdef012345",
    "email": "bob@yourcompany.com",
    "role": "member"
  }
}
FieldTypeDescription
userIdstringUser UUID
emailstringUser's email address
rolestringRole assigned. Values: owner, admin, member

team.member_removed

Fired when a member is removed from the team.

{
  "type": "team.member_removed",
  "data": {
    "userId": "f6a7b8c9-d0e1-2345-6789-abcdef012345",
    "email": "bob@yourcompany.com",
    "removedBy": "a7b8c9d0-e1f2-3456-789a-bcdef0123456"
  }
}
FieldTypeDescription
userIdstringRemoved user's UUID
emailstringRemoved user's email
removedBystringUUID of the user who performed the removal

On this page