Unify Integrations
Logo
Google Forms

Google Forms

Logo

6 mins READ

Google Forms is Google's tool for building surveys, quizzes and forms and collecting the responses within Google Workspace. The UnifyApps Google Forms connector uses the Google Forms API, together with the Google Drive API, to create forms, add questions, read forms and their responses, and react to new submissions from workflows and agents.

This guide covers every authentication type available on the connection form, and the actions and triggers supported, along with the Google scope each one needs.

Authentication

Before you begin, you should have the following information:

  • Connection name: a descriptive name such as MyAppGoogleFormsIntegration, so the connection is easy to identify later.

  • Authentication type: select the type of authentication for connecting to your Google Forms account:

    1. OAuth

    2. OAuth with Client Credentials

    3. Service Account

The connection form has no Scopes field. The OAuth types always request https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/forms.body, https://www.googleapis.com/auth/forms.body.readonly and https://www.googleapis.com/auth/forms.responses.readonly, which together cover every action and trigger below. The service account requests the same scopes plus two more, listed in its section.

1. OAuth

Use this when you want to connect with your own Google account and do not need to create a Google Cloud app.

  1. Enter a Connection name.

  2. Select OAuth as the Authentication type.

  3. Click Authorize. You are redirected to the Google sign-in page.

  4. Sign in with the Google account that owns or can edit the forms you need.

  5. Review the permissions on the consent screen and click Allow.

  6. You are redirected back to UnifyApps with a confirmation that the account is connected.

google-forms-screenshot-1.png
google-forms-screenshot-1.png

2. OAuth with Client Credentials

Use this when your organization wants the connection to use its own Google Cloud OAuth client, while actions still run as the Google user who signs in.

Step 1: Create an OAuth client in Google Cloud

  1. In the Google Cloud Console, select or create a project, and enable the Google Forms API and Google Drive API under APIs & Services → Library.

  2. Go to Google Auth platform → Branding. If you see Google Auth platform not configured yet, click Get Started, enter an App name, User support email, Audience and contact email, and click Create.

  3. Go to Data Access, click Add or Remove Scopes, add the four scopes the connection requests (drive, forms.body, forms.body.readonly and forms.responses.readonly), and click Save. If the audience is External, add the users who will sign in under Audience → Test users.

  4. Go to Google Auth platform → Clients and click Create Client. Choose Web application as the Application type and enter a name.

  5. Under Authorized redirect URIs, click Add URI and enter the UnifyApps OAuth callback URL for your environment, which ends in /api/connector-auth-callback/oauth. The Google Forms connection form does not display it; copy it from the Callback URL box on the OAuth with Client Credentials form of another Google connector, such as Google Sheets.

  6. Click Create, then copy the Client ID and Client secret. Copy the secret immediately: Google shows it only once.

google-forms-screenshot-2-blurred.png
google-forms-screenshot-2-blurred.png

Step 2: Connection setup in UnifyApps

  1. Open Connections → New Connection → Google Forms and enter a Connection name.

  2. Select OAuth with Client Credentials as the Authentication type.

  3. Enter the Client ID and Client secret copied from Google Cloud.

  4. Click Authorize, sign in with Google and click Allow on the consent screen.

  5. Confirm the success message after the redirect back to UnifyApps.

3. Service Account

Use this for Google Workspace domains, where a service account acts on behalf of a user in the domain through domain-wide delegation. No user has to sign in.

Step 1: Create a service account in Google Cloud

  1. In the Google Cloud Console, select or create a project, and enable the Google Forms API and Google Drive API under APIs & Services → Library.

  2. Go to IAM & Admin → Service Accounts and click Create service account. Enter a name and click Done.

  3. Open the service account and copy its Email. Click Show advanced settings and, under Domain-wide delegation, copy the Client ID used in the next step.

  4. Go to the Keys tab → Add key → Create new key, choose JSON and click Create. The downloaded file holds the client_email and private_key. Store it securely.

google-forms-screenshot-3.png
google-forms-screenshot-3.png

Step 2: Give the service account domain-wide access

  1. A Google Workspace super administrator opens the Admin console → Security → Access and data control → API controls.

  2. Click Manage Domain Wide Delegation → Add new.

  3. Enter the service account's client ID and add these six scopes, separated by commas, then click Authorize:

    • https://www.googleapis.com/auth/drive

    • https://www.googleapis.com/auth/forms.body

    • https://www.googleapis.com/auth/forms.body.readonly

    • https://www.googleapis.com/auth/forms.responses.readonly

    • https://www.googleapis.com/auth/calendar.events

    • https://www.googleapis.com/auth/meetings.space.created

See Delegate domain-wide authority to your service account for details.

Note: the service account requests all six scopes, including the Calendar and Meet ones, so all six must be granted here or the connection cannot get a token. It can only reach the forms of users in the Workspace domain where domain-wide delegation was granted. Google says changes can take up to 24 hours to apply.

Step 3: Create the connection in UnifyApps

  1. Select Service Account as the Authentication type.

  2. Enter the GCP project service account email and paste the Private key from the JSON key file.

  3. Enter the User email of the Workspace user the connection impersonates.

  4. Click Test Connection to validate the credentials, then click Create.

Actions

Scopes are shown in short form: forms.body means https://www.googleapis.com/auth/forms.body. The column shows the narrowest scope Google accepts for each call on forms the connection did not create; drive covers every action. drive.file only reaches files the connection created or was given access to by the user.

Actions

Description

Scopes Required

Add questions

Adds questions to a form in Google Forms.

forms.body (or drive)

Create form

Creates a form in Google Forms.

drive.file (or forms.body)

Get records

Gets form records from Google Forms, listing the forms in Google Drive.

drive.metadata.readonly (or drive.readonly)

List form responses

Lists the responses for a form in Google Forms.

forms.responses.readonly (or drive)

Search record

Searches for a form record in Google Forms by its form ID.

forms.body.readonly (or forms.body)

Triggers

Triggers

Description

Scopes Required

On forms responses

Triggers when a response is submitted in Google Forms.

forms.responses.readonly (or drive)