| step | Action step to run: 'start' or 'stop' (standalone mode) | no | "" |
| run | Command to wrap (wrapper mode — runs command with monitoring active) | no | "" |
| duration | Max monitoring duration (e.g. 30m). Defaults to unlimited. | no | 0 |
| interval | Metrics sampling interval (e.g. 5s) | no | 5s |
| export | Comma-separated export backends: file,otlp,prometheus,http | no | file |
| output-dir | Directory to write metrics files | no | ${{ github.workspace }}/.runright |
| job-id | Unique job identifier (defaults to the GitHub job name) | no | ${{ github.job }} |
| http-url | runright backend URL for http export | no | "" |
| upload-artifact | Upload metrics files as a GitHub Artifact | no | true |
| version | runright binary version to download | no | latest |
| github-token | GitHub token used to post PR comments (defaults to the built-in token) | no | ${{ github.token }} |
| pr-comment | Post recommendations as a PR comment (true/false) | no | true |
| provider | Filter recommendations by cloud provider: aws, gcp, or github (default: all) | no | "" |
| max-cost-per-hour | Budget guard: fail the step if the detected machine's on-demand price exceeds this value (e.g. 0.50). Empty = disabled. | no | "" |
| notify-slack | Slack incoming webhook URL. When set, posts a per-job saving alert on completion. | no | "" |
| notify-teams | Microsoft Teams incoming webhook URL. When set, posts a per-job saving alert on completion. | no | "" |
| dry-run | Observation-only mode: collect metrics and log recommendations but skip PR comments and artifact uploads. | no | false |
| rollup | Combine all RunRight PR comments for this workflow into a single comment table (one row per job). | no | false |