# Triggers

Every trigger, what starts it, and what it puts on `{{trigger.*}}`.

A workflow has one trigger. Only a **Live** workflow’s trigger starts production runs; **Test** runs the draft once. Read a trigger’s data with [expressions](https://docs.gorunner.io/build/expressions), such as `{{trigger.body.email}}`.

## Built in

| Trigger | Starts a run | On `{{trigger.*}}` | Worth knowing |
| --- | --- | --- | --- |
| **Catch Webhook** [Webhook](https://docs.gorunner.io/apps/webhook) | When an HTTP request reaches its address, by any method. | `body`, `headers`, `method`, `query` | Optional check of each caller: a header, Basic Auth or a signature. **Allowed Methods** can narrow the methods. |
| **On Form Submission** [Form](https://docs.gorunner.io/apps/form) | When someone submits the hosted form. | `body`, `submittedAt`, `formMode`, `headers`, `method`, `query` | GoRunner hosts the form. Each field’s name becomes a key on `body`. |
| **Schedule** [Schedule](https://docs.gorunner.io/apps/schedule) | At each time on its schedule. | `cron_expression`, `day`, `day_of_week`, `hour`, `iso`, `minute`, `month`, `readable`, `scheduled_time`, `timestamp`, `timezone`, `year` | UTC unless you set **Timezone**. Every Hour and Every Day skip weekends unless **Run on weekends (Sat, Sun)** is ticked. |
| **When someone runs it** [Manual](https://docs.gorunner.io/apps/manual) | Only when a person presses **Run**, or the run endpoint is called. | What was sent to the run endpoint |   |
| **When an AI app calls this tool** [MCP Tool](https://docs.gorunner.io/apps/mcp-tool) | When an AI app calls the workflow as a tool. | `body.<parameter>` | The workflow is published as an MCP tool. Each parameter’s name becomes a key on `body`. |
| **When Called by Another Workflow** [When Called by Another Workflow](https://docs.gorunner.io/apps/when-called-by-another-workflow) | When another workflow calls it with a Sub-flow step. | What the calling step sends as Input | Its **Expected Input** is the contract the calling step fills in. |
| **On Workflow Error** [Error](https://docs.gorunner.io/apps/error-trigger) | When a run of a watched workflow fails. | `failedStep`, `run`, `workflow` | **Watch Workflow**: one workflow, or **All workflows**. |
| **On Run Finished** [Run Finished](https://docs.gorunner.io/apps/run-finished) | When a run of a watched workflow finishes. | `run`, `workflow` | **Run only when the watched run** chooses which outcome starts it. |

## From an app

These start runs through a connection. Some are told by the app: publishing registers a webhook in the app, and each event it reports starts a run. The others check their service about once a minute and start one run for each new or changed item; most say which in `change_type`, such as `added` or `updated`, and the first check after you publish only notes what is already there: earlier items never start runs.

| Trigger | Starts a run | On `{{trigger.*}}` | Worth knowing |
| --- | --- | --- | --- |
| **On Message Received** [Gmail](https://docs.gorunner.io/apps/gmail) | For each new email that matches its filters. | `From`, `Subject`, `change_type`, `id`, `threadId` | Up to 10 emails a check unless you change it; mail from the last 10 minutes is always fetched. |
| **New Email** [Email (IMAP)](https://docs.gorunner.io/apps/email-imap) | For each email that arrives in the mailbox. | `attachments`, `date`, `from`, `html`, `subject`, `text`, `to`, `uid`, `change_type`, `messageId`, `seen`, `seq` | Looks at the newest 25 emails each check unless you change it. An email is delivered once. |
| **On Row Added/Updated** [Google Sheets](https://docs.gorunner.io/apps/google-sheets) | For each new or changed row. | `change_type`, `row_number` and one key per column, by its header | The header row’s names become the row’s keys. |
| **On File/Folder Change** [Google Drive](https://docs.gorunner.io/apps/google-drive) | For each new or updated file or folder. | `change_type`, `id`, `mimeType`, `modifiedTime`, `name`, `webViewLink` | Watches a folder or one file. |
| **On Event Change** [Google Calendar](https://docs.gorunner.io/apps/google-calendar) | For each created, updated or cancelled event. | `change_type`, `end`, `htmlLink`, `id`, `start`, `status`, `summary`, `updated` | Watches one calendar. |
| **On Row Added/Updated** [SeaTable](https://docs.gorunner.io/apps/seatable) | For each new or changed row. | `_id`, `_mtime`, `change_type` and one key per column, by its name | A view keeps a big table quick to check. |
| **New or modified file** [FTP/SFTP](https://docs.gorunner.io/apps/ftp-sftp) | For each file that appears or changes, once it stops changing. | `change_type`, `isDir`, `modifiedAt`, `name`, `path`, `size` | A file starts its run about a minute after it lands. Watches one folder, not the folders inside it. Hidden files are skipped unless you change it. |
| **On Contact or Deal** [ActiveCampaign](https://docs.gorunner.io/apps/activecampaign) | When a contact or a deal is added or changed in ActiveCampaign. | `cdate`, `change_type`, `email`, `event`, `id`, `title`, `udate`, `firstName`, `lastName`, `phone` |   |
| **On Record Created or Updated** [Airtable](https://docs.gorunner.io/apps/airtable) | When a record is created in an Airtable table, or created or updated. | `change_type`, `createdTime`, `fields`, `id` |   |
| **On File Added or Replaced** [Amazon S3](https://docs.gorunner.io/apps/amazon-s3) | When a file is added to, or replaced in, an Amazon S3 (or S3-compatible) bucket or folder. | `Bucket`, `ETag`, `Key`, `LastModified`, `Size`, `StorageClass`, `change_type`, `name` |   |
| **On Asana Event** [Asana](https://docs.gorunner.io/apps/asana) | When tasks, comments, sections or projects change in Asana. | `action`, `change`, `count`, `created_at`, `events`, `parent`, `resource`, `user` |   |
| **On Record Created or Changed** [bexio](https://docs.gorunner.io/apps/bexio) | When a contact, invoice (Rechnung), quote (Offerte), order, article, project or timesheet entry is created or changed in bexio. | `change_type`, `id`, `updated_at`, `contact_id`, `document_nr`, `kb_item_status_id`, `title`, `total` |   |
| **On Email Event** [Brevo](https://docs.gorunner.io/apps/brevo) | When Brevo reports a transactional or marketing email event (delivered, opened, clicked, bounced, unsubscribed …) or an inbound email. | `date`, `email`, `event`, `items`, `message-id`, `subject`, `tags`, `id`, `sending_ip`, `source`, `template_id`, `ts`, `ts_event` |   |
| **On Calendly Event** [Calendly](https://docs.gorunner.io/apps/calendly) | When a Calendly meeting is booked or cancelled, or an invitee is marked a no-show. | `created_at`, `created_by`, `event`, `payload` |   |
| **On ClickUp Event** [ClickUp](https://docs.gorunner.io/apps/clickup) | When something happens in ClickUp: a task created, updated, moved or commented on, or a list, folder, space, goal or key result changed. | `event`, `history_items`, `task_id`, `webhook_id` |   |
| **On File Added or Changed** [Dropbox](https://docs.gorunner.io/apps/dropbox) | When a file is added to or changed in a Dropbox folder, or a folder is created in it. | `change_type`, `id`, `name`, `path_display`, `rev`, `server_modified`, `size`, `type`, `.tag`, `client_modified`, `content_hash`, `is_downloadable`, `path_lower` |   |
| **On Ticket Created or Updated** [Freshdesk](https://docs.gorunner.io/apps/freshdesk) | When a Freshdesk ticket is created or updated. | `change_type`, `created_at`, `event`, `id`, `priority_name`, `requester_id`, `status_name`, `subject`, `updated_at`, `custom_fields`, `description_text`, `group_id`, `priority`, `responder_id`, `source`, `source_name`, `status`, `tags`, `type` |   |
| **On GitHub Event** [GitHub](https://docs.gorunner.io/apps/github) | When something happens in a GitHub repository: a push, an issue or pull request opened or changed, a review, a release, an Actions run, and more. | `action`, `commits`, `github`, `issue`, `pull_request`, `ref`, `repository`, `sender` |   |
| **On GitLab Event** [GitLab](https://docs.gorunner.io/apps/gitlab) | When something happens in a GitLab project: a push or tag, an issue, a merge request, a comment, a pipeline or job, a release, and more. | `commits`, `gitlab`, `object_attributes`, `object_kind`, `project`, `ref`, `user`, `event_type` |   |
| **On New Response** [Google Forms](https://docs.gorunner.io/apps/google-forms) | When someone submits a response to a Google Form. | `answers`, `change_type`, `createTime`, `formId`, `lastSubmittedTime`, `respondentEmail`, `responseId`, `values` |   |
| **On Record Created or Updated** [HubSpot](https://docs.gorunner.io/apps/hubspot) | When a contact, company, deal or ticket is created or changed in HubSpot. | `archived`, `change_type`, `createdAt`, `event`, `id`, `object`, `properties`, `updatedAt` |   |
| **On Conversation or Contact Created or Updated** [Intercom](https://docs.gorunner.io/apps/intercom) | When an Intercom conversation or contact is created or updated. | `change_type`, `created_at`, `email`, `event`, `id`, `state`, `type`, `updated_at`, `admin_assignee_id`, `contacts`, `open`, `priority`, `read`, `source`, `team_assignee_id`, `title` |   |
| **On Jira Event** [Jira Software](https://docs.gorunner.io/apps/jira-software) | When something happens in Jira: an issue, comment, worklog, sprint or version is created, updated or deleted. | `changelog`, `comment`, `issue`, `jira`, `timestamp`, `user`, `webhookEvent`, `issue_event_type_name` |   |
| **On New Submission** [Jotform](https://docs.gorunner.io/apps/jotform) | When a Jotform form gets a submission. | `answers`, `formID`, `formTitle`, `ip`, `pretty`, `submissionID`, `values` |   |
| **On Tag Added or Contact Changed** [KlickTipp](https://docs.gorunner.io/apps/klicktipp) | When a KlickTipp contact gets a tag, or when a contact is added or changed. | `change_type`, `email`, `fieldFirstName`, `fieldLastName`, `id`, `status`, `tagged_at`, `manual_tags` |   |
| **On Lexware Office Event** [Lexware Office](https://docs.gorunner.io/apps/lexware-office) | When something happens in Lexware Office: an invoice (Rechnung), quotation, voucher or contact is created, changed or deleted, a status or payment changes. | `event`, `eventDate`, `eventType`, `organizationId`, `resource`, `resourceId`, `url` |   |
| **On Linear Event** [Linear Trigger](https://docs.gorunner.io/apps/linear-trigger) | When an issue, comment, project, cycle or another Linear record is created, updated or removed. | `action`, `actor`, `createdAt`, `data`, `issueData`, `linear`, `organizationId`, `type`, `updatedFrom`, `url`, `webhookId`, `webhookTimestamp` |   |
| **On Audience Event** [Mailchimp](https://docs.gorunner.io/apps/mailchimp) | When someone subscribes to or leaves a Mailchimp audience, a profile or email address changes, an address is cleaned, or a campaign is sent. | `data`, `fired_at`, `type` |   |
| **On Event** [MailerLite](https://docs.gorunner.io/apps/mailerlite) | When a MailerLite subscriber is created, updated, unsubscribes, joins or leaves a group, bounces or completes an automation, or a campaign is sent. | `email`, `event`, `events`, `fields`, `group`, `id`, `subscriber`, `type`, `account_id`, `created_at`, `source`, `status`, `updated_at` |   |
| **On File or Folder Created or Changed** [Microsoft OneDrive](https://docs.gorunner.io/apps/microsoft-onedrive) | When a file or folder is created or changed in OneDrive. | `change_type`, `createdDateTime`, `file`, `folder`, `id`, `lastModifiedDateTime`, `name`, `parentReference`, `size`, `webUrl` |   |
| **On Message Received** [Microsoft Outlook](https://docs.gorunner.io/apps/microsoft-outlook) | When an email arrives in an Outlook folder. | `body`, `bodyPreview`, `change_type`, `from`, `hasAttachments`, `id`, `receivedDateTime`, `subject`, `toRecipients`, `webLink`, `isRead` |   |
| **On List Item Added or Changed** [Microsoft SharePoint](https://docs.gorunner.io/apps/microsoft-sharepoint) | When an item is added to, or changed in, a SharePoint list. | `change_type`, `createdDateTime`, `fields`, `id`, `lastModifiedDateTime`, `webUrl`, `eTag` |   |
| **On Teams Event** [Microsoft Teams](https://docs.gorunner.io/apps/microsoft-teams) | When a message is posted in a Teams channel or chat, a chat or channel is created, or someone joins a team. | `changeType`, `channelId`, `chatId`, `count`, `event`, `id`, `membershipId`, `messageId`, `notifications`, `replyId`, `resource`, `teamId`, `subscriptionId`, `tenantId` |   |
| **On Task Added or Updated** [Microsoft To Do](https://docs.gorunner.io/apps/microsoft-to-do) | When a task is added to, or updated in, a Microsoft To Do list. | `body`, `categories`, `change_type`, `createdDateTime`, `dueDateTime`, `id`, `importance`, `lastModifiedDateTime`, `status`, `title`, `hasAttachments`, `isReminderOn` |   |
| **On Board Event** [monday.com](https://docs.gorunner.io/apps/monday) | When something happens on a monday.com board: an item is created, a column changes, an update is posted, an item moves, is archived or deleted. | `app`, `boardId`, `columnValues`, `event`, `groupColor`, `groupId`, `groupName`, `isTopGroup`, `originalTriggerUuid`, `pulseId`, `pulseName`, `subscriptionId`, `triggerTime`, `triggerUuid`, `type`, `userId` |   |
| **On Record Added or Changed** [Ninox](https://docs.gorunner.io/apps/ninox) | When a record is added to, or changed in, a Ninox table. | `change_type`, `createdAt`, `fields`, `id`, `modifiedAt`, `sequence`, `createdBy`, `modifiedBy` |   |
| **On Page Added or Updated** [Notion](https://docs.gorunner.io/apps/notion) | When a page is added to, or updated in, a Notion database. | `change_type`, `created_time`, `id`, `last_edited_time`, `properties`, `title`, `url`, `values`, `in_trash`, `object`, `parent` |   |
| **On Record Created or Changed** [Odoo](https://docs.gorunner.io/apps/odoo) | When a record is created or changed in Odoo: a contact, a lead, a sales order, or any other model. | `change_type`, `create_date`, `display_name`, `id`, `write_date`, `email`, `name` |   |
| **On PayPal Event** [PayPal](https://docs.gorunner.io/apps/paypal) | When PayPal sends one of the chosen events, such as a captured payment. | `create_time`, `event_type`, `id`, `resource`, `resource_type`, `summary`, `event_version` |   |
| **On Employee or Absence Change** [Personio](https://docs.gorunner.io/apps/personio) | When an employee is added or changed, or an absence is requested or changed, in Personio. | `approval`, `change_type`, `created_at`, `email`, `first_name`, `id`, `last_name`, `person`, `updated_at`, `attributes`, `custom_attributes`, `employments`, `status` |   |
| **On Item Created, Changed or Deleted** [Pipedrive](https://docs.gorunner.io/apps/pipedrive) | When a deal, person, organization, lead, activity, note, product, project or task is created, changed or deleted in Pipedrive. | `action`, `data`, `entity`, `entity_id`, `meta`, `previous` |   |
| **On Record Created or Updated** [Salesforce](https://docs.gorunner.io/apps/salesforce) | When a Salesforce record is created or updated. | `CreatedDate`, `Id`, `LastModifiedDate`, `SystemModstamp`, `attributes`, `change_type`, `recordChange`, `Company`, `Email`, `FirstName`, `LastName`, `Status` |   |
| **On Record Created or Changed** [sevdesk](https://docs.gorunner.io/apps/sevdesk) | When an invoice (Rechnung), voucher (Beleg), order or contact is created or changed in sevdesk. | `change_type`, `create`, `id`, `objectName`, `status`, `update`, `contact`, `invoiceNumber`, `sumGross` |   |
| **On Shopify Event** [Shopify](https://docs.gorunner.io/apps/shopify) | When the store sends the chosen event, such as a paid order. | `admin_graphql_api_id`, `id`, `shopify`, `currency`, `email`, `financial_status`, `name`, `total_price` |   |
| **On Slack Event** [Slack](https://docs.gorunner.io/apps/slack) | When something happens in Slack: a message, a mention of your app, a reaction, a shared file, a new channel or a new member. | `channel`, `event_id`, `event_time`, `team_id`, `text`, `ts`, `type`, `user`, `channel_type` |   |
| **On Stripe Event** [Stripe](https://docs.gorunner.io/apps/stripe) | When Stripe sends one of the chosen events, such as a paid invoice. | `api_version`, `created`, `data`, `id`, `livemode`, `type`, `object`, `pending_webhooks`, `request` |   |
| **On Row Added or Updated** [Supabase](https://docs.gorunner.io/apps/supabase) | When a row is added to, or updated in, a Supabase table. | `change_type`, `id`, `created_at`, `email`, `status` |   |
| **On New Response** [Tally](https://docs.gorunner.io/apps/tally) | When a Tally form gets a response. | `createdAt`, `eventId`, `fields`, `formId`, `formName`, `respondentId`, `responseId`, `submissionId`, `values`, `eventType` |   |
| **On Telegram Update** [Telegram](https://docs.gorunner.io/apps/telegram) | When your Telegram bot gets a message, a button press, a channel post or another update. | `callback_query`, `channel_post`, `message`, `update_id`, `update_type` |   |
| **On New or Completed Task** [Todoist](https://docs.gorunner.io/apps/todoist) | When a task is added to Todoist, or when a task is completed. | `added_at`, `change_type`, `completed_at`, `content`, `description`, `due`, `id`, `labels`, `priority`, `project_id`, `section_id`, `url`, `checked`, `parent_id`, `user_id` |   |
| **On Trello Activity** [Trello](https://docs.gorunner.io/apps/trello) | When something happens on a Trello board, list or card: a card is created, moved, updated or commented on, and more. | `action`, `model`, `trello` |   |
| **On Message Received** [Twilio](https://docs.gorunner.io/apps/twilio) | When one of your Twilio numbers receives an SMS, MMS or WhatsApp message. | `Body`, `From`, `MessageSid`, `NumMedia`, `To`, `channel`, `media`, `AccountSid`, `ApiVersion`, `FromCountry`, `NumSegments`, `SmsMessageSid`, `SmsStatus`, `ToCountry` |   |
| **On New Response** [Typeform](https://docs.gorunner.io/apps/typeform) | When a Typeform form gets a response. | `answers`, `calculated`, `definition`, `ending`, `event_id`, `form_id`, `hidden`, `landed_at`, `response_id`, `submitted_at`, `values`, `variables`, `event_type`, `response_url`, `token` |   |
| **On New Response (checked every minute)** [Typeform](https://docs.gorunner.io/apps/typeform) | When a Typeform form gets a response. | `answers`, `calculated`, `change_type`, `form_id`, `hidden`, `landed_at`, `metadata`, `response_id`, `submitted_at`, `values`, `variables`, `landing_id`, `response_type`, `token` |   |
| **On Record Created or Changed** [weclapp](https://docs.gorunner.io/apps/weclapp) | When a customer, sales order (Auftrag), invoice (Rechnung), quotation (Angebot), ticket or article is created or changed in weclapp. | `change_type`, `createdDate`, `id`, `lastModifiedDate`, `customerId`, `orderNumber`, `status`, `version` |   |
| **On Message or Status** [WhatsApp Business](https://docs.gorunner.io/apps/whatsapp-business) | When your WhatsApp Business number receives a message, or a message it sent is delivered, read or fails. | `business_account`, `contacts`, `from`, `message`, `messages`, `metadata`, `statuses`, `text` |   |
| **On WooCommerce Event** [WooCommerce](https://docs.gorunner.io/apps/woocommerce) | When a WooCommerce store sends an event: an order, product, customer or coupon was created, updated or deleted. | `id`, `status`, `woocommerce`, `billing`, `currency`, `total` |   |
| **On Ticket Created or Updated** [Zendesk](https://docs.gorunner.io/apps/zendesk) | When a Zendesk ticket is created or updated, or on a ticket, user or organization event (status changed, comment added, user created …). | `change`, `current_user`, `event`, `organization`, `ticket`, `user`, `zendesk` |   |

Related: [Choose a trigger](https://docs.gorunner.io/build/choose-a-trigger) · [Start from a webhook](https://docs.gorunner.io/build/start-from-a-webhook) · [Run on a schedule](https://docs.gorunner.io/build/run-on-a-schedule) · [A trigger didn’t fire](https://docs.gorunner.io/build/a-trigger-didnt-fire)

Source: https://docs.gorunner.io/build/triggers
