GoTo Webinar Component
GoTo Webinar is a platform for hosting, managing, and attending live or pre-recorded webinars.
Component key: gotowebinar
Description
GoTo Webinar is a platform for hosting, managing, and attending live or pre-recorded webinars.
Use the component to schedule, manage, and subscribe to webinars, registrants, attendees, and more.
API Documentation:
The component was built using the GoTo Webinar 2.0 REST API.
Connections
OAuth 2.0
Creating an OAuth Client:
- In the GoTo Developer portal, navigate to OAuth Clients . Choose Create a client to create a new client.
- If you already have clients, they are listed here. Scroll to the bottom of this listing and select Create a New Client.
- On the Details page, enter a Client name, an optional Description, and enter the Redirect URI as
https://oauth2.prismatic.io/callback. - On the next page, select the proper scopes needed for a Goto Webinar integration.
- The next page will provide the Client ID and Client Secret. Along with the assigned scopes from the previous page, enter these into the connection configuration of the integration.
| Input | Notes | Example |
|---|---|---|
| Authorize URL | The OAuth2 Authorize URL for GoTo Webinar. | https://authentication.logmeininc.com/oauth/authorize |
| Client ID | The OAuth2 Client ID for GoTo Webinar. | |
| Client Secret | The OAuth2 Client Secret for GoTo Webinar. | |
| Organizer Key | The GoTo Webinar Organizer Key. | |
| Scopes | Space separated list of OAuth2 scopes for GoTo Webinar. | identity:scim.me collab: |
| Token URL | The OAuth2 Token URL for GoTo Webinar | https://authentication.logmeininc.com/oauth/token |
Triggers
User Subscription
Triggers when a user subscribes to a plan | key: userSubscriptionTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Event Name | The name of the event to subscribe to. | |
| Event Version | The version of the event to subscribe to. | 1.0.0 |
Data Sources
Select Organizer
Select a Organizer from the list of available Organizer Keys | key: selectOrganizer | type: picklist
| Input | Notes | Example |
|---|---|---|
| Account Key | The key of the account. | 123456790 |
| Connection | ||
| From Time | Start of the datetime range in ISO8601 UTC format. | 2020-03-13T10:00:00Z |
| From Time | End of the datetime range in ISO8601 UTC format. | 2020-03-13T10:00:00Z |
Select Webhook
Select a webhook from a list of available webhooks. | key: selectWebhook | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection |
Select Webinar
Select a webinar from the list of available webinars by your Account Key. | key: selectWebinar | type: picklist
| Input | Notes | Example |
|---|---|---|
| Account Key | The key of the account. | 123456790 |
| Connection | ||
| From Time | Start of the datetime range in ISO8601 UTC format. | 2020-03-13T10:00:00Z |
| From Time | End of the datetime range in ISO8601 UTC format. | 2020-03-13T10:00:00Z |
Actions
Cancel Webinar
Cancels a specific webinar. | key: cancelWebinar
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Delete All | Specifies whether all scheduled sessions should be deleted if the webinar is part of a series. Default behavior is true. | false |
| Send Cancellation Email | Indicates whether cancellation notice emails should be sent. Default behavior is false. | |
| Webinar Key | The key identifier of the webinar. | 123456790 |
{
"data": {
"message": "Action performed successfully."
}
}
Create Registrant
Register an attendee for a scheduled webinar. | key: createRegistrant
| Input | Notes | Example |
|---|---|---|
| Address | The address of the registrant. | 123 Main St |
| City | The city of the registrant. | Sioux Falls |
| Connection | ||
| Country | The country of the registrant. | United States |
The email address of the registrant. | johndoe@testemail.com | |
| First Name | The first name of the registrant. | John |
| Industry | The industry of the registrant. | IT |
| Job Title | The job title of the registrant. | Software Engineer |
| Last Name | The last name of the registrant. | Doe |
| Number of Employees | The number of employees in the organization. | 100 |
| Organization | The organization of the registrant. | Acme Corp |
| Phone | The phone number of the registrant. | 605-555-5555 |
| Purchasing Role | The role of the registrant in the purchasing process. | Decision Maker |
| Purchasing Time Frame | The time frame within which the product will be purchased. | 1-3 months |
| Questions and Comments | Any questions or comments the registrant has. | I have a question about the webinar. |
| Responses | The responses to the custom questions. | |
| Source | The source that led to the registration. This can be any string like 'Newsletter 123' or 'Marketing campaign ABC' | website |
| State | The state of the registrant. | South Dakota |
| Webinar Key | The key identifier of the webinar. | 123456790 |
| Zip Code | The zip code of the registrant. | 57104 |
{
"data": {
"registrantKey": "string",
"joinUrl": "string"
}
}
Create User Subscription
A new user subscriptions will be created as a webhook. | key: createUserSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Event Name | The name of the event to subscribe to. | |
| Event Version | The version of the event to subscribe to. | 1.0.0 |
| Webhook URL | A HTTPs url that can accept posted events. It should return 200 OK for GET requests. | https://example.com/webhook |
{
"data": {
"_embedded": {
"userSubscriptions": [
{
"callbackUrl": "string",
"eventName": "string",
"eventVersion": "string",
"product": "g2w",
"webhookKey": "string",
"userSubscriptionKey": "string",
"userSubscriptionState": "INACTIVE",
"activationState": "INACTIVE",
"createTime": "string"
}
]
}
}
}
Create Webinar
Creates a single session webinar, a sequence of webinars, or a series of webinars. | key: createWebinar
| Input | Notes | Example |
|---|---|---|
| Should Send Absentee Follow Up Email | Whether or not to send an absentee follow up email to the registrants. | |
| Should Send Attendee Follow Up Email | Whether or not to send an attendee follow up email to the registrants. | |
| Should Send Confirmation Email | Whether or not to send a confirmation email to the registrants. | |
| Connection | ||
| Description | The description of the webinar | Learn how to create a webinar from scratch |
| Experience Type | The experience type of the webinar. | CLASSIC |
| Is Breakout | A boolean flag indicating if the webinar should be breakout. | false |
| Is On Demand | A boolean flag indicating if the webinar should be On-Demand. | false |
| Is Password Protected | Indicates if the webinar is password protected. | false |
| Locale | The locale to use. | en_US |
| Recording Asset Key | The recording asset with which the simulive webinar should be created from. In case the recordingasset was created as an online recording the simulive webinar settings, poll and surveys would be copied from the webinar whose session was recorded. | your-recording-asset-key |
| Should Send Seminder Email | Whether or not to send a reminder email to the registrants. | |
| Subject | The subject of the webinar | How to Create a Webinar |
| Time Range for Webinar | Time Range Array for the webinar. Please note that the examples provided describe the expected payload given all webinar types. Only one array should be used based on the webinar type. | |
| Timezone | The time zone where the webinar is taking place (must be a valid time zone ID). If this parameter is not passed, the timezone of the organizer's profile will be used. | America/Chicago |
| Webinar Type | The type of the webinar. if 'Single Session' is selected, the webinar will be a single session. if 'Series' is selected, the webinar will be a series. if 'Sequence' is selected, the webinar will be a sequence. |
{
"data": {
"webinarKey": "string",
"recurrenceKey": "string"
}
}
Delete Instanced Subscriptions
Deletes all subscriptions that point to a flow in this instance | key: deleteInstancedWebhooksAction
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"data": {
"message": "Action performed successfully."
}
}
Delete Registrant
Removes a webinar registrant from current registrations for the specified webinar. The webinar must be a scheduled, future webinar. | key: deleteRegistrant
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Registrant Key | The key of the registrant. | 123456790 |
| Webinar Key | The key identifier of the webinar. | 123456790 |
{
"data": {
"message": "Action performed successfully."
}
}
Delete User Subscriptions
Deletes one or more user subscriptions. | key: deleteUserSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Delete Webhooks | Set to true if you want the affiliated webhook deleted with the user subscription. Note, deleting the webhook will also delete any other user subscriptions tied to the corresponding webhook key. | false |
| User Subscription Keys | The subscription keys to act upon. |
{
"data": {
"message": "Action performed successfully."
}
}
Get Attendee
Retrieve registration details for a particular attendee of a specific webinar session | key: getAttendee
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Registrant Key | The key of the registrant. | 123456790 |
| Session Key | The key of the webinar session. | 123456790 |
| Webinar Key | The key identifier of the webinar. | 123456790 |
{
"data": {
"lastName": "string",
"email": "string",
"firstName": "string",
"registrantKey": 0,
"registrationDate": "2019-08-24T14:15:22Z",
"status": "APPROVED",
"joinUrl": "string",
"timeZone": "string"
}
}
Get Registrant
Retrieve registration details for a specific registrant. | key: getRegistrant
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Registrant Key | The key of the registrant. | 123456790 |
| Webinar Key | The key identifier of the webinar. | 123456790 |
{
"data": {
"lastName": "string",
"email": "string",
"firstName": "string",
"registrantKey": "string",
"registrationDate": "2019-08-24T14:15:22Z",
"source": "string",
"status": "APPROVED",
"joinUrl": "string",
"timeZone": "string",
"phone": "string",
"state": "string",
"city": "string",
"organization": "string",
"zipCode": "string",
"numberOfEmployees": "string",
"industry": "string",
"jobTitle": "string",
"purchasingRole": "string",
"implementationTimeFrame": "string",
"purchasingTimeFrame": "string",
"questionsAndComments": "string",
"employeeCount": "string",
"country": "string",
"address": "string",
"type": "LATE",
"unsubscribed": true,
"responses": [
{
"answer": "string",
"question": "string"
}
]
}
}
Get User Subscription
Retrieve a user subscription by User Subscription Key. | key: getUserSubscription
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| User Subscription Key | The unique identifier of the user subscription. | 123456790 |
{
"data": {
"callbackUrl": "string",
"eventName": "string",
"eventVersion": "string",
"product": "g2w",
"webhookKey": "string",
"userSubscriptionKey": "string",
"userSubscriptionState": "INACTIVE",
"activationState": "INACTIVE",
"createTime": "string"
}
}
Get Webinars
Returns upcoming and past webinars for the currently authenticated organizer that are scheduled within the specified date/time range. | key: getWebinars
| Input | Notes | Example |
|---|---|---|
| Account Key | The key of the account. If using this input instead of the organizer key, the action will retrieve the webinars by Account Key | 123456790 |
| Connection | ||
| Fetch All | If true, all pages will be fetched. If false, only the first page will be fetched. | false |
| From Time | Start of the datetime range in ISO8601 UTC format. | 2020-03-13T10:00:00Z |
| Page Number | The page number to be displayed. The first page is 0. | 0 |
| Page Size | The page size to use in pagination, Maximum value is 200. | 200 |
| From Time | End of the datetime range in ISO8601 UTC format. | 2020-03-13T10:00:00Z |
{
"data": {
"_embedded": {
"webinars": [
{
"webinarKey": "string",
"webinarID": "string",
"organizerKey": "string",
"accountKey": "string",
"subject": "string",
"description": "string",
"times": [
{
"startTime": "2019-08-24T14:15:22Z",
"endTime": "2019-08-24T14:15:22Z"
}
],
"timeZone": "string",
"locale": "en_US",
"approvalType": "string",
"registrationUrl": "string",
"impromptu": true,
"isPasswordProtected": true,
"recurrenceType": "string",
"experienceType": "string"
}
]
},
"page": {
"size": 0,
"totalElements": 0,
"totalPages": 0,
"number": 0
}
}
}
List All Attendees for all Webinar Sessions
Returns all attendees for all sessions of the specified webinar. | key: listAttendees
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Fetch All | If true, all pages will be fetched. If false, only the first page will be fetched. | false |
| Webinar Key | The key identifier of the webinar. | 123456790 |
{
"data": {
"property1": {
"sessionInfo": {
"webinarName": "string",
"webinarId": "string",
"sessionKey": "string",
"timeZone": "string",
"experienceType": "CLASSIC",
"recurrencePeriod": "string",
"startTime": "2019-08-24T14:15:22Z",
"endTime": "2019-08-24T14:15:22Z",
"registrationEmailOpenedCount": "string",
"registrationLinkClickedCount": "string"
},
"attendance": {
"registrantCount": 0,
"percentageAttendance": 0.1,
"averageInterestRating": 0.1,
"averageAttentiveness": 0.1,
"averageAttendanceTimeSeconds": 0.1
},
"pollsAndSurveys": {
"pollCount": 0,
"surveyCount": 0.1,
"questionsAsked": 0,
"percentagePollsCompleted": 0.1,
"percentageSurveysCompleted": 0.1
}
},
"property2": {
"sessionInfo": {
"webinarName": "string",
"webinarId": "string",
"sessionKey": "string",
"timeZone": "string",
"experienceType": "CLASSIC",
"recurrencePeriod": "string",
"startTime": "2019-08-24T14:15:22Z",
"endTime": "2019-08-24T14:15:22Z",
"registrationEmailOpenedCount": "string",
"registrationLinkClickedCount": "string"
},
"attendance": {
"registrantCount": 0,
"percentageAttendance": 0.1,
"averageInterestRating": 0.1,
"averageAttentiveness": 0.1,
"averageAttendanceTimeSeconds": 0.1
},
"pollsAndSurveys": {
"pollCount": 0,
"surveyCount": 0.1,
"questionsAsked": 0,
"percentagePollsCompleted": 0.1,
"percentageSurveysCompleted": 0.1
}
}
}
}
List Registrants
Retrieve registration details for all registrants of a specific webinar. | key: listRegistrants
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Page Size | The page size to use in pagination, Maximum value is 200. | 200 |
| Page Number | The page number to be displayed. The first page is 0. | 0 |
| Webinar Key | The key identifier of the webinar. | 123456790 |
{
"data": [
{
"lastName": "string",
"email": "string",
"firstName": "string",
"registrantKey": "string",
"registrationDate": "2019-08-24T14:15:22Z",
"status": "APPROVED",
"joinUrl": "string",
"timeZone": "string"
}
]
}
List Session Attendees
Retrieve details for all attendees of a specific webinar session. | key: listSessionAttendees
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Session Key | The key of the webinar session. | 123456790 |
| Webinar Key | The key identifier of the webinar. | 123456790 |
{
"data": [
{
"registrantKey": 0,
"firstName": "string",
"lastName": "string",
"email": "string",
"attendanceTimeInSeconds": 0,
"sessionKey": 0,
"attendance": [
{
"joinTime": "2019-08-24T14:15:22Z",
"leaveTime": "2019-08-24T14:15:22Z"
}
]
}
]
}
List User Subscriptions
Retrieve a list of user subscriptions. | key: listUserSubscriptions
| Input | Notes | Example |
|---|---|---|
| Connection |
{
"data": {
"_embedded": {
"userSubscriptions": [
{
"callbackUrl": "string",
"eventName": "string",
"eventVersion": "string",
"product": "g2w",
"webhookKey": "string",
"userSubscriptionKey": "string",
"userSubscriptionState": "INACTIVE",
"activationState": "INACTIVE",
"createTime": "string"
}
]
}
}
}
Raw Request
Send a raw HTTP request to GoTo Webinar. | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | ||
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| Debug Request | Enabling this flag will log out the current request. | false |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (/organizers), The base URL is already included. For example, in order to send a webinar request, only /organizer/{organizerKey}/webinars is entered in this field. | /organizers/{organizerKey}/webinars |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Update User Subscription
Updates an existing user subscription. | key: updateUserSubscription
| Input | Notes | Example |
|---|---|---|
| Webhook URL | A HTTPs url that can accept posted events. It should return 200 OK for GET requests. | https://example.com/webhook |
| Connection | ||
| User Subscription Key | The key of the user subscription to update | userSubscriptionKey1 |
| User Subscription State | The state of the user subscription | ACTIVE |
| Webhook Key | The key of the webhook to update | webhookKey1 |
{
"data": {
"message": "Action performed successfully."
}
}
Update Webinar
Updates a specific webinar. | key: updateWebinar
| Input | Notes | Example |
|---|---|---|
| Should Send Absentee Follow Up Email | Whether or not to send an absentee follow up email to the registrants. | |
| Should Send Attendee Follow Up Email | Whether or not to send an attendee follow up email to the registrants. | |
| Should Send Confirmation Email | Whether or not to send a confirmation email to the registrants. | |
| Connection | ||
| Description | The description of the webinar | Learn how to create a webinar from scratch |
| Locale | The locale to use. | en_US |
| Notify Participants | Notify participants of the webinar. | false |
| Should Send Seminder Email | Whether or not to send a reminder email to the registrants. | |
| Subject | The subject of the webinar | How to Create a Webinar |
| Time Range for Webinar | The time range of the webinar. | |
| Timezone | The time zone where the webinar is taking place (must be a valid time zone ID). If this parameter is not passed, the timezone of the organizer's profile will be used. | America/Chicago |
| Webinar Key | The key identifier of the webinar. | 123456790 |
{
"data": {
"message": "Action performed successfully."
}
}
Changelog
2025-10-17
Enhanced webhook lifecycle management with improved user subscription trigger handling and automated cleanup.
2025-04-07
Initial release of GoTo Webinar component with comprehensive webinar management, attendee tracking, and user subscription capabilities.