Home
GoToWebinar
GoToWebinar Webhook Events
GoToWebinar Webhook Events
Version 1.0.0
Outbound webhook events delivered by the GoToWebinar webhook infrastructure to a developer-supplied callback URL. All events are HTTP POSTs signed via the `X-Webhook-Signature` header so receivers can validate that the event was sent by LogMeIn webhook infrastructure and not a third party.
View Spec
View on GitHub
Attendees Collaboration Communications Events Meetings Registrants Sessions Surveys Video Conferencing Virtual Events Webhooks Webinars AsyncAPI Webhooks Events
Channels
registrant.added
subscribe onRegistrantAdded
Receive a registrant.added event.
Triggered when a user registers for a webinar.
registrant.joined
subscribe onRegistrantJoined
Receive a registrant.joined event.
Triggered when a registrant joins a webinar session.
webinar.created
subscribe onWebinarCreated
Receive a webinar.created event.
Triggered when an organizer creates a new webinar.
webinar.changed
subscribe onWebinarChanged
Receive a webinar.changed event.
Triggered when an organizer updates or deletes an existing webinar.
Messages
✉
RegistrantAdded
Registrant Added
✉
RegistrantJoined
Registrant Joined
✉
WebinarCreated
Webinar Created
✉
WebinarChanged
Webinar Changed
Servers
https
callback
https://your-domain.example.com/gotowebinar/callback
Developer-supplied callback URL registered on the webhook.
AsyncAPI Specification
asyncapi: 2.6.0
info:
title: GoToWebinar Webhook Events
version: '1.0.0'
description: |
Outbound webhook events delivered by the GoToWebinar webhook infrastructure
to a developer-supplied callback URL. All events are HTTP POSTs signed via
the `X-Webhook-Signature` header so receivers can validate that the event
was sent by LogMeIn webhook infrastructure and not a third party.
contact:
name: GoTo Developer Support
email: developer-support@goto.com
url: https://developer.goto.com/support
servers:
callback:
url: https://your-domain.example.com/gotowebinar/callback
protocol: https
description: Developer-supplied callback URL registered on the webhook.
defaultContentType: application/json
channels:
registrant.added:
description: Triggered when a user registers for a webinar.
subscribe:
operationId: onRegistrantAdded
summary: Receive a registrant.added event.
message:
$ref: '#/components/messages/RegistrantAdded'
registrant.joined:
description: Triggered when a registrant joins a webinar session.
subscribe:
operationId: onRegistrantJoined
summary: Receive a registrant.joined event.
message:
$ref: '#/components/messages/RegistrantJoined'
webinar.created:
description: Triggered when an organizer creates a new webinar.
subscribe:
operationId: onWebinarCreated
summary: Receive a webinar.created event.
message:
$ref: '#/components/messages/WebinarCreated'
webinar.changed:
description: Triggered when an organizer updates or deletes an existing webinar.
subscribe:
operationId: onWebinarChanged
summary: Receive a webinar.changed event.
message:
$ref: '#/components/messages/WebinarChanged'
components:
messageTraits:
SignedWebhook:
headers:
type: object
properties:
X-Webhook-Signature:
type: string
description: HMAC signature for the payload, computed with the webhook secretKey.
Content-Type:
type: string
enum: [application/json]
messages:
RegistrantAdded:
name: registrant.added
title: Registrant Added
traits:
- $ref: '#/components/messageTraits/SignedWebhook'
payload:
type: object
required: [eventName, eventVersion, product, eventKey, webinarKey, registrantKey, email]
properties:
eventName: { type: string, enum: [registrant.added] }
eventVersion: { type: string, example: '1.0.0' }
product: { type: string, enum: [g2w] }
eventKey: { type: string }
firstName: { type: string }
lastName: { type: string }
email: { type: string, format: email }
phone: { type: string }
organization: { type: string }
jobTitle: { type: string }
industry: { type: string }
comments: { type: string }
registrationDate: { type: string, format: date-time }
status: { type: string }
webinarKey: { type: string }
webinarTitle: { type: string }
experienceType: { type: string }
recurrenceType: { type: string }
webinarCreatorKey: { type: string }
registrationSource: { type: string }
joinUrl: { type: string, format: uri }
registrantKey: { type: string }
timestamp: { type: string, format: date-time }
responses:
type: array
items:
type: object
properties:
question: { type: string }
answer: { type: string }
RegistrantJoined:
name: registrant.joined
title: Registrant Joined
traits:
- $ref: '#/components/messageTraits/SignedWebhook'
payload:
type: object
required: [eventName, eventVersion, product, eventKey, webinarKey, sessionKey, registrantKey]
properties:
eventName: { type: string, enum: [registrant.joined] }
eventVersion: { type: string, example: '1.0.0' }
product: { type: string, enum: [g2w] }
eventKey: { type: string }
firstName: { type: string }
lastName: { type: string }
email: { type: string, format: email }
webinarKey: { type: string }
sessionKey: { type: string }
webinarTitle: { type: string }
experienceType: { type: string }
recurrenceType: { type: string }
registrantKey: { type: string }
webinarCreatorKey: { type: string }
joinTime: { type: integer, description: Unix millisecond timestamp. }
timestamp: { type: string, format: date-time }
WebinarCreated:
name: webinar.created
title: Webinar Created
traits:
- $ref: '#/components/messageTraits/SignedWebhook'
payload:
type: object
required: [eventName, eventVersion, product, eventKey, webinarKey]
properties:
eventName: { type: string, enum: [webinar.created] }
eventVersion: { type: string, example: '1.0.0' }
accountKey: { type: string }
organizerKey: { type: string }
product: { type: string, enum: [g2w] }
eventKey: { type: string }
webinarKey: { type: string }
webinarTitle: { type: string }
description: { type: string }
experienceType: { type: string }
recurrenceType: { type: string }
recurrenceKey: { type: string }
webinarCreationDate: { type: string, format: date-time }
status: { type: string, enum: [NEW] }
times:
type: array
items:
type: object
properties:
startTime: { type: string, format: date-time }
endTime: { type: string, format: date-time }
timeZone: { type: string }
WebinarChanged:
name: webinar.changed
title: Webinar Changed
traits:
- $ref: '#/components/messageTraits/SignedWebhook'
payload:
type: object
required: [eventName, eventVersion, product, eventKey, webinarKey]
properties:
eventName: { type: string, enum: [webinar.changed] }
eventVersion: { type: string, example: '1.0.0' }
accountKey: { type: string }
organizerKey: { type: string }
product: { type: string, enum: [g2w] }
eventKey: { type: string }
webinarKey: { type: string }
webinarTitle: { type: string }
description: { type: string }
experienceType: { type: string }
recurrenceType: { type: string }
status: { type: string, enum: [UPDATED, DELETED] }
times:
type: array
items:
type: object
properties:
startTime: { type: string, format: date-time }
endTime: { type: string, format: date-time }
timeZone: { type: string }