Integrate GoToWebinar with Cloud Firestore

Appy Pie Connect allows you to automate multiple workflows between GoToWebinar and Cloud Firestore

  • No credit card required
  • 7 days free trial
  • Lightning Fast Setup
Heart

20 Million work hours saved

Award Winning App Integration Platform

About GoToWebinar

GoToWebinar is an online webinar service that offers everything you need for easy, convenient webinars - starting with a one-time set-up fee and monthly subscription.

About Cloud Firestore

Cloud Firestore is a cloud-hosted, NoSQL database that your iOS, Android, and web apps can access directly via native SDKs.

Want to explore GoToWebinar + Cloud Firestore quick connects for faster integration? Here’s our list of the best GoToWebinar + Cloud Firestore quick connects.

Explore quick connects

Looking for the Cloud Firestore Alternatives? Here is the list of top Cloud Firestore Alternatives

  • Caspio Cloud Database Integration Caspio Cloud Database
  • DigitalOcean Integration DigitalOcean
  • MySQL Integration MySQL
  • RethinkDB Integration RethinkDB
  • PostgreSQL Integration PostgreSQL
  • MongoDB Integration MongoDB
Connect GoToWebinar + Cloud Firestore in easier way

It's easy to connect GoToWebinar + Cloud Firestore without coding knowledge. Start creating your own business flow.

  • Triggers
  • New Attendee

    Triggers when a registrant completes a webinar. At that point, they are considered an attendee.

  • New Registrant

    Triggers when a new registrant is added to a webinar.

  • New Registrant Instant

    Trigger when new registrant created.

  • New Upcoming Webinar

    Triggers when you add a new upcoming webinar.

  • New Document Within a Firestore Collection

    New Document Within a Firestore Collection

  • Actions
  • Create Registrant

    Create a new registrant for a webinar.

  • Create Webinar

    Create and schedule a new, single-session webinar.

  • Remove Registrant

    Removes a registrant from a webinar.

  • Create Cloud Firestore Document

    Creates a new document within a Cloud Firestore collection.

How GoToWebinar & Cloud Firestore Integrations Work

  1. Step 1: Choose GoToWebinar as a trigger app and authenticate it on Appy Pie Connect.

    (30 seconds)

  2. Step 2: Select "Trigger" from the Triggers List.

    (10 seconds)

  3. Step 3: Pick Cloud Firestore as an action app and authenticate.

    (30 seconds)

  4. Step 4: Select a resulting action from the Action List.

    (10 seconds)

  5. Step 5: Select the data you want to send from GoToWebinar to Cloud Firestore.

    (2 minutes)

  6. Your Connect is ready! It's time to start enjoying the benefits of workflow automation.

Integration of GoToWebinar and Cloud Firestore

This article will discuss the integration of GoToWebinar and Cloud Firestore. Before this discussion, first we should have a brief introduction about GoToWebinar and Cloud Firestore.

GoToWebinar is an online meeting service provider which enables users to host webinars on the internet. It provides a platform for participants to interact with each other in the webinar. This is different from WebEx or GoToMeeting where it does not allow users to use their own computers for live meetings. GoToWebinar was acquired by Citrix Systems in 2007.

Cloud Firestore is a cloud-hosted, noSQL document database that can be used as a real-time backend for mobile and web apps. Cloud Firestore is a serverless, low latency database that is tightly integrated with other Google Cloud Platform products, including Google App Engine and Cloud Functions.

It is very easy to integrate GoToWebinar and Cloud Firestore. To do this, there are two steps to fplow:

Step 1. Authenticate users with Google Sign-In and authorize access to their data.

Step 2. Send the authorization token to GoToWebinar and receive an encrypted token that you can use for your application.

First, let’s take a look at Google Sign-In. With Google Sign-In, you can sign users into your app and web sites without having to create and manage your own authentication system. Your users can authenticate using their Google accounts or any identity providers supported by Google Sign-In. They can also share certain data with your app or web site using OAuth2, such as their name or email address.

Google has provided a convenient way to create a Firebase project which contains both Cloud Firestore and Firebase Authentication. For more information, please read this article. How to Integrate Firebase Authentication with Cloud Firestore (using Google Sign-in)

Let’s get started! Create a new Firebase project in the Firebase conspe, then click Add Firebase to your web app, as shown in Figure 1.

Figure 1. Create New Firebase Project

Note. We will use Angular 4 (which uses Typescript. in this example. Install the fplowing packages via NPM. @angular/fire, angularfire2, firebase-auth, firebase-database, firebase-functions

Figure 2. Install AngularFire2 Packages via NPM

The next step is to install the Cloud Functions for Firebase library for NodeJS (or alternatively you can use bower or yarn to install the JavaScript library. In this case, we will use NodeJS to deploy our functions. The logic will be similar if you are deploying it on bower or yarn.

Figure 3. Install Cloud Functions for Firebase Library for NodeJS (or bower or yarn)

Let’s start by creating our authentication service. This authentication service contains all the functions we need to authenticate our user when they login via Google Sign-In. Note that we are using AngularFire2 as our AngularFire service provider. The code below uses Google Sign-In to authenticate a user with a Google account. If the user has already signed in, the auth variable will be assigned the user’s credentials associated with that account; otherwise, it will be undefined . We will use this auth variable during our GoToWebinar integration. The code in Listing 1 shows how to authenticate a user via Google Sign-In. The function used here is called googleSignIn(. . Notice that this function returns a promise object which we use later as shown in Listing 2.

Listing 1. Authentication Service (auth.service.ts)

import { Injectable } from ‘@angular/core’; import { AuthProviders, AuthMethods } from ‘angularfire2/auth’; import { Observable } from ‘rxjs/Observable’; import { map } from ‘rxjs/operators'; import { firebaseAuth } from ‘angularfire2/firebaseAuth’; import * as _ from ‘lodash'; @Injectable({ providedIn. 'root' }. export class AuthService { auth = firebaseAuth(); constructor(private authProvider. AuthProviders. {} // returns an observable of type Auth which contains either an accessToken or an error // // if an error is returned, you should call tokenRefreshPromise to refresh the access tokens & re-authenticate const getAuth$(). Observable<Auth> { return this.auth$.asObservable(); } // returns an observable of type AuthRefresher which can be used to refresh your access token & re-authenticate const tokenRefreshPromise$(). Observable<AuthRefresher> { return this.getAuth$(.pipe( map(auth => { if (auth. { return new AuthRefresher(auth); } else { return new AuthRefresher({}); } }. ); } // returns an observable of type Auth which contains either an accessToken or an error // // if an error is returned, you should call refreshPromise to refresh your access token const getAuth$(). Observable<Auth> { return this.$auth .pipe( switchMap(auth => { if (auth. { return new Promise((respve, reject. => { respve(new Auth()); }); } else { return new Promise((respve, reject. => { reject(new Error("Authentication failed.")); }); } }. ); } // returns an observable of type AuthRefresher which can be used to refresh your access token & re-authenticate const refreshPromise$(). Observable<AuthRefresher> { return this.$auth .pipe( switchMap(auth => { if (auth. { return new Promise((respve, reject. => { respve(new Auth()); }); } else { return new Promise((respve, reject. => { reject(new Error("Authentication failed.")); }); } }. ); } // logout of the current user's credentials function logout(. { return new Promise((respve, reject. => { firebaseAuth(.signOut(.then((. => { respve(); }. .catch((error. any. => { reject(error); }); }); } // login with new credentials function login(user. any. { return new Promise((respve, reject. => { firebaseAuth(.signInWithPopup(.then((result. => { if (result && result.credentials. { result = result.credentials; } const credential = result.credentials || result._id; respve(credential); }. .catch((error. any. => { reject(error); }. }); } public members(. { return ['logout', 'login', 'getAuth'] } }

Listing 2. Login with Google Sign-In (login.component.ts)

import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { AuthService } from './services/auth.service'; @Component({ selector. 'app-login', templateUrl. './login.component.html', styleUrls. ['./login.component.css'] }. export class LoginComponent implements OnInit{ constructor(private authService. AuthService, private router. Router){} ngOnInit(){ this.router.navigate('/home'); } }

Now let’s take a look at how we can implement the sign-in function in our GoToWebinar application using the API Token generated by Cloud Functions for Firebase Library for NodeJS (see Listing 3. The code in Listing 3 shows how we generate an API token using the TokenGenerator(. method from our auth service. Then we pass the API token information to GoToWebinar when we start the session (see Listing 4. In addition, we check if the user has been authenticated via Google Sign-In before allowing them to enter their username and password for GoToWebinar (see Listing 5. Otherwise, we redirect them back to Google Sign-In (see Listing 6. Finally, once they have signed in successfully in GoToWebinar, we will

The process to integrate GoToWebinar and Cloud Firestore may seem complicated and intimidating. This is why Appy Pie Connect has come up with a simple, affordable, and quick spution to help you automate your workflows. Click on the button below to begin.

Page reviewed by: Abhinav Girdhar  | Last Updated on March 29,2023 02:06 pm