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

# Google Triggers

> Triggers that react to activity in Google Forms and Google Sheets.

Google triggers react to activity in Google Forms and Google Sheets. All Google triggers require a connected Google account, which you can select or add via the **Connected Google Account** dropdown in the trigger configuration panel.

## Google Forms: New Response

Fires when a new response is submitted to a connected Google Form. Use it to automate response-driven workflows — such as routing form submissions for review, creating records in a database, or sending confirmation emails to respondents.

**When to use it**

* You want a workflow to fire automatically when a customer submits an intake or onboarding form.
* You are routing new form responses to a Slack channel or email distribution list.
* You need to create a CRM record from a lead capture form submission.

**Configuration**

| Setting                    | Type    | Description                                                                                             |
| -------------------------- | ------- | ------------------------------------------------------------------------------------------------------- |
| `Tool Description`         | String  | A description of the tool shown on the Tools page.                                                      |
| `Require Confirmation`     | Boolean | When enabled, the user must confirm before the workflow executes.                                       |
| `Open Workflow Panel`      | Boolean | When enabled, shows the workflow preview panel when this flow runs from chat.                           |
| `Google Trigger Type`      | String  | Set to `Google Forms: New Response`.                                                                    |
| `Connected Google Account` | String  | The Google account to poll. Select an existing account or click **Connect another account** to add one. |
| `Form`                     | String  | The Google Form to monitor. Select from the dropdown.                                                   |
| `Poll Interval`            | String  | How frequently the form is checked for new responses. Default is `Every 5 minutes`.                     |
| `Max per poll`             | Integer | The maximum number of responses to process per poll cycle. Default is `10`.                             |

**Available variables**

| Variable                       | Description                                        |
| ------------------------------ | -------------------------------------------------- |
| `{{trigger.response}}`         | The full response object from the form submission. |
| `{{trigger.response.answers}}` | The answers submitted in the response.             |

<AccordionGroup>
  <Accordion title="Notes">
    * This trigger uses polling. Responses are checked at the interval defined in **Poll Interval**.
    * Use **Test search and preview responses** to verify the connection and preview response data before publishing.
    * The workflow fires once per new response.
  </Accordion>
</AccordionGroup>

## Google Sheets: New Row

Fires when a new row is appended to a connected Google Sheet. Use it to automate data-entry workflows — such as processing new records as they are added to a spreadsheet, syncing data to another system, or triggering notifications when a sheet is updated.

**When to use it**

* You want a workflow to fire when a team member adds a row to a shared tracking sheet.
* You are syncing new spreadsheet entries to a CRM or project management tool.
* You need to send an alert when a new record is added to a data collection sheet.

**Configuration**

| Setting                      | Type    | Description                                                                                                           |
| ---------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
| `Tool Description`           | String  | A description of the tool shown on the Tools page.                                                                    |
| `Require Confirmation`       | Boolean | When enabled, the user must confirm before the workflow executes.                                                     |
| `Open Workflow Panel`        | Boolean | When enabled, shows the workflow preview panel when this flow runs from chat.                                         |
| `Google Trigger Type`        | String  | Set to `Google Sheets: New Row Added`.                                                                                |
| `Connected Google Account`   | String  | The Google account to poll. Select an existing account or click **Connect another account** to add one.               |
| `Spreadsheet`                | String  | The Google Sheet to monitor. Select from the dropdown.                                                                |
| `First row contains headers` | Boolean | When enabled, row 1 is treated as column headers and skipped by the trigger. Disable if your sheet has no header row. |
| `Poll Interval`              | String  | How frequently the sheet is checked for new rows. Default is `Every 5 minutes`.                                       |
| `Max per poll`               | Integer | The maximum number of rows to process per poll cycle. Default is `10`.                                                |

**Available variables**

| Variable                 | Description                                                                                       |
| ------------------------ | ------------------------------------------------------------------------------------------------- |
| `{{trigger.row.A}}`      | The value of column A in the new row. Replace `A` with the relevant column letter or header name. |
| `{{trigger.row_values}}` | All cell values in the new row as an array.                                                       |

<AccordionGroup>
  <Accordion title="Notes">
    * This trigger uses polling. New rows are checked at the interval defined in **Poll Interval**.
    * Use **Test search and preview rows** to verify the connection and preview row data before publishing.
    * The workflow fires once per newly appended row.
    * When **First row contains headers** is enabled, column values are accessible by header name.
  </Accordion>
</AccordionGroup>

## Google Sheets: New or Updated Row

Fires when a row is either added or modified in a connected Google Sheet. Unlike [Google Sheets: New Row](#google-sheets-new-row), this trigger also fires when an existing row's data changes — making it suitable for workflows that need to react to any modification in a sheet, not just new entries.

**When to use it**

* You need to keep a downstream system in sync whenever a row in a master sheet changes.
* You want to trigger a review workflow when a status column is updated.
* You need to notify a team when any record in a shared tracker is modified.

**Configuration**

| Setting                      | Type    | Description                                                                                                           |
| ---------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
| `Tool Description`           | String  | A description of the tool shown on the Tools page.                                                                    |
| `Require Confirmation`       | Boolean | When enabled, the user must confirm before the workflow executes.                                                     |
| `Open Workflow Panel`        | Boolean | When enabled, shows the workflow preview panel when this flow runs from chat.                                         |
| `Google Trigger Type`        | String  | Set to `Google Sheets: New or Updated Row`.                                                                           |
| `Connected Google Account`   | String  | The Google account to poll. Select an existing account or click **Connect another account** to add one.               |
| `Spreadsheet`                | String  | The Google Sheet to monitor. Select from the dropdown.                                                                |
| `First row contains headers` | Boolean | When enabled, row 1 is treated as column headers and skipped by the trigger. Disable if your sheet has no header row. |
| `Poll Interval`              | String  | How frequently the sheet is checked for new or updated rows. Default is `Every 5 minutes`.                            |
| `Max per poll`               | Integer | The maximum number of rows to process per poll cycle. Default is `10`.                                                |

**Available variables**

| Variable                  | Description                                                                                            |
| ------------------------- | ------------------------------------------------------------------------------------------------------ |
| `{{trigger.row.A}}`       | The value of column A in the affected row. Replace `A` with the relevant column letter or header name. |
| `{{trigger.row_values}}`  | All cell values in the affected row as an array.                                                       |
| `{{trigger.change_type}}` | Indicates whether the row was `new` or `updated`.                                                      |

<AccordionGroup>
  <Accordion title="Notes">
    * This trigger uses polling. Changes are checked at the interval defined in **Poll Interval**.
    * Use **Test search and preview rows** to verify the connection and preview row data before publishing.
    * `{{trigger.change_type}}` is set to `new` or `updated` depending on whether the row was added or modified.
    * When a trigger column is set, only changes in that column emit events.
    * Use this trigger instead of [Google Sheets: New Row](#google-sheets-new-row) when your workflow must also react to edits in existing rows.
  </Accordion>
</AccordionGroup>
