Skip to main content
gotowebinar icon

GoTo Webinar Connector

SourceAPI DocsAPI ChangelogConnector Changelog

Description

GoTo Webinar is a platform for hosting, managing, and attending live or pre-recorded webinars. This component allows scheduling, managing, and subscribing to webinars, registrants, and attendees.

API Documentation

This component was built using the GoTo Webinar 2.0 REST API.

Connections

OAuth 2.0

key: gotoWebinarOAuth2Connection

To connect to GoTo Webinar, create an OAuth client in the GoTo Developer portal.

Prerequisites

  • A GoTo Developer account
  • An Organizer Key for the GoTo Webinar account

Setup Steps

  1. In the GoTo Developer portal, navigate to OAuth Clients and choose Create a client to create a new client.
  2. If clients already exist, they are listed here. Scroll to the bottom of this listing and select Create a New Client.
  3. On the Details page, enter a Client name, an optional Description, and enter the Redirect URI as https://oauth2.prismatic.io/callback.
  4. On the next page, select the proper scopes needed for a GoTo Webinar integration.
  5. The next page provides the Client ID and Client Secret. Take note of these values along with the assigned scopes from the previous page.

Configure the Connection

  • Enter the Client ID and Client Secret from the OAuth client.
  • For Scopes, enter the space-separated scopes assigned to the OAuth client.
  • Enter the Organizer Key for the GoTo Webinar account.
InputNotesExample
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

New Registrants

Fetches new registrants added to a GoTo Webinar webinar on a configured schedule. | key: pollChangesTrigger

InputNotesExample
Connection
Webinar Key

The unique identifier for the webinar.

1234567890

This trigger polls a GoToWebinar webinar on a configured schedule and emits registrants that were added since the previous run. It is a convenient alternative to webhooks when a scheduled pull is preferred over an event push.

How It Works

GoToWebinar's registrants endpoint exposes a per-registrant registrationDate (creation time) but no modification timestamp, and it offers no server-side date filter. So on each scheduled run the trigger fetches the webinar's registrants and keeps only those whose registrationDate is after the previous poll time. The current run time is stored as the cursor for the next run.

  • First run: the very first execution records the cursor and emits nothing, so an instance does not receive a backlog of historical registrants on deploy.
  • Subsequent runs: only registrants added since the last run are returned.

Returned Data

The trigger returns the newly added registrants under data.created. Fields shown are representative. The full response object includes additional properties.

Example Payload
{
"data": {
"created": [
{
"registrantKey": "1234567890",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane.doe@example.com",
"status": "APPROVED",
"registrationDate": "2026-05-30T14:22:00Z"
}
]
}
}

Notes

  • This trigger detects new registrants only. Registrants carry a creation timestamp but no modification timestamp, so edits to existing registrants are not detected.
  • It is scoped to a single webinar (set by Webinar Key). Add one flow per webinar to monitor.
  • Because there is no server-side date filter, each run lists the webinar's registrants and filters them in memory.
Example Payload for New Registrants
Loading…

User Subscription

Receive event notifications from GoTo Webinar. Automatically creates and manages a webhook subscription for the selected event when the instance is deployed, and removes the subscription when the instance is deleted. | key: userSubscriptionTrigger

InputNotesExample
Connection
Event Name

The event to subscribe to.

Event Version

The schema version of the event payload to receive.

1.0.0

This trigger receives event notifications from GoToWebinar via user subscriptions. It automatically manages the webhook and subscription lifecycle. No manual configuration in the GoToWebinar dashboard is required.

How It Works

When this trigger is used in a flow:

  • On Instance Deploy: The trigger automatically creates a webhook in GoToWebinar for the selected event type, activates it, and subscribes the user to receive notifications at the instance's unique webhook URL.
  • On Instance Deletion: The trigger automatically removes the webhook and associated subscriptions from GoToWebinar.

Configuration

Configure the following inputs:

  • Event Name: The event type to subscribe to. Select from the available GoToWebinar events (see Event Types below).
  • Event Version: The version of the event schema to use (defaults to 1.0.0).

Event Types

Available Events (4)
EventDescription
registrant.addedTriggered when someone registers for a webinar
registrant.joinedTriggered when a registered participant joins an active webinar session
webinar.createdTriggered when an organizer creates a new webinar
webinar.changedTriggered when an existing webinar is modified or deleted

Refer to the GoToWebinar Webhooks Overview for the complete and up-to-date event list.

Returned Data

The trigger returns the raw webhook payload sent by GoToWebinar for the subscribed event. The payload structure varies by event type.

Example Payload (registrant.added)
{
"eventName": "registrant.added",
"eventVersion": "1.0.0",
"product": "g2w",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"registrantKey": 123456789,
"firstName": "Jane",
"lastName": "Doe",
"email": "jane.doe@example.com",
"webinarKey": 987654321,
"webinarTitle": "Getting Started with GoToWebinar"
}
}

Notes

  • Both the webhook and the user subscription must be in an ACTIVE state for event notifications to be delivered. This trigger handles activation automatically.
  • Signature verification of incoming webhooks is recommended. See the GoToWebinar webhook setup guide for details on HMAC-SHA256 validation.
Example Payload for User Subscription
Loading…

Data Sources

Select Organizer

Select an organizer from the list of available organizer keys. | key: selectOrganizer | type: picklist

InputNotesExample
Account Key

The unique identifier for the account.

1234567890
Connection
From Time

The start of the date/time range to query, in ISO 8601 UTC format. Format: YYYY-MM-DDThh:mm:ssZ.

2020-03-13T10:00:00Z
To Time

The end of the date/time range to query, in ISO 8601 UTC format. Format: YYYY-MM-DDThh:mm:ssZ.

2020-03-13T10:00:00Z

Select Registrant

Select a registrant from a list of registrants for a webinar. | key: selectRegistrant | type: picklist

InputNotesExample
Connection
Webinar Key

The unique identifier for the webinar.

1234567890

Select Webhook

Select a webhook from a list of available webhooks. | key: selectWebhook | type: picklist

InputNotesExample
Connection

Select Webinar

Select a webinar from the list of available webinars by your Account Key. | key: selectWebinar | type: picklist

InputNotesExample
Account Key

The unique identifier for the account.

1234567890
Connection
From Time

The start of the date/time range to query, in ISO 8601 UTC format. Format: YYYY-MM-DDThh:mm:ssZ.

2020-03-13T10:00:00Z
To Time

The end of the date/time range to query, in ISO 8601 UTC format. Format: YYYY-MM-DDThh:mm:ssZ.

2020-03-13T10:00:00Z

Actions

Cancel Webinar

Cancels a specific webinar. | key: cancelWebinar

InputNotesExample
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 unique identifier for the webinar.

1234567890
Example Payload for Cancel Webinar
Loading…

Create Registrant

Register an attendee for a scheduled webinar. | key: createRegistrant

InputNotesExample
Address

The street address of the registrant.

123 Main St
City

The city of the registrant.

Sioux Falls
Connection
Country

The country of the registrant.

United States
Email

The email address of the registrant.

johndoe@testemail.com
First Name

The first name of the registrant.

John
Industry

The industry the registrant works in.

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 registrant's organization.

100
Organization

The organization the registrant belongs to.

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 submitted by the registrant.

I have a question about the webinar.
Responses

The answers to the webinar's custom registration questions. Provide a JSON array of question/response objects.

[
  {
    "questionKey": "qkey",
    "responseText": "responseText",
    "answerKey": "akey"
  }
]
Source

The source that led to the registration. This can be any string like 'Newsletter 123' or 'Marketing campaign ABC'.

website
State

The state or province of the registrant.

South Dakota
Webinar Key

The unique identifier for the webinar.

1234567890
Zip Code

The postal code of the registrant.

57104
Example Payload for Create Registrant
Loading…

Create User Subscription

Create a new user subscription as a webhook. | key: createUserSubscription

InputNotesExample
Connection
Event Name

The event to subscribe to.

Event Version

The schema version of the event payload to receive.

1.0.0
Webhook URL

The HTTPS URL that receives posted webhook events. The endpoint must return 200 OK for GET requests.

https://example.com/webhook
Example Payload for Create User Subscription
Loading…

Create Webinar

Creates a single session webinar, a sequence of webinars, or a series of webinars. | key: createWebinar

InputNotesExample
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

A summary of what the webinar covers.

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 language and region used for the webinar's display text.

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 Reminder Email

Whether or not to send a reminder email to the registrants.

Subject

The title displayed for 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.

[{"single_session_webinar_type_example":[{"startTime":"2020-03-13T10:00:00Z","endTime":"2020-03-13T11:00:00Z"}]},{"series_webinar_type_example":[{"startTime":"2020-03-13T10:00:00Z","endTime":"2020-03-13T11:00:00Z"},{"startTime":"2020-03-20T10:00:00Z","endTime":"2020-03-20T11:00:00Z"}]},{"sequence_webinar_type_example":[{"startTime":"2020-03-13T10:00:00Z","endTime":"2020-03-13T11:00:00Z"}]}]
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 scheduling format for the webinar. Select 'Single Session' for a one-time event, 'Series' for multiple related sessions, or 'Sequence' for an ordered set of sessions.

Example Payload for Create Webinar
Loading…

Delete Instanced Subscriptions

Delete all subscriptions that point to a flow in this instance. | key: deleteInstancedWebhooksAction

InputNotesExample
Connection
Example Payload for Delete Instanced Subscriptions
Loading…

Delete Registrant

Removes a webinar registrant from current registrations for the specified webinar. The webinar must be a scheduled, future webinar. | key: deleteRegistrant

InputNotesExample
Connection
Registrant Key

The unique identifier for the registrant.

1234567890
Webinar Key

The unique identifier for the webinar.

1234567890
Example Payload for Delete Registrant
Loading…

Delete User Subscriptions

Deletes one or more user subscriptions. | key: deleteUserSubscription

InputNotesExample
Connection
Delete Webhooks

When true, the affiliated webhook is deleted along with the user subscription. Note that deleting the webhook will also delete any other user subscriptions tied to the corresponding webhook key.

false
User Subscription Keys

The user subscription keys to act upon. Provide a JSON array of key strings.

[
  "subscription_id1",
  "subscription_id2"
]
Example Payload for Delete User Subscriptions
Loading…

Get Attendee

Retrieve registration details for a particular attendee of a specific webinar session. | key: getAttendee

InputNotesExample
Connection
Registrant Key

The unique identifier for the registrant.

1234567890
Session Key

The unique identifier for the webinar session.

1234567890
Webinar Key

The unique identifier for the webinar.

1234567890
Example Payload for Get Attendee
Loading…

Get Registrant

Retrieve registration details for a specific registrant. | key: getRegistrant

InputNotesExample
Connection
Registrant Key

The unique identifier for the registrant.

1234567890
Webinar Key

The unique identifier for the webinar.

1234567890
Example Payload for Get Registrant
Loading…

Get User Subscription

Retrieve a user subscription by User Subscription Key. | key: getUserSubscription

InputNotesExample
Connection
User Subscription Key

The unique identifier for the user subscription.

1234567890
Example Payload for Get User Subscription
Loading…

Get Webinars

Returns upcoming and past webinars for the currently authenticated organizer that are scheduled within the specified date/time range. | key: getWebinars

InputNotesExample
Account Key

The unique identifier for the account. When provided instead of the organizer key, the action retrieves webinars scoped to this account.

1234567890
Connection
Fetch All

When true, automatically fetches all pages of results using pagination. When false, only the first page is fetched.

false
From Time

The start of the date/time range to query, in ISO 8601 UTC format. Format: YYYY-MM-DDThh:mm:ssZ.

2020-03-13T10:00:00Z
Page Number

The zero-based index of the page to return. The first page is 0.

0
Page Size

The maximum number of results to return per page. The maximum value is 200.

200
To Time

The end of the date/time range to query, in ISO 8601 UTC format. Format: YYYY-MM-DDThh:mm:ssZ.

2020-03-13T10:00:00Z
Example Payload for Get Webinars
Loading…

List Attendees

Retrieve all attendees for all sessions of the specified webinar. | key: listAttendees

InputNotesExample
Connection
Fetch All

When true, automatically fetches all pages of results using pagination. When false, only the first page is fetched.

false
Webinar Key

The unique identifier for the webinar.

1234567890
Example Payload for List Attendees
Loading…

List Registrants

Retrieve registration details for all registrants of a specific webinar. | key: listRegistrants

InputNotesExample
Connection
Page Size

The maximum number of results to return per page. The maximum value is 200.

200
Page Number

The zero-based index of the page to return. The first page is 0.

0
Webinar Key

The unique identifier for the webinar.

1234567890
Example Payload for List Registrants
Loading…

List Session Attendees

Retrieve details for all attendees of a specific webinar session. | key: listSessionAttendees

InputNotesExample
Connection
Session Key

The unique identifier for the webinar session.

1234567890
Webinar Key

The unique identifier for the webinar.

1234567890
Example Payload for List Session Attendees
Loading…

List User Subscriptions

Retrieve a list of user subscriptions. | key: listUserSubscriptions

InputNotesExample
Connection
Example Payload for List User Subscriptions
Loading…

Raw Request

Send a raw HTTP request to GoTo Webinar. | key: rawRequest

InputNotesExample
Connection
Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
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

InputNotesExample
Webhook URL

The HTTPS URL that receives posted webhook events. The endpoint must return 200 OK for GET requests.

https://example.com/webhook
Connection
User Subscription Key

The unique identifier for the user subscription to update.

userSubscriptionKey1
User Subscription State

The status to apply to the user subscription.

ACTIVE
Webhook Key

The unique identifier for the webhook to update.

webhookKey1
Example Payload for Update User Subscription
Loading…

Update Webinar

Updates a specific webinar. | key: updateWebinar

InputNotesExample
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

A summary of what the webinar covers.

Learn how to create a webinar from scratch
Locale

The language and region used for the webinar's display text.

en_US
Notify Participants

Notify participants of the webinar.

false
Should Send Reminder Email

Whether or not to send a reminder email to the registrants.

Subject

The title displayed for the webinar.

How to Create a Webinar
Time Range for Webinar

The time range of the webinar.

[{"startTime":"2020-03-13T10:00:00Z","endTime":"2020-03-13T11:00:00Z"}]
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 unique identifier for the webinar.

1234567890
Example Payload for Update Webinar
Loading…

Changelog

2026-06-29

Various modernizations and documentation updates

2026-06-08

Added the New Registrants polling trigger, which checks a webinar for registrants added since the last run

2026-04-30

Updated spectral version

2026-04-07

Added global debug support across all actions for improved troubleshooting

2026-02-26

Added inline data source for registrants to enable dynamic dropdown selection

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