Skip to main content

Google Forms API Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a Google Forms API location.
google_forms_api.png

Google Forms API

  1. Click the + icon on the Nexset that will be sent to the Google Forms API destination, and select the Send to Destination option from the menu.

  2. Select the Google Forms API connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Google Forms API, and click Next; or, create a new Google Forms API credential for use in this flow.

  3. In Nexla, Google Forms API destinations can be created using pre-built endpoint templates, which expedite destination setup for common Google Forms API endpoints. Each template is designed specifically for the corresponding Google Forms API endpoint, making destination setup easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Google Forms API destinations can also be configured manually, allowing you to send data to Google Forms API endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Google Forms API endpoints. Each template is designed specifically for the corresponding Google Forms API endpoint, making destination setup easy and efficient.

Endpoint Settings

  • Select the endpoint to which this destination will send data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your destination for this endpoint.

    Create a new Google Form.

    Creates a new Google Form using the data provided by Nexla. Use this endpoint to programmatically generate forms as part of automated workflows.

    The credential used must include the https://www.googleapis.com/auth/forms.body OAuth scope to create forms. The newly created form's ID is returned in the API response.

    Update form items/settings via a batch of requests

    Adds, updates, or deletes items and settings in an existing Google Form via a batch of update requests. Use this endpoint to programmatically modify form structure or configuration.

    Each update request in the batch must specify the operation type (e.g., createItem, updateItem, deleteItem). The credential must include the https://www.googleapis.com/auth/forms.body scope.

    Create a watch for form/response change notifications

    Creates a push notification watch on a specific Google Form so that your application is notified when the form or its responses change. Use this endpoint to set up event-driven data pipelines triggered by new form submissions.

    Watches expire after seven days. Use the Renew an existing watch before it expires endpoint to extend the watch before expiration. The watch target (e.g., Cloud Pub/Sub topic) must be configured in the request body.

    Renew an existing watch before it expires

    Renews an existing push notification watch on a Google Form for another seven days before it expires. Use this endpoint in scheduled workflows to maintain continuous form change notifications.

    Schedule this destination to run before the watch expiry (every 5–6 days) to ensure uninterrupted push notifications. Watch IDs can be retrieved using the List all active watches on a form source endpoint.

    Delete a watch on a form.

    Permanently deletes a push notification watch on a specific Google Form. Use this endpoint to clean up watches that are no longer needed.

    This action is permanent and cannot be undone. Deleting a watch stops all push notifications associated with it. Retrieve active watch IDs using the List all active watches on a form source endpoint before deletion.

    Set Hotels Live on Google

    Activates hotel properties to appear live on Google travel surfaces for a Travel Partner account. Use this endpoint to control the live status of hotel listings programmatically.

    • Sends a request to the Google Travel Partner API to update the live status of specified hotel properties.
    • Configure the following parameters: Account ID — the Travel Partner account identifier; Live on Google — flag to set the live status; Partner Hotel IDs — the list of hotel IDs to activate or deactivate.

    This endpoint is part of the Google Travel Partner API and requires Travel Partner API access enabled in your Google Cloud project.

    Update Brand

    Updates an existing Travel Partner brand with new display names, icons, and approval state information. Use this endpoint to manage hotel brand configurations programmatically.

    • Sends a PATCH or PUT request to the Travel Partner API brands endpoint with the updated brand data.
    • Configure the following parameters: Brand Name — the resource name of the brand to update; Update Mask — the list of fields to update; additional optional fields for display names, icons, and states.

    This endpoint is part of the Google Travel Partner API. Use the Allow Missing parameter set to true to create the brand if it does not already exist (upsert behavior).

    Create Account Link

    Creates a new account link between a Google Travel Partner account and an external account. Use this endpoint to establish programmatic linkages between Travel Partner accounts and partner systems.

    • Sends a POST request to the Travel Partner API account links endpoint with the link configuration in the request body.
    • Configure the following parameter: Account Name — the resource name of the Travel Partner account under which the link will be created.

    This endpoint is part of the Google Travel Partner API. The request body must include the external account reference and the desired link type.

    Create Brand

    Creates a new brand under a specified Google Travel Partner account with display names, icons, and metadata. Use this endpoint to programmatically add hotel brands to a Travel Partner account.

    • Sends a POST request to the Travel Partner API brands endpoint with the new brand definition in the request body.
    • Configure the following parameters: Parent — the resource name of the Travel Partner account; additional optional fields for display names, icons, and brand metadata.

    This endpoint is part of the Google Travel Partner API. Newly created brands must go through Google's approval process before display names and icons are activated on travel surfaces.

    Verify Listing

    Verifies a hotel listing for a specified Travel Partner account by submitting XML listing data. Use this endpoint to validate hotel property data against Google's listing requirements.

    • Sends a POST request to the Travel Partner API verify listing endpoint with the XML listing content in the request body.
    • Configure the following parameters: Parent — the resource name of the Travel Partner account; XML Listing — the hotel listing data in XML format.

    This endpoint is part of the Google Travel Partner API. The XML listing must conform to Google's hotel feed schema. Verification results indicate whether the listing data meets Google's quality and format requirements.

    Create Reconciliation Report

    Creates a new reconciliation report for a specified Google Travel Partner account with provided file contents. Use this endpoint to submit hotel booking reconciliation data to Google.

    • Sends a POST request to the Travel Partner API reconciliation reports endpoint with the report data in the request body.
    • Configure the following parameters: Parent — the resource name of the Travel Partner account; File Contents — the report file data; File Name — the name of the report file; Name — the resource name for the new report.

    This endpoint is part of the Google Travel Partner API. Reconciliation reports are used to match Google's booking data with your own records for billing and performance verification.

Configure Manually

Google Forms API destinations can also be configured manually, allowing you to send data to Google Forms API endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.

First, select the API method that will be used for calls to the Google Forms API from the Method pulldown menu. Common methods for write operations include:

  • POST: For creating new forms or adding items to existing forms.
  • PUT: For replacing the content of a form.
  • PATCH: For making partial updates to a form's structure, settings, or questions using a batch update request.
  • DELETE: For removing watch subscriptions or specific form items.

Data Format

  1. Select the format in which the Nexset data will be sent to the Google Forms API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call. The Google Forms API accepts JSON for all write operations, so select JSON as the content format.

API Endpoint URL

  1. Enter the URL of the Google Forms API endpoint to which you want to send the Nexset data in the URL field. The base URL for the Google Forms API is https://forms.googleapis.com/v1/. Common write endpoints include:

    • Create a Form (POST): https://forms.googleapis.com/v1/forms

      • Creates a new Google Form. The request body must include a info object with a title field.
    • Batch Update a Form (POST): https://forms.googleapis.com/v1/forms/{formId}:batchUpdate

      • Modifies an existing form using a series of update requests. Replace {formId} with the target form's ID. Use this endpoint to add, update, or delete questions, change form settings, or update form metadata.
    • Create a Watch (POST): https://forms.googleapis.com/v1/forms/{formId}/watches

      • Sets up a push notification watch on a specific form so that your application is notified when new responses are submitted. Replace {formId} with the target form's ID.

    For update/upsert operations targeting a specific form, include the form ID in the URL path. The form ID can be found in the form's browser URL (e.g., https://docs.google.com/forms/d/FORM_ID/edit). The Google Forms API requires all write requests to be authenticated with an OAuth 2.0 token that includes the appropriate write scopes (e.g., https://www.googleapis.com/auth/forms.body).

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The Google Forms API Authorization header is handled automatically by Nexla based on your OAuth credential configuration.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Google Forms API destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching. Record batching is particularly useful when sending multiple update requests to the Google Forms API batchUpdate endpoint, which is designed to accept multiple update operations in a single API call.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings. Some algorithms require additional settings—click on an algorithm listed below to view instructions for configuring these settings.

Property Inside JSON Object

  1. Enter the name of the JSON property that should contain the batched records in the Property Name field. For example, when sending batch updates to the Google Forms API batchUpdate endpoint, the property name would be requests, as the API expects an array of request objects under that key.
  2. If any additional properties should be included in the request, enter the properties in the Other Props field in JSON format.

Code

  1. Enter the code that will be used to create the batched request in the code editor below the Grouping Algorithm field.

Response Webhook

Optional

Nexla can automatically send the response received from the Google Forms API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call, such as the updated form state or confirmation of successful changes.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Google Forms API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.
  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing

After all endpoint settings have been configured, Nexla can send a test payload to the Google Forms API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Google Forms API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send data to the configured Google Forms API endpoint, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to the Google Forms API until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.