--- title: "Triggers" slug: "triggers" description: "Click here to learn the ins and outs of triggers including helpful examples." updated: 2026-10-22T21:06:50Z published: 2026-10-22T21:06:50Z canonical: "learn.allspice.io/triggers" --- > ## Documentation Index > Fetch the complete documentation index at: https://learn.allspice.io/llms.txt > Use this file to discover all available pages before exploring further. # Triggers ## Triggers overview Triggers are events that kick off workflows. Triggers are defined in a workflow file and are named after familiar Git commands `push`, `pull_request` (Design Review), `issues`, and `release` ### Triggers are defined in workflow YAML Files Once a workflow file is pushed to a repository, the triggers will automatically be enabled and Allspice will start listening for your events. > [!NOTE] > Here is an excerpt from an example workflow file: > > ```yaml > # .allspice/workflows/your_workflow.yml > name: Generate BOM > run-name: ${{ allspice.actor }} is testing out Allspice Automations 🚀 > > # Define triggers with `on:` > on: >  # Add your triggers here >  # You can use more than one trigger to run the same code >  # If you need to use different triggers, simply create a separate workflow file. >  push: >  issues: >    types: [opened, closed, reopened] > > jobs: >  Your_job: >   # Your job steps > ``` ## Defining the Workflow Trigger with `on` The `on` keyword determines the events that will trigger your workflow. It can be a single event, a list of events, or a more complex configuration. **Single Event Trigger:** ```yaml on: push ``` **Multiple Event Triggers:** ```yaml on: [push, pull_request] ``` **Advanced Trigger Configuration:** You can specify triggers based on branches, tags, or paths. ```yaml on:  push:    branches:      - main      - 'release/*'    paths:      - 'src/**'      - '!src/exclude_this_file.py' ``` ## Examples of triggers - on `push` - Generate BOM - Check part numbers against component allow-list - Generate COGS - Check DRC rules are correct - on merge `pull_request` closed - Create release fabrication package - Copy approved files from design review to release zip file - Check file format and naming conventions have been used - Check and filter out problematic naming conventions `PCB1234-V2_thisone-revG.pcb` - Update PLM - Generate archival/compliance Design Review package of checklist/comments/attachments - Add firmware from linked repos - on `release` - Notify CM/JDM - Notify Planning/Purchasing - Backup/distribute files - on `issue / pull_request_review_comment` - New part request workflow - Smart comments allow you to add your own #tags in comments to trigger software - Create issue from comment - Add new checks to the main checklist from a comment - Integrate your native issue tracking / comment system using Automations or Webhooks ## List of triggers | \| trigger event \| activity types \| \| --- \| --- \| \| create \| — \| \| delete \| — \| \| fork \| — \| \| gollum (wiki) \| — \| \| push \| — \| \| issues \| `opened`, `edited`, `closed`, `reopened`, `assigned`, `unassigned`, `milestoned`, `demilestoned`, `labeled`, `unlabeled` \| \| issue_comment \| `created`, `edited`, `deleted` \| \| pull_request \| `opened`, `edited`, `closed`, `reopened`, `assigned`, `unassigned`, `synchronize`, `labeled`, `unlabeled` \| \| pull_request_review \| `submitted`, `edited` \| \| pull_request_review_comment \| `created`, `edited` \| \| release \| `published`, `edited` \| \| registry_package \| `published` \| | | --- | | trigger event | activity types | | create | — | | delete | — | | fork | — | | gollum (wiki) | — | | push | — | | issues | `opened`, `edited`, `closed`, `reopened`, `assigned`, `unassigned`, `milestoned`, `demilestoned`, `labeled`, `unlabeled` | | issue_comment | `created`, `edited`, `deleted` | | pull_request | `opened`, `edited`, `closed`, `reopened`, `assigned`, `unassigned`, `synchronize`, `labeled`, `unlabeled` | | pull_request_review | `submitted`, `edited` | | pull_request_review_comment | `created`, `edited` | | release | `published`, `edited` | | registry_package | `published` | For `pull_request` events, in [GitHub Actions](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request), the `ref` is `refs/pull/:prNumber/merge`, which is a reference to the merge commit preview. However, Allspice.io has no such reference. Therefore, the `ref` in Allspice.io Automations is `refs/pull/:prNumber/head`, which points to the head of pull request rather than the preview of the merge commit.