Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

1.2.1. Events and Triggers: The Nervous System

💡 First Principle: Nothing in GitHub Actions runs unless an event fires — workflows are pure reactions. Controlling automation therefore means controlling which events you listen to, and how narrowly.

Events come in a few families, and knowing the family tells you most of what the exam wants:

Event familyExamplesTypical use
Repository activitypush, pull_request, issues, releaseCI, PR checks, triage
Scheduledschedule: with cron (UTC)Nightly builds, stale-issue sweeps
Manualworkflow_dispatchOn-demand deploys with inputs
Workflow-to-workflowworkflow_call, workflow_runReusable pipelines, chaining
Externalrepository_dispatchSystems outside GitHub kicking off runs

Two refinements matter constantly. First, most repository events have activity types (opened, closed, labeled…) so you react to the specific state change, not the whole category. Second, filters (branches:, paths:, tags:) narrow which pushes or PRs count. A workflow that runs on every push to every branch is usually a beginner's cost problem; one that runs on the wrong event with elevated permissions is a security problem (Phase 6).

⚠️ Exam Trap: schedule: cron expressions are evaluated in UTC, may be delayed or skipped under load, and only run from the default branch. If a question mentions a scheduled workflow "not firing at the expected local time" or "not running on my feature branch," those are the answers.

Reflection Question: Why would GitHub design scheduled workflows to run only from the default branch — what could go wrong if any branch's copy of a scheduled workflow fired?

See how it connects
Alvin Varughese
Written byAlvin Varughese
Founder18 professional certifications