> ## Documentation Index
> Fetch the complete documentation index at: https://learn.workflow.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Form Response

> Start a workflow when a response is submitted to a Google Form.

The **Google Form Response** trigger starts a workflow for each newly received
response to one form. It exposes the respondent, question IDs, text answers,
and quiz score without requiring a polling action in the workflow.

## Set up the trigger

<Steps>
  <Step title="Choose a Google account">
    Select an account with permission to read responses for the form.
  </Step>

  <Step title="Copy the form's edit URL">
    Open the form in Google Forms and copy its editing URL.
  </Step>

  <Step title="Enter the Form URL">
    Paste the URL into **Form URL**, then save the trigger configuration.
  </Step>

  <Step title="Submit a new response">
    Test with a response submitted after the trigger has been configured.
  </Step>
</Steps>

## Configuration

| Field              | Type           | Required | Description                                            |
| ------------------ | -------------- | -------- | ------------------------------------------------------ |
| **Google Account** | Google account | Yes      | Account used to watch the form and read its responses. |
| **Form URL**       | URL            | Yes      | Editing URL of the Google Form to watch.               |

<Note>
  When the trigger is initialized, it records the current time and watches for
  later responses. It does not intentionally replay existing form submissions.
</Note>

<Warning>
  Each Google notification fetches at most 100 new responses. A burst larger
  than that between notifications is not paginated by the current trigger.
</Warning>

## Trigger data

| Output               | Type            | Description                                          |
| -------------------- | --------------- | ---------------------------------------------------- |
| **Response ID**      | String          | Google's identifier for the response.                |
| **Respondent Email** | String          | Respondent email address when the form collects one. |
| **Answers**          | List of answers | One item per answered question.                      |
| **Total Score**      | Number          | Total score when the form is configured as a quiz.   |

Each **Answers** item contains:

| Field            | Type            | Description                                                    |
| ---------------- | --------------- | -------------------------------------------------------------- |
| **Question ID**  | String          | Google's identifier for the question.                          |
| **Text Answers** | List of strings | Submitted text values. A question can contain multiple values. |

<Note>
  The trigger currently exposes text answers. File-upload answer details are not
  included in the node output.
</Note>

## Example: route intake responses

Pass **Answers** to a repeat action and inspect **Question ID** for each item.
Route recognized question IDs to the fields they represent, then create or
update the corresponding record. Question IDs are stable identifiers and are
safer for routing than relying on question order.

## Troubleshooting

<AccordionGroup>
  <Accordion title="A test response did not start the workflow">
    Confirm the URL is the form's editing URL, the connected account can read
    responses, and the response was submitted after the trigger was configured.
  </Accordion>

  <Accordion title="Respondent Email is empty">
    Google only supplies an email when the form is configured to collect one.
  </Accordion>

  <Accordion title="A question has several Text Answers">
    Checkbox-style or other multi-answer questions can produce more than one
    value. Process **Text Answers** as a list.
  </Accordion>
</AccordionGroup>
