TIBCO Scribe® Online Connector For GoToWebinar
The TIBCO Scribe® Online Connector for GoToWebinar allows you to query data, such as Attendee, Registrant, Session, or Webinar information and allows you to create or delete Webinars and associated Registrants in GoToWebinar, along with the ability to configure customized HTTP requests to your GoToWebinar instance.
Connector Specifications
This Connector supports GoToWebinar API version 2.0.
Supported | |
---|---|
Agent Types |
|
On Premise | X |
Cloud | X |
Replication Services |
|
Source | |
Target | |
Integration Services |
|
Source | X |
Target | X |
Migration Services |
|
Source | |
Target | |
Maps |
|
Integration | X |
Request-Reply | |
Message |
Note: This Connector is available from the TIBCO Scribe® Online Marketplace. See Marketplace TIBCO Scribe® Certified Connectors for more information.
Supported Entities
The GoToWebinar Connector supports the following entities. Select a linked entity name for additional information when using that entity in TIBCO Scribe® Online.
Entity | Query | Create | Update | Delete | Upsert |
---|---|---|---|---|---|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
X |
|
X |
|
|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
|
|
|
|
|
X |
X |
X |
X |
|
Special Operation
Entity | Operations |
---|---|
Request |
Setup Considerations
To use the GoToWebinar Connector, you need a GoToWebinar organizer account. For more information, see the GoToWebinar product website.
OAuth Token Expiration
OAuth tokens associated with GoToWebinar OAuth Connections expire over time. The OAuth token associated with a Connection is validated each time a Solution using the Connection is executed. If the token has expired, a new OAuth token is generated and then the Solution executes. In rare cases, one Solution could successfully validate the OAuth token and before that Solution completes, the token expires. A second Solution using the same Connection would generate a new token for the Connection, causing the first Solution to fail with a 403 Forbidden error indicating that the token is no longer valid. In this scenario, the failed Solution must be executed again. On the second execution, the new token is used and the Solution executes successfully.
If you are consistently seeing errors, you may need to generate a new OAuth token manually by opening the GoToWebinar Connection dialog in TIBCO Scribe® Online and re-authenticating using the Authenticate button. Selecting the Test button is not necessary, just select OK to save and close the Connection dialog.
Note: If the Test button is used, a 403 Forbidden error may display when you select OK on the Connection dialog. Disregard the error by selecting Cancel. The new OAuth token should have been generated by the re-authentication process.
If the new OAuth token was not successfully generated, you may see additional 403 Forbidden errors when attempting to use the Connection. If this occurs, configure a new GoToWebinar Connection and assign that new Connection to any Maps that require access to GoToWebinar.
Selecting An Agent Type For GoToWebinar
Refer to TIBCO Scribe® Online Agents for information on available Agent types and how to select the best Agent for your Solution.
Connecting To GoToWebinar
Note: Best practice is to create Connections with credentials that limit permissions in the target system, following the principle of least privilege. Using Administrator level credentials in a Connection provides Administrator level access to the target system for TIBCO Scribe® Online users. Depending on the entities supported, a TIBCO Scribe® Online user could alter user accounts in the target system.
- Select More > Connections from the menu.
- From the Connections page select Add
to open the Add a New Connection dialog.
- Select the Connector from
the drop-down list in the Connection Type field, and then enter the following information for this Connection:
- Name — This can be any meaningful name, up to 25 characters.
- Alias — An alias for this Connection name. The alias is generated from the Connection name, and can be up to 25 characters. The Connection alias can include letters, numbers, and underscores. Spaces and special characters are not accepted. You can change the alias. For more information, see Connection Alias.
- Select Authenticate to open the GoToWebinar secure login page.
- Enter your GoToWebinar login information and click Continue. Follow any instructions to allow the GoToWebinar Connector to access your GoToWebinar account.
- When you are done, the following message displays:
- Select Close .
Tip: Do not test the Connection until the message at the top of the Connection dialog reads Authentication complete. Note that it may take a few minutes for this message to display.
- Select Test to ensure that the Agent can connect to GoToWebinar. Be sure to test the Connection against all Agents that use this Connection. See Testing Connections.
- Select OK/Save to save the Connection.
Retry Logic
Note: The GoToWebinar Connector governs its throughput to help avoid rate limiting errors when accessing the GoToWebinar API. This may result in poor performance when the Connector is used during periods of high API traffic.
The Connector waits a second after every call, regardless of success or failure. If the call has a rate limit failure, the Connector waits up to an additional five seconds before retrying. With each successive rate limit failure, the wait time is increased up to an additional 20 seconds. Only after 15 successive rate limit failures will the connector return an error and fail the row.
GoToWebinar Connector As IS Source
Consider the following when using the GoToWebinar Connector as an IS source.
- Relationships are not supported.
- Query — Using Preview when configuring a Query occasionally causes timeout errors to be returned. However, at run time, the Query is processed correctly.
GoToWebinar Connector As IS Target
Consider the following when using the GoToWebinar Connector as an IS target.
- Batch Processing is not supported.
Notes On Standard Entities
Attendee
- Returns webinar session attendees.
- Each attendee is returned as a unique record.
- An attendee who signs out and back into a webinar is returned as two separate attendee records.
AttendeePollAnswer
- Returns webinar session attendees along with any poll questions answered by that attendee .
- Each answered poll question is returned as a unique record.
- Only answered poll questions are returned.
AttendeeQuestion
- Returns webinar session attendees along with any questions asked by that attendee.
- Every asked question is returned as a unique record regardless of whether or not an answer is provided .
AttendeeRollup
- Returns webinar session attendees along with any questions asked, poll questions answered, and survey questions answered by that attendee.
- Each attendee is returned as a unique record with all of their questions and answers rolled up into three fields:
- All questions and answers.
- All poll questions and answers.
- All survey questions and answers.
AttendeeSurveyAnswer
- Returns webinar session attendees along with any survey questions each attendee answered.
- Each answered survey question is returned as a unique record.
- Only answered survey questions are returned.
Registrant
Query
- Returns upcoming webinar registrants.
- Each registrant is returned as a unique record.
Create
In GoToWebinar, a Registrant is a person who has registered for an upcoming Webinar. The GoToWebinar Connector allows you to add records in the Registrant entity from a source using the Create operation.
Note: You cannot create Registrants in a past webinar.
The following fields are required to create a Registrant:
- RegistrantEmail
- RegistrantFirstName
- RegistrantLastName
- RegistrantWebinarKey — The set of numbers at the tail end of the Registration URL. The WebinarKey is generated by GoToWebinar when the Webinar is created. For example, in the Webinar below, this key is “2098781127144555264”:
Note: Use the GoToWebinar Connector to access Registrants by running the Solution before the webinar occurs. After a webinar is finished, the Registrant data becomes Attendee data.
Delete
- RegistrantKey and RegistrantWebinarKey fields are required for the Match Criteria.
- No other fields can be included in Match Criteria or errors are generated.
Session
- Returns webinar sessions.
- Each session is returned as a unique record.
SessionPerformance
- Returns webinar sessions and performance numbers.
- Each session is returned as a unique record with all of its performance numbers.
SessionPoll
- Returns webinar sessions along with poll question and answer statistics for that session.
- Each question/possible-answer pair is returned as a unique record.
SessionSurvey
- Returns webinar sessions along with survey question and answer statistics for that session.
- Each question/possible-answer pair is returned as a unique record.
UpcomingWebinar
- Returns webinars that have not started.
- Each upcoming webinar is returned as a unique record.
Webinar
Query
- Returns past webinars.
- Each webinar is returned as a unique record.
Create
A Webinar record can be one of three types, single_session, sequence, or series. The series type is not supported by this Connector. There is no specific field for Webinar type, instead GoToWebinar determines the type based on the fields that are configured in the Webinar record. To set the Webinar type, map the following fields in the Fields tab of the Create Block:
- single_session — One session of a webinar. To create this type of Webinar record, the following fields must be mapped:
- WebinarStartTime — First date for the Webinar
- WebinarEndTime — Last date for the Webinar
- WebinarSubject — User-specified subject line for the Webinar.
- WebinarDescription — Webinar description field.
- sequence — A webinar with multiple meeting times where attendees are expected to be the same for all sessions.
Only sequence type webinars where multiple sessions are associated with one webinar are supported. For this type, participants register once to attend all sessions. To create this type of Webinar record, the following fields must be mapped:
- WebinarStartTime — First date for the Webinar
- WebinarEndTime — Last date for the Webinar
- WebinarSubject — User-specified subject line for the Webinar.
- WebinarDescription — Webinar description field.
- WebinarRecurrencePattern — Values supported include: daily, weekly, or monthly.
- WebinarRecurrenceEnd — Last date of the sequence.
The sequence of sessions starts on the WebinarStartTime and repeats, following the Recurrence Pattern, until the Recurrence End date is reached.
Note: When a Webinar is created, GoToWebinar generates a WebinarKey. That key is required when adding Registrants to the Webinar.
Delete
- WebinarKey field is required for the Match Criteria.
- Deleting a webinar using the GoToWebinar Connector does not generate and send cancellation emails to Registrants. Delete the webinar using the GoToWebinar User Interface to ensure that cancellation emails are sent.
- Only future or upcoming webinars can be deleted. To delete a webinar, query the UpcomingWebinar entity and then configure a Delete Block for the webinar entity that uses the associated WebinarKey from the results of the query as Match Criteria.
Update
- Requires the same fields as the Create operation.
- Update replaces the entire Webinar record except the WebinarKey field. Be sure to map all fields. Existing data in fields that are not mapped is replaced with a blank or null value.
- WebinarKey field is required for the Match Criteria.
- Only future or upcoming webinars can be updated. To update a webinar, query the UpcomingWebinar entity and then configure an Update Block for the webinar entity that uses the associated WebinarKey from the results of the query as Match Criteria.
- To send email from GoToWebinar to Webinar Registrants with the updated webinar information, set the NotifyParticipants field to true.
Note: Updating sequence type webinars is not supported by the Connector. Attempting to update a sequence type webinar causes associated sessions to be lost and the webinar to become a single session webinar. Use the GoToWebinar application to update sequence type webinars.
Send Operation
-
The Send operation is used to make API calls to the GoToWebinar API. It can be used to support custom calls to the GoToWebinar REST API to perform tasks such as:
- View historical and future webinars, registrants, and attendees
- Accept and manage registrations
- Schedule webinars of one or more sessions
- Tailor your webinars with panelists, polls, questions, and surveys
- Send supports the Request entity used to build the HTTP calls to v1 and v2 APIs.
- Send works in conjunction with the Add Block to include Headers or Query parameters.
- The Send and Add operations support the use of the following variables or tokens to replace values that are needed frequently while making the REST API calls.
Name Example Value [accountKey] 5525854486942355606 [organizerKey]
8937676362547381307
[endpointUrl]
https://api.getgo.com
[authToken] eyJraWiQO......QA84wlf - accountKey — The Connector derives the value of the [accountKey] from the GoToWebinar Organization associated with the Connection configuration. This is the Key of your GoToWebinar Account. [accountKey] is used wherever the accountKey is specified as a parameter in the GoToWebinar API documentation.
- organizerKey — The Connector derives the value of the [organizerKey] from the GoToWebinar Organization associated with the Connection configuration. This is the Key of your GoToWebinar Organization. [organizerKey] is used wherever the organizerKey is specified as a parameter in the GoToWebinar API documentation.
- endpointUrl — The Connector derives the value of the [endpointUrl] from the GoToWebinar Organization associated with the Connection configuration. This is the Custom Domain URL for your GoToWebinar organization. Use the [endpointUrl] to construct the Uri for the HTTP request. Note that the value of the variable includes https://. The value of endpointUrl is https://api.getgo.com as shown in the above table.
Note: You can provide path parameters such as [accountKey], [organizerKey], and [endpointUrl] in the Uri field of the Request Entity as well as in the Request.QueryParameters.
- authToken — The Connector derives the value of the [authToken] variable from the authentication token configured in the Connection. This token is used to perform the POST, GET, and any other HTTPVerb calls using the Request entity.
Note:
The [authToken] must be provided in the Request Header for any HTTP request.
If the Authorization Token is provided explicitly, instead of using the [authToken] variable, and the token is refreshed, an error similar to the following is generated:
Operation failed. Label: Send Request, Name: RequestSend, Message: Forbidden: Error in calling Operation Send Http call failed with StatusCode 403 - Forbidden. Response Body: Bad_OAuth_Token.
- organizerKey — The Connector derives the value of the [organizerKey] from the GoToWebinar Organization associated with the Connection configuration. This is the Key of your GoToWebinar Organization. [organizerKey] is used wherever the organizerKey is specified as a parameter in the GoToWebinar API documentation.
- accountKey — The Connector derives the value of the [accountKey] from the GoToWebinar Organization associated with the Connection configuration. This is the Key of your GoToWebinar Account. [accountKey] is used wherever the accountKey is specified as a parameter in the GoToWebinar API documentation.
- The Send block, the Add block, and the Request entity are based on the functionality in the HTTP Connector. For more details see theHTTP Connector help.
TIBCO Scribe® Online API Considerations
Note: Connectors using OAuth for authentication are not fully supported by the TIBCO Scribe® Online API at this time.
License Agreement
The TIBCO Scribe® Online End User License Agreement for the GoToWebinar Connector describes TIBCO and your legal obligations and requirements. TIBCO suggests that you read the End User License Agreement.
More Information
For additional information on this Connector, refer to the Knowledge Base and Discussions in the TIBCO Community.