Upptime uses GitHub Actions workflows to automate uptime monitoring, response time tracking, and status page generation. All workflows use theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/upptime/upptime/llms.txt
Use this file to discover all available pages before exploring further.
upptime/uptime-monitor action with different commands.
Workflow Commands
The Upptime GitHub Action supports several commands that perform different monitoring and maintenance tasks.update
Set to
"update" to check endpoint status and update historyuptime.yml
Schedule: Every 5 minutes (default)
What it does:
- Pings all configured sites
- Records response times and status codes
- Updates
history/{site-slug}.ymlfiles - Opens GitHub issues when sites go down
- Closes issues when sites come back up
- Sends notifications (if configured)
response-time
Set to
"response-time" to update response time data and graphsresponse-time.yml, setup.yml
Schedule: Daily at 11 PM UTC (default)
What it does:
- Calculates average response times (all-time, yearly, monthly, weekly, daily)
- Updates JSON endpoints in
api/{site-slug}/ - Commits response time data to git history
graphs
Set to
"graphs" to generate response time graphsgraphs.yml
Schedule: Daily at midnight UTC (default)
What it does:
- Generates response time graphs for each site
- Creates PNG images in
graphs/{site-slug}/ - Generates graphs for: day, week, month, year, and all-time
- Graph dimensions: 600x400 pixels
site
Set to
"site" to build and deploy the status pagesite.yml, setup.yml
Schedule: Daily at 1 AM UTC (default)
What it does:
- Builds the Svelte/Sapper status page
- Generates static HTML/CSS/JS files
- Outputs to
site/status-page/__sapper__/export/ - Deploys to GitHub Pages (via
peaceiris/actions-gh-pages)
readme
Set to
"readme" to update the README with status summarysummary.yml, setup.yml
Schedule: Daily at midnight UTC (default)
What it does:
- Generates a summary table of all monitored sites
- Updates the README.md file between comment markers
- Includes current status, response times, and uptime percentages
- Adds status badges and response time graphs
update-template
Set to
"update-template" to regenerate workflow files.upptimerc.yml configuration.
Used in: setup.yml
Trigger: When .upptimerc.yml is modified
What it does:
- Reads your
.upptimerc.ymlconfiguration - Generates workflow files in
.github/workflows/ - Updates cron schedules based on
workflowSchedulesettings - Creates workflow files:
uptime.yml,response-time.yml,graphs.yml,site.yml,summary.yml
Workflows Overview
Uptime CI
File:.github/workflows/uptime.yml
Purpose: Continuously monitor site availability
Schedule: Every 5 minutes (customizable via workflowSchedule.uptime)
Triggers:
- Scheduled cron job
- Manual workflow dispatch
- Repository dispatch event type
uptime
update
Response Time CI
File:.github/workflows/response-time.yml
Purpose: Update response time statistics
Schedule: Daily at 11 PM UTC (customizable via workflowSchedule.responseTime)
Triggers:
- Scheduled cron job
- Manual workflow dispatch
- Repository dispatch event type
response_time
response-time
Graphs CI
File:.github/workflows/graphs.yml
Purpose: Generate response time visualization graphs
Schedule: Daily at midnight UTC (customizable via workflowSchedule.graphs)
Triggers:
- Scheduled cron job
- Manual workflow dispatch
- Repository dispatch event type
graphs
graphs
Static Site CI
File:.github/workflows/site.yml
Purpose: Build and deploy status page website
Schedule: Daily at 1 AM UTC (customizable via workflowSchedule.site)
Triggers:
- Scheduled cron job
- Manual workflow dispatch
- Repository dispatch event type
static_site
site
Skip condition: Skips if commit message contains [skip ci]
Summary CI
File:.github/workflows/summary.yml
Purpose: Update README with status summary
Schedule: Daily at midnight UTC
Triggers:
- Scheduled cron job
- Manual workflow dispatch
- Repository dispatch event type
summary
readme
Setup CI
File:.github/workflows/setup.yml
Purpose: Initialize or reconfigure Upptime
Triggers:
- Push to
.upptimerc.yml - Manual workflow dispatch
- Repository dispatch event type
setup
update-template, response-time, readme, site
Special: Also triggers the Graphs CI workflow
Environment Variables
GH_PAT
GitHub Personal Access Token for API access and git operations
- Creating and managing issues
- Committing changes to the repository
- Deploying to GitHub Pages
- Accessing private repositories
github.token if not provided, but a PAT with full repo scope is recommended.
Setup:
- Create a Personal Access Token with
reposcope - Add it to repository secrets as
GH_PAT
SECRETS_CONTEXT
JSON object containing all repository secrets
.upptimerc.yml (e.g., notification webhooks, SMTP passwords).
Usage:
Manual Triggers
You can manually trigger any workflow using:GitHub UI
- Go to the Actions tab
- Select the workflow from the left sidebar
- Click Run workflow
- Choose the branch and click Run workflow
GitHub CLI
Repository Dispatch API
uptime- Trigger Uptime CIresponse_time- Trigger Response Time CIgraphs- Trigger Graphs CIstatic_site- Trigger Static Site CIsummary- Trigger Summary CIsetup- Trigger Setup CI
Workflow Customization
Changing Schedules
Edit.upptimerc.yml:
Disabling Workflows
To disable a workflow:- Go to Actions > Workflows
- Select the workflow
- Click the … menu
- Select Disable workflow
Action Version
All workflows use the Upptime action:.upptimerc.yml (if supported) or by editing workflow files directly (though this is not recommended as they are auto-generated).
Workflow Outputs
Workflows produce several types of output:Git Commits
- History updates (
history/{site}.yml) - Response time data (
api/{site}/) - Graphs (
graphs/{site}/) - README updates
- Workflow file updates
GitHub Issues
- Opened when sites go down
- Updated with incident reports
- Closed when sites recover
GitHub Pages Deployment
- Static status page deployed to
gh-pagesbranch - Accessible at your configured domain or GitHub Pages URL
Troubleshooting
Workflow not running
- Check that Actions are enabled in repository settings
- Verify cron schedule syntax
- Check workflow dispatch permissions
Permission errors
- Ensure
GH_PAThasreposcope - Check repository Actions permissions
- Verify GitHub Pages is enabled
Build failures
- Check Action logs in the Actions tab
- Verify
.upptimerc.ymlsyntax - Ensure all required secrets are configured
Next Steps
Configuration Reference
Complete schema for
.upptimerc.ymlAPI Overview
Access uptime and response time data programmatically