Skip to main content
Webhooks deliver selected meeting events to an HTTPS endpoint you control.

Events

EventMeaning
meeting.startedMeeting started.
meeting.endedMeeting ended.
meeting.transcription.completedTranscription completed.
meeting.speaker_id.completedSpeaker identification completed.
meeting.finalizedMeeting finalized.
meeting.automatic.surfacedAutomatic meeting surfaced.

Payload fields

FieldMeaning
meetingMeeting identity and metadata.
timestampsStart and end timing.
roomRoom metadata.
participantsMeeting participant list.
speakersSpeaker list.
audio_metadataAudio availability and metadata.
transcript_textFull transcript text.
transcript_eventsTranscript event list.
summaryMeeting summary.
topicsTopic list.
titleMeeting title.

Create a webhook

webhook = client.create_webhook(
    name="Meeting webhook",
    url="https://example.com/vued",
    events=["meeting.finalized"],
    payload_fields={"default": ["meeting", "timestamps", "title", "summary"]},
)
print(webhook["secret"])

Verify signatures

Webhook deliveries include:
HeaderMeaning
Vued-Webhook-TimestampUnix timestamp used in the signature.
Vued-Signaturet=<timestamp>,v1=<hex_hmac_sha256>.
import hashlib
import hmac

timestamp = request.headers["Vued-Webhook-Timestamp"]
signature = request.headers["Vued-Signature"].split("v1=", 1)[1]
body = request.get_data()

expected = hmac.new(
    b"whsec_...",
    timestamp.encode() + b"." + body,
    hashlib.sha256,
).hexdigest()

ok = hmac.compare_digest(signature, expected)
Last modified on June 29, 2026