GoToWebinar
Manage webinars, registrants, attendees, sessions, panelists, and co-organizers in GoToWebinar.
Overview
GoToWebinar integration that supports managing webinars (create, get, update, list), registrants (create, delete, get, list), attendees (get, list, get details), co-organizers (create, delete, list, reinvite), panelists (create, delete, list, reinvite), and sessions (get, list, get details) via the GoToWebinar REST API v2.
Category: Communication
Tool Name: go_to_webinar
Version: 1
Appearance: Icon: lucide-Video | Color: #F57C20
Node Type
Action — processes input items and produces output
| Direction | Port(s) |
|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires GoToWebinar OAuth2 credentials.
See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|
| Attendee | attendee |
| Co-Organizer | coorganizer |
| Panelist | panelist |
| Registrant | registrant |
| Session | session |
| Webinar | webinar |
Operations
| Operation | Value | Description |
|---|
| Get | get | Get one attendee of a session (Attendee resource) |
| Get Many | getAll | List the attendees of a session (Attendee resource) |
| Get Details | getDetails | Get an attendee’s polls, questions or survey answers (Attendee resource) |
| Create | create | Add a co-organizer to a webinar (Co-Organizer resource) |
| Delete | delete | Remove a co-organizer from a webinar (Co-Organizer resource) |
| Get Many | getAll | List a webinar’s co-organizers (Co-Organizer resource) |
| Reinvite | reinvite | Resend the invitation to a co-organizer (Co-Organizer resource) |
| Create | create | Add a panelist to a webinar (Panelist resource) |
| Delete | delete | Remove a panelist from a webinar (Panelist resource) |
| Get Many | getAll | List a webinar’s panelists (Panelist resource) |
| Reinvite | reinvite | Resend the invitation to a panelist (Panelist resource) |
| Create | create | Register someone for a webinar (Registrant resource) |
| Delete | delete | Remove a registrant from a webinar (Registrant resource) |
| Get | get | Get one registrant (Registrant resource) |
| Get Many | getAll | List a webinar’s registrants (Registrant resource) |
| Get | get | Get one session (Session resource) |
| Get Many | getAll | List sessions across a date range (Session resource) |
| Get Details | getDetails | Get a session’s performance, polls, questions or surveys (Session resource) |
| Create | create | Create a webinar (Webinar resource) |
| Delete | delete | Cancel a webinar (Webinar resource) |
| Get | get | Get one webinar (Webinar resource) |
| Get Many | getAll | List webinars across a date range (Webinar resource) |
| Update | update | Update a webinar (Webinar resource) |
Parameters
Attendee: Get
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Find in GoToWebinar dashboard or via the webinar:getAll operation. Supports expressions like {{ $json.webinarKey }}. |
| Session Key | string | Yes | — | Key of the webinar session. Find via session:getAll operation. Supports expressions. |
| Registrant Key | string | Yes | — | Registrant key of the attendee at the webinar session. Supports expressions. |
Attendee: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Find in GoToWebinar dashboard or via the webinar:getAll operation. Supports expressions. |
| Session Key | string | Yes | — | Key of the webinar session. Find via session:getAll operation. Supports expressions. |
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. (shown when Return All is false) |
Attendee: Get Details
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Session Key | string | Yes | — | Key of the webinar session. Supports expressions. |
| Registrant Key | string | Yes | — | Registrant key of the attendee at the webinar session. Supports expressions. |
| Details | options | Yes | polls | The details to retrieve for the attendee. |
| | | | Options: polls, questions, surveyAnswers |
Co-Organizer: Create
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Is External | boolean | Yes | false | Whether the co-organizer has no GoToWebinar account. |
Organizer Key (coorgOrganizerKey) | string | No | — | The co-organizer’s organizer key for the webinar (internal co-organizer). (shown when Is External is false) |
| Given Name | string | No | — | The co-organizer’s given name (external co-organizer). (shown when Is External is true) |
| Email | string | No | — | The co-organizer’s email address (external co-organizer). (shown when Is External is true) |
Co-Organizer: Delete
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Is External | boolean | Yes | false | Whether the co-organizer has no GoToWebinar account. |
Co-Organizer Key (coorganizerKey) | string | No | — | Key of the co-organizer. Supports expressions. |
Co-Organizer: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. (shown when Return All is false) |
Co-Organizer: Reinvite
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Is External | boolean | Yes | false | Whether the co-organizer has no GoToWebinar account. |
Co-Organizer Key (coorganizerKey) | string | No | — | Key of the co-organizer. Supports expressions. |
Panelist: Create
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar for the panelist. Supports expressions. |
| Name | string | Yes | — | Name of the panelist to create. Supports expressions. |
| Email | string | Yes | — | Email address of the panelist to create. Supports expressions. |
Panelist: Delete
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar for the panelist. Supports expressions. |
| Panelist Key | string | Yes | — | Key of the panelist. Supports expressions. |
Panelist: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar for the panelist. Supports expressions. |
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. (shown when Return All is false) |
Panelist: Reinvite
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar for the panelist. Supports expressions. |
| Panelist Key | string | Yes | — | Key of the panelist. Supports expressions. |
Registrant: Create
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| First Name | string | No | — | First name of the registrant to create. Supports expressions. |
| Last Name | string | No | — | Last name of the registrant to create. Supports expressions. |
| Email | string | No | — | Email address of the registrant to create. Supports expressions. |
| Additional Fields | collection | No | {} | Optional registration details. Add only the ones you need. |
| — Address | string | No | — | Street address of the registrant. |
| — City | string | No | — | City of the registrant. |
| — State | string | No | — | State or region of the registrant. |
— Zip Code (zipCode) | string | No | — | Postal code of the registrant. |
| — Country | string | No | — | Country of the registrant. |
| — Industry | string | No | — | The type of industry the registrant’s organization belongs to. |
— Job Title (jobTitle) | string | No | — | Job title of the registrant. |
— Number of Employees (numberOfEmployees) | string | No | — | The size in employees of the registrant’s organization. |
| — Organization | string | No | — | The registrant’s organization. |
— Telephone (phone) | string | No | — | Telephone number of the registrant. |
— Purchasing Role (purchasingRole) | string | No | — | Registrant’s role in purchasing the product. |
— Purchasing Time Frame (purchasingTimeFrame) | string | No | — | Time frame within which the product will be purchased. |
— Questions and Comments (questionsAndComments) | string | No | — | Questions or comments made by the registrant during registration. |
— Resend Confirmation (resendConfirmation) | boolean | No | false | Whether to resend the confirmation email. |
— Simple Responses (JSON) (simpleResponses) | json | No | [] | Array of objects with questionKey and responseText fields. Example: [{“questionKey”:“q1”,“responseText”:“My answer”}] |
— Multi-Choice Responses (JSON) (multiChoiceResponses) | json | No | [] | Array of objects with questionKey and answerKey fields. Example: [{“questionKey”:“q1”,“answerKey”:“a1”}] |
| — Source | string | No | — | The source that led to the registration. |
Registrant: Get
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Registrant Key | string | Yes | — | Key of the registrant. Supports expressions. |
Registrant: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. (shown when Return All is false) |
Registrant: Delete
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Registrant Key | string | Yes | — | Key of the registrant. Supports expressions. |
Session: Get
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar to which the session belongs. Supports expressions. |
| Session Key | string | Yes | — | Key of the session. Supports expressions. |
Session: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. (shown when Return All is false) |
| Additional Fields | collection | No | {} | Optional date-range and webinar filters. |
— From Time (fromTime) | string | No | — | Start of the datetime range (ISO 8601). If empty, defaults to one year ago. |
— To Time (toTime) | string | No | — | End of the datetime range (ISO 8601). If empty, defaults to now. |
— Webinar Key (webinarKey) | string | No | — | Webinar key to filter sessions. If empty, returns sessions for all webinars. |
Session: Get Details
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar to which the session belongs. Supports expressions. |
| Session Key | string | Yes | — | Key of the session. Supports expressions. |
| Details | options | No | performance | The details to retrieve for the session. |
| | | | Options: performance, polls, questions, surveys |
Webinar: Create
| Parameter | Type | Required | Default | Description |
|---|
| Subject | string | Yes | — | Name or topic of the webinar. Supports expressions. |
Times (JSON) (times) | json | Yes | [{"startTime":"2025-01-01T09:00:00Z","endTime":"2025-01-01T10:00:00Z"}] | Array of time objects with startTime and endTime in ISO 8601 format. Example: [{“startTime”:“2025-06-01T14:00:00Z”,“endTime”:“2025-06-01T15:00:00Z”}] |
| Additional Fields | collection | No | {} | Optional webinar settings. Add only the ones you need. |
| — Description | string | No | — | Description shown on the registration page. |
— Experience Type (experienceType) | options | No | CLASSIC | The webinar experience to run. |
| | | | Options: CLASSIC, BROADCAST, SIMULIVE |
— Is On-Demand (isOnDemand) | boolean | No | false | Whether the webinar may be watched anytime. |
— Is Password Protected (isPasswordProtected) | boolean | No | false | Whether the webinar requires a password for attendees to join. |
| — Timezone | string | No | — | IANA timezone identifier (e.g. “America/New_York”, “Europe/London”). |
— Webinar Type (type) | options | No | single_session | How many times the webinar runs. |
| | | | Options: single_session, series, sequence |
Webinar: Get
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
Webinar: Get Many
| Parameter | Type | Required | Default | Description |
|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 10 | Max number of results to return. (shown when Return All is false) |
| Additional Fields | collection | No | {} | Optional date-range filter. |
— From Time (fromTime) | string | No | — | Start of the datetime range (ISO 8601). If empty, defaults to one year ago. |
— To Time (toTime) | string | No | — | End of the datetime range (ISO 8601). If empty, defaults to now. |
Webinar: Update
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
Notify Participants (notifyParticipants) | boolean | Yes | false | Whether to notify participants about the update. |
| Update Fields | collection | No | {} | Fields to change on the webinar. Add only the ones you need. |
| — Description | string | No | — | Description shown on the registration page. |
— Experience Type (experienceType) | options | No | CLASSIC | The webinar experience to run. |
| | | | Options: CLASSIC, BROADCAST, SIMULIVE |
— Is On-Demand (isOnDemand) | boolean | No | false | Whether the webinar may be watched anytime. |
— Is Password Protected (isPasswordProtected) | boolean | No | false | Whether the webinar requires a password for attendees to join. |
| — Subject | string | No | — | Name or topic of the webinar. |
— Times (JSON) (times) | json | No | [] | Array of time objects with startTime and endTime in ISO 8601 format. |
| — Timezone | string | No | — | IANA timezone identifier. |
— Webinar Type (type) | options | No | single_session | How many times the webinar runs. |
| | | | Options: single_session, series, sequence |
Webinar: Delete
| Parameter | Type | Required | Default | Description |
|---|
| Webinar Key | string | Yes | — | Key of the webinar. Supports expressions. |
| Additional Fields | collection | No | {} | Optional cancellation settings. |
— Send Cancellation Emails (sendCancellationEmails) | boolean | No | false | Whether to send cancellation emails to registrants. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|
GoToWebinar Account (credentialId) | credential | No | — | Connect your GoToWebinar account via OAuth2. |
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
The GoToWebinar response is merged into the incoming item JSON at the top level, so the fields you sent in pass through and binary data is forwarded.
| Operation | Output items |
|---|
attendee / getAll, coorganizer / getAll, panelist / getAll, registrant / getAll, session / getAll, webinar / getAll | Fans out — one output item per record. Return All pages through the whole result set; otherwise up to Limit records. |
attendee / get, getDetails | One item — the attendee record, or the polls, questions or survey answers you asked for. A details call that returns a list fans out one item per entry. |
session / get, getDetails | One item — the session record or the requested detail set, fanning out when the API returns a list. |
registrant / create, get | One item — the registrant record, including the registration key and join URL GoToWebinar assigns. |
webinar / create, get | One item — the webinar record, including the webinar key GoToWebinar assigns. |
coorganizer / create, panelist / create | One item — the created record. |
coorganizer / delete, reinvite, panelist / delete, reinvite, registrant / delete, webinar / delete, update | One item carrying success: true — these calls return no body. |
Usage Examples
- List all upcoming webinars
- Create a new webinar with a specific subject and time
- Get all registrants for a webinar
- Add a panelist to a webinar
- Get session performance details
Example Configuration
Create a webinar:
{
"type": "go_to_webinar",
"parameters": {
"resource": "webinar",
"operation": "create",
"subject": "Monthly Product Update",
"times": "[{\"startTime\":\"2024-06-01T14:00:00Z\",\"endTime\":\"2024-06-01T15:00:00Z\"}]",
"additionalFields": {
"description": "Learn about our latest features",
"experienceType": "CLASSIC",
"isOnDemand": false,
"timezone": "America/New_York",
"type": "single_session"
}
}
}
Register someone for a webinar:
{
"type": "go_to_webinar",
"parameters": {
"resource": "registrant",
"operation": "create",
"webinarKey": "{{ $json.webinarKey }}",
"firstName": "Alice",
"lastName": "Johnson",
"email": "alice@example.com",
"additionalFields": {
"organization": "Tech Corp",
"jobTitle": "Developer",
"phone": "555-1234",
"industry": "Technology"
}
}
}
List the attendees of a session:
{
"type": "go_to_webinar",
"parameters": {
"resource": "attendee",
"operation": "getAll",
"webinarKey": "123456789",
"sessionKey": "987654321",
"returnAll": false,
"limit": 50
}
}
Get an attendee’s poll answers:
{
"type": "go_to_webinar",
"parameters": {
"resource": "attendee",
"operation": "getDetails",
"webinarKey": "123456789",
"sessionKey": "987654321",
"registrantKey": "reg123",
"details": "polls"
}
}
Add an external co-organizer:
{
"type": "go_to_webinar",
"parameters": {
"resource": "coorganizer",
"operation": "create",
"webinarKey": "123456789",
"isExternal": true,
"givenName": "John",
"email": "john@example.com"
}
}
Add a panelist:
{
"type": "go_to_webinar",
"parameters": {
"resource": "panelist",
"operation": "create",
"webinarKey": "123456789",
"name": "Jane Smith",
"email": "jane@example.com"
}
}
List sessions in a date range:
{
"type": "go_to_webinar",
"parameters": {
"resource": "session",
"operation": "getAll",
"returnAll": true,
"additionalFields": {
"fromTime": "2024-01-01T00:00:00Z",
"toTime": "2024-12-31T23:59:59Z",
"webinarKey": "123456789"
}
}
}
Error Handling
| Mode | Behavior |
|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Manage webinars, registrants, attendees, sessions, panelists, and co-organizers in GoToWebinar.
Notes
- Everything hangs off a webinar key. Get it from Webinar: Get Many, or from the record a Webinar: Create returns, then feed it into the registrant, panelist, co-organizer, session and attendee operations.
- Attendees are per session, not per webinar. You need both a Webinar Key and a Session Key; list sessions first with Session: Get Many.
- Co-organizers split on Is External. Internal ones are identified by an Organizer Key from your GoToWebinar account; external ones need a Given Name and Email instead.
- Times is a JSON array, not a single date. Even a one-off webinar takes one
{ "startTime": …, "endTime": … } entry, and a series or sequence takes one per occurrence.
- Date ranges default when left empty. From Time falls back to one year ago and To Time to now, so an unfiltered list covers the last twelve months.