GoTo Webinar

App · Video Conferencing · 20 actions

Schedule GoTo webinars, register attendees and panelists, and read attendance, polls and questions back.

Actions

ActionWhat it does
Cancel a webinarCancel a webinar, optionally emailing its registrants.
Copy a webinarCreate a new webinar from an existing one, at a new date and time.
Create a webinarSchedule a new webinar and get back its registration key.
Get a registrantRead one registrant, including every field and custom answer they gave.
Get a webinarRead one webinar's details, including how many people have registered.
Get a webinar's start URLGet the link that starts a webinar as its organizer, to send to a presenter.
Get registration fieldsRead a webinar's registration form: its custom questions, their answer keys, and the standard fields it asks for.
Get webinar performanceRead attendance, poll and survey figures for every session of a webinar that has been run.
Invite panelistsInvite one or more panelists to a webinar and get back their join links.
List panelistsList a webinar's panelists and their join links.
List registrantsList everyone registered for a webinar.
List session attendeesList everyone who attended one past session.
List session pollsRead the poll answers collected during a past session.
List session questionsRead the questions attendees asked during a past session, and the answers they were given.
List webinar attendeesList everyone who attended any session of a webinar, with how long they stayed.
List webinar sessionsList the past sessions of a webinar, with their attendance counts and session keys.
List webinarsList the webinars scheduled between two dates, upcoming or past.
Register someone for a webinarRegister a person for a webinar and get back their personal join link.
Remove a registrantRemove someone's registration from a webinar that has not happened yet.
Update a webinarChange a scheduled webinar's title, description, times or language.

Cancel a webinar

Cancel a webinar, optionally emailing its registrants.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Email registrantssend_cancellation_emailstrue/false
Tell everyone registered that it is cancelled.Default: false.
Cancel every sessiondelete_alltrue/false
For a series, cancel all of its remaining sessions rather than just this one.Default: true.

Outputs

cancelledtrue/false
webinar_keytext
Example output
{
  "cancelled": true,
  "webinar_key": "9876543210987654321"
}

Copy a webinar

Create a new webinar from an existing one, at a new date and time.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
New titlesubjecttextRequired
The title of the copy.
Starts atstart_timedate and timeRequired
When the webinar starts.
Ends atend_timedate and timeRequired
When the webinar ends.
Descriptiondescriptiontext
A description for the copy.
Extra sessionsadditional_sessionslist
Extra dates for a series, each an object with 'start_time' and 'end_time'. Leave empty for a one-off webinar.
Time zonetime_zonetext
The time zone the webinar is held in, such as America/New_York. Leave blank to use the organizer's own time zone.
Webinar typewebinar_typetext
Whether this is a one-off webinar or a series. A series needs at least one extra session.One of: single_session (Single session — one date and time), series (Series — the same webinar on several dates). Default: single_session.
Languagelocaletext
The language of the registration and confirmation pages.One of: en_US (English (US)), de_DE (German), es_ES (Spanish), fr_FR (French), it_IT (Italian), zh_CN (Chinese (Simplified)).
Available on demandis_ondemandtrue/false
Let people watch the recording after the event.

Outputs

source_webinar_keytext
subjecttext
webinar_keytext
Example output
{
  "source_webinar_key": "9876543210987654321",
  "subject": "Product launch (repeat)",
  "webinar_key": "1111111111111111111"
}

Create a webinar

Schedule a new webinar and get back its registration key.

Inputs

TitlesubjecttextRequired
The webinar's title (up to 128 characters).
Starts atstart_timedate and timeRequired
When the webinar starts.
Ends atend_timedate and timeRequired
When the webinar ends.
Descriptiondescriptiontext
A short description (up to 2048 characters).
Time zonetime_zonetext
The time zone the webinar is held in, such as America/New_York. Leave blank to use the organizer's own time zone.
Webinar typewebinar_typetext
Whether this is a one-off webinar or a series. A series needs at least one extra session.One of: single_session (Single session — one date and time), series (Series — the same webinar on several dates). Default: single_session.
Extra sessionsadditional_sessionslist
Extra dates for a series, each an object with 'start_time' and 'end_time'. Leave empty for a one-off webinar.
Languagelocaletext
The language of the registration and confirmation pages.One of: en_US (English (US)), de_DE (German), es_ES (Spanish), fr_FR (French), it_IT (Italian), zh_CN (Chinese (Simplified)).
Experienceexperience_typetext
How attendees take part in the webinar.One of: CLASSIC (Classic — a standard webinar), BROADCAST (Broadcast — attendees watch in their browser), SIMULIVE (Simulive — play a recording as a live event). Default: CLASSIC.
Require a passwordis_password_protectedtrue/false
Ask attendees for a password before they join.
Available on demandis_ondemandtrue/false
Let people watch the recording after the event.
Send confirmation emailsconfirmation_emailtrue/false
Email each registrant a confirmation when they sign up.
Send reminder emailsreminder_emailtrue/false
Email registrants a reminder before the webinar starts.
Send follow-up to absenteesabsentee_followup_emailtrue/false
Email registrants who did not attend afterwards.

Outputs

recurrence_keytext
subjecttext
webinar_keytext
Example output
{
  "subject": "Product launch",
  "webinar_key": "9876543210987654321"
}

Get a registrant

Read one registrant, including every field and custom answer they gave.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Registrant keyregistrant_keytextRequired
The registrant to read. Use List registrants to find one.

Outputs

addresstext
citytext
countrytext
emailtext
employee_counttext
first_nametext
implementation_time_frametext
industrytext
job_titletext
join_urltext
last_nametext
number_of_employeestext
organizationtext
phonetext
purchasing_roletext
purchasing_time_frametext
questions_and_commentstext
registrant_keytext
registration_datetext
responseslist
sourcetext
statetext
statustext
time_zonetext
typetext
unsubscribedtrue/false
webinar_keytext
zip_codetext
Example output
{
  "email": "sam@example.com",
  "first_name": "Sam",
  "job_title": "Analyst",
  "join_url": "https://attendee.gotowebinar.com/join/1",
  "last_name": "Attendee",
  "organization": "Example Ltd",
  "registrant_key": "2222222222222222222",
  "registration_date": "2026-11-20T09:00:00Z",
  "responses": [
    {
      "answer": "A colleague",
      "question": "How did you hear about us?"
    }
  ],
  "status": "APPROVED",
  "time_zone": "America/New_York",
  "type": "REGULAR",
  "webinar_key": "9876543210987654321"
}

Get a webinar

Read one webinar's details, including how many people have registered.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.

Outputs

account_keytext
descriptiontext
experience_typetext
impromptutrue/false
in_sessiontrue/false
is_password_protectedtrue/false
localetext
number_of_registrantsnumber
organizer_emailtext
organizer_keytext
organizer_nametext
recurrence_periodtext
registration_limitnumber
registration_urltext
subjecttext
time_zonetext
timeslist
typetext
webinar_idtext
webinar_keytext
Example output
{
  "description": "A look at what is new.",
  "experience_type": "classic",
  "in_session": false,
  "is_password_protected": false,
  "locale": "en_US",
  "number_of_registrants": 12,
  "organizer_email": "organizer@example.com",
  "organizer_name": "Dana Organizer",
  "registration_limit": 500,
  "registration_url": "https://attendee.gotowebinar.com/register/1",
  "subject": "Product launch",
  "time_zone": "America/New_York",
  "times": [
    {
      "end_time": "2026-12-01T18:00:00Z",
      "start_time": "2026-12-01T17:00:00Z"
    }
  ],
  "type": "single_session",
  "webinar_id": "123456789",
  "webinar_key": "9876543210987654321"
}

Get a webinar's start URL

Get the link that starts a webinar as its organizer, to send to a presenter.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.

Outputs

start_urltext
webinar_keytext
Example output
{
  "start_url": "https://global.gotowebinar.com/mainstage/start/1",
  "webinar_key": "9876543210987654321"
}

Get registration fields

Read a webinar's registration form: its custom questions, their answer keys, and the standard fields it asks for.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.

Outputs

countnumber
fieldslist
questionslist
webinar_keytext
Example output
{
  "count": 2,
  "fields": [
    {
      "field": "organization",
      "max_size": 128,
      "required": false
    }
  ],
  "questions": [
    {
      "answers": [
        {
          "answer": "A colleague",
          "answer_key": "4444444444444444444"
        }
      ],
      "max_size": 1000,
      "question": "How did you hear about us?",
      "question_key": "3333333333333333333",
      "required": false,
      "type": "multipleChoice"
    }
  ],
  "webinar_key": "9876543210987654321"
}

Get webinar performance

Read attendance, poll and survey figures for every session of a webinar that has been run.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.

Outputs

countnumber
sessionslist
webinar_keytext
Example output
{
  "count": 1,
  "sessions": [
    {
      "attendance": {
        "average_attendance_time_seconds": 2100.0,
        "average_attentiveness": 81.0,
        "average_interest_rating": 72.0,
        "percentage_attendance": 58.3,
        "registrant_count": 12
      },
      "polls_and_surveys": {
        "percentage_polls_completed": 66.0,
        "percentage_surveys_completed": 40.0,
        "poll_count": 2,
        "questions_asked": 4,
        "survey_count": 1.0
      },
      "session_info": {
        "end_time": "2026-12-01T18:00:00Z",
        "experience_type": "CLASSIC",
        "recurrence_period": "single_session",
        "registration_email_opened_count": "8",
        "registration_link_clicked_count": "5",
        "session_key": "1234567890123456789",
        "start_time": "2026-12-01T17:00:00Z",
        "time_zone": "America/New_York",
        "webinar_id": "123456789",
        "webinar_name": "Product launch"
      },
      "session_key": "1234567890123456789"
    }
  ],
  "webinar_key": "9876543210987654321"
}

Invite panelists

Invite one or more panelists to a webinar and get back their join links.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
PanelistspanelistslistRequired
The people to invite. Each entry needs a 'name' and an 'email'.

Outputs

countnumber
panelistslist
webinar_keytext
Example output
{
  "count": 1,
  "panelists": [
    {
      "email": "ada@example.com",
      "join_link": "https://global.gotowebinar.com/join/1",
      "name": "Ada Panelist",
      "panelist_key": "6666666666666666666"
    }
  ],
  "webinar_key": "9876543210987654321"
}

List panelists

List a webinar's panelists and their join links.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.

Outputs

countnumber
panelistslist
webinar_keytext
Example output
{
  "count": 1,
  "panelists": [
    {
      "email": "ada@example.com",
      "join_link": "https://global.gotowebinar.com/join/1",
      "name": "Ada Panelist",
      "panelist_key": "6666666666666666666"
    }
  ],
  "webinar_key": "9876543210987654321"
}

List registrants

List everyone registered for a webinar.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Pagepagenumber
Which page of results to read. The first page is 0.From 0 to 10000.
Results per pagelimitnumber
How many results to read at once (up to 200).From 1 to 200.

Outputs

countnumber
limitnumber
pagenumber
page_sizenumber
registrantslist
totalnumber
webinar_keytext
Example output
{
  "count": 1,
  "limit": 20,
  "page": 0,
  "page_size": 1,
  "registrants": [
    {
      "email": "sam@example.com",
      "first_name": "Sam",
      "join_url": "https://attendee.gotowebinar.com/join/1",
      "last_name": "Attendee",
      "registrant_key": "2222222222222222222",
      "registration_date": "2026-11-20T09:00:00Z",
      "status": "APPROVED",
      "time_zone": "America/New_York"
    }
  ],
  "total": 1,
  "webinar_key": "9876543210987654321"
}

List session attendees

List everyone who attended one past session.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Session keysession_keytextRequired
A past session of that webinar. Sessions only exist once a webinar has been run: use List webinar sessions to find one.

Outputs

attendeeslist
countnumber
session_keytext
webinar_keytext
Example output
{
  "attendees": [
    {
      "attendance": [
        {
          "join_time": "2026-12-01T17:01:00Z",
          "leave_time": "2026-12-01T17:41:00Z"
        }
      ],
      "attendance_time_in_seconds": 2400,
      "email": "attendee@example.com",
      "first_name": "Sam",
      "last_name": "Attendee",
      "registrant_key": "2222222222222222222",
      "session_key": "1234567890123456789"
    }
  ],
  "count": 1,
  "session_key": "1234567890123456789",
  "webinar_key": "9876543210987654321"
}

List session polls

Read the poll answers collected during a past session.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Session keysession_keytextRequired
A past session of that webinar. Sessions only exist once a webinar has been run: use List webinar sessions to find one.

Outputs

countnumber
pollslist
session_keytext
webinar_keytext
Example output
{
  "count": 1,
  "polls": [
    {
      "number_of_responses": 6,
      "question": "How did you hear about us?",
      "responses": [
        {
          "percentage": 50.0,
          "text": "A colleague"
        },
        {
          "percentage": 50.0,
          "text": "Search"
        }
      ]
    }
  ],
  "session_key": "1234567890123456789",
  "webinar_key": "9876543210987654321"
}

List session questions

Read the questions attendees asked during a past session, and the answers they were given.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Session keysession_keytextRequired
A past session of that webinar. Sessions only exist once a webinar has been run: use List webinar sessions to find one.

Outputs

countnumber
questionslist
session_keytext
webinar_keytext
Example output
{
  "count": 1,
  "questions": [
    {
      "answers": [
        {
          "answer": "Yes, by email tomorrow.",
          "answer_time": "2026-12-01T17:23:00Z",
          "answered_by": "Dana Organizer",
          "answerer_email": "organizer@example.com",
          "answerer_role": "ORGANIZER"
        }
      ],
      "asked_by": "attendee@example.com",
      "asker_key": "5555555555555555555",
      "date_asked": "2026-12-01T17:22:00Z",
      "question": "Will the slides be shared?"
    }
  ],
  "session_key": "1234567890123456789",
  "webinar_key": "9876543210987654321"
}

List webinar attendees

List everyone who attended any session of a webinar, with how long they stayed.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Pagepagenumber
Which page of results to read. The first page is 0.From 0 to 10000.
Results per pagesizenumber
How many results to read at once (up to 200).From 1 to 200.

Outputs

attendeeslist
countnumber
pageobject
webinar_keytext
Example output
{
  "attendees": [
    {
      "attendance": [
        {
          "join_time": "2026-12-01T17:01:00Z",
          "leave_time": "2026-12-01T17:41:00Z"
        }
      ],
      "attendance_time_in_seconds": 2400,
      "email": "attendee@example.com",
      "first_name": "Sam",
      "last_name": "Attendee",
      "registrant_key": "2222222222222222222",
      "session_key": "1234567890123456789"
    }
  ],
  "count": 1,
  "page": {
    "number": 0,
    "size": 20,
    "total_elements": 1,
    "total_pages": 1
  },
  "webinar_key": "9876543210987654321"
}

List webinar sessions

List the past sessions of a webinar, with their attendance counts and session keys.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Pagepagenumber
Which page of results to read. The first page is 0.From 0 to 10000.
Results per pagesizenumber
How many results to read at once (up to 200).From 1 to 200.

Outputs

countnumber
pageobject
sessionslist
webinar_keytext
Example output
{
  "count": 1,
  "page": {
    "number": 0,
    "size": 20,
    "total_elements": 1,
    "total_pages": 1
  },
  "sessions": [
    {
      "end_time": "2026-12-01T18:00:00Z",
      "experience_type": "CLASSIC",
      "registrant_count": 12,
      "registrants_attended": 7,
      "session_key": "1234567890123456789",
      "start_time": "2026-12-01T17:00:00Z",
      "time_zone": "America/New_York",
      "total_poll_count": 2,
      "webinar_id": "123456789",
      "webinar_key": "9876543210987654321",
      "webinar_name": "Product launch"
    }
  ],
  "webinar_key": "9876543210987654321"
}

List webinars

List the webinars scheduled between two dates, upcoming or past.

Inputs

Fromfrom_timedate and timeRequired
The start of the date range to search.
Toto_timedate and timeRequired
The end of the date range to search.
Pagepagenumber
Which page of results to read. The first page is 0.From 0 to 10000.
Results per pagesizenumber
How many results to read at once (up to 200).From 1 to 200.

Outputs

countnumber
pageobject
webinarslist
Example output
{
  "count": 1,
  "page": {
    "number": 0,
    "size": 20,
    "total_elements": 1,
    "total_pages": 1
  },
  "webinars": [
    {
      "approval_type": "AUTOMATIC",
      "description": "A look at what is new.",
      "experience_type": "classic",
      "locale": "en_US",
      "recurrence_type": "single_session",
      "registration_url": "https://attendee.gotowebinar.com/register/1",
      "subject": "Product launch",
      "time_zone": "America/New_York",
      "times": [
        {
          "end_time": "2026-12-01T18:00:00Z",
          "start_time": "2026-12-01T17:00:00Z"
        }
      ],
      "webinar_id": "123456789",
      "webinar_key": "9876543210987654321"
    }
  ]
}

Register someone for a webinar

Register a person for a webinar and get back their personal join link.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
First namefirst_nametextRequired
The registrant's first name.
Last namelast_nametextRequired
The registrant's last name.
EmailemailtextRequired
The registrant's email address.
Resend confirmationresend_confirmationtrue/false
Email the confirmation again if this person is already registered.Default: false.
Organizationorganizationtext
The registrant's company or organisation.
Job titlejob_titletext
The registrant's job title.
Phonephonetext
The registrant's phone number.
Addressaddresstext
Street address.
Citycitytext
City.
Statestatetext
State or province (GoTo only validates US states).
Postal codezip_codetext
Postal or ZIP code.
Countrycountrytext
Country.
Industryindustrytext
The registrant's industry, as free text.
Number of employeesnumber_of_employeestext
How many people the registrant's organisation employs.
Purchasing time framepurchasing_time_frametext
When the registrant expects to buy, as free text.
Purchasing rolepurchasing_roletext
The registrant's role in a purchase, as free text.
Sourcesourcetext
Where the registration came from, for your own reporting.
Questions and commentsquestions_and_commentstext
Anything the registrant wants to ask in advance.
Answers to custom questionsresponseslist
Answers to the webinar's own registration questions. Each entry needs a 'question_key' and either an 'answer_key' (multiple choice) or a 'response_text'. Get both keys from Get registration fields.

Outputs

emailtext
join_urltext
registrant_keytext
webinar_keytext
Example output
{
  "email": "sam@example.com",
  "join_url": "https://attendee.gotowebinar.com/join/1",
  "registrant_key": "2222222222222222222",
  "webinar_key": "9876543210987654321"
}

Remove a registrant

Remove someone's registration from a webinar that has not happened yet.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Registrant keyregistrant_keytextRequired
The registration to remove.

Outputs

deletedtrue/false
registrant_keytext
webinar_keytext
Example output
{
  "deleted": true,
  "registrant_key": "2222222222222222222",
  "webinar_key": "9876543210987654321"
}

Update a webinar

Change a scheduled webinar's title, description, times or language.

Inputs

Webinarwebinar_keytextRequired
The webinar to act on. Pick one, or paste a webinar key copied from its GoTo Webinar URL.
Titlesubjecttext
A new title. Leave blank to keep the current one.
Descriptiondescriptiontext
A new description.
Starts atstart_timedate and time
When the webinar starts.
Ends atend_timedate and time
When the webinar ends.
Extra sessionsadditional_sessionslist
Extra dates for a series, each an object with 'start_time' and 'end_time'. Leave empty for a one-off webinar.
Time zonetime_zonetext
The time zone the webinar is held in, such as America/New_York. Leave blank to use the organizer's own time zone.
Languagelocaletext
The language of the registration and confirmation pages.One of: en_US (English (US)), de_DE (German), es_ES (Spanish), fr_FR (French), it_IT (Italian), zh_CN (Chinese (Simplified)).
Notify participantsnotify_participantstrue/false
Email everyone registered about the change.
Send confirmation emailsconfirmation_emailtrue/false
Email each registrant a confirmation when they sign up.
Send reminder emailsreminder_emailtrue/false
Email registrants a reminder before the webinar starts.
Send follow-up to absenteesabsentee_followup_emailtrue/false
Email registrants who did not attend afterwards.

Outputs

updatedtrue/false
webinar_keytext
Example output
{
  "updated": true,
  "webinar_key": "9876543210987654321"
}

On this page