> ## 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.

# Overview

> Every workflow starts with a trigger. Triggers define how and when a workflow is initiated — whether manually, on a schedule, via an HTTP request, or in response to an external event.

A trigger is the first node in every Odin workflow. Without a trigger, a workflow cannot run. Triggers determine the entry point for execution and make their output variables available to every downstream node.

<Note>
  Every workflow must begin with exactly one trigger. You cannot add more than one trigger to a single workflow.
</Note>

## Trigger categories

<CardGroup cols={3}>
  <Card title="Core" icon="bolt" href="/tools/nodes/triggers/core-triggers">
    General-purpose triggers for manual runs, scheduled execution, HTTP requests, and file uploads.
  </Card>

  <Card title="Communication" icon="envelope" href="/tools/nodes/triggers/communication-triggers">
    Triggers that fire in response to incoming emails, the end of an Odin-recorded meeting, or a Telegram bot message.
  </Card>

  <Card title="Google" icon="google" href="/tools/nodes/triggers/google-triggers">
    Triggers that react to activity in Google Forms and Google Sheets.
  </Card>
</CardGroup>

## All triggers at a glance

| Trigger                                                                                                     | Category      | Description                                                                  |
| ----------------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------- |
| [Manual Input](/tools/nodes/triggers/core-triggers#manual-input)                                            | Core          | Start a workflow on demand with user-defined input fields.                   |
| [Webhook](/tools/nodes/triggers/core-triggers#webhook)                                                      | Core          | Start a workflow via an incoming HTTP request from an external system.       |
| [Schedule](/tools/nodes/triggers/core-triggers#schedule)                                                    | Core          | Start a workflow automatically on a recurring cron-based schedule.           |
| [File Upload](/tools/nodes/triggers/core-triggers#file-upload)                                              | Core          | Start a workflow when one or more files are uploaded.                        |
| [Email](/tools/nodes/triggers/communication-triggers#email)                                                 | Communication | Start a workflow when a matching email is received in Gmail or Office 365.   |
| [Odin Meeting End](/tools/nodes/triggers/communication-triggers#odin-meeting-end)                           | Communication | Start a workflow when an Odin-recorded meeting ends and notes are generated. |
| [Telegram: New Message](/tools/nodes/triggers/communication-triggers#telegram-new-message)                  | Communication | Start a workflow when the Telegram bot receives a new message.               |
| [Google Forms: New Response](/tools/nodes/triggers/google-triggers#google-forms-new-response)               | Google        | Start a workflow when a new response is submitted to a Google Form.          |
| [Google Sheets: New Row](/tools/nodes/triggers/google-triggers#google-sheets-new-row)                       | Google        | Start a workflow when a new row is appended to a Google Sheet.               |
| [Google Sheets: New or Updated Row](/tools/nodes/triggers/google-triggers#google-sheets-new-or-updated-row) | Google        | Start a workflow when a row is added or modified in a Google Sheet.          |
