https://github.blog/changelog/2021-11-10-github-actions-input-types-for-manual-workflows/ has a few more. Feel free to make a pull request: https://github.com/github/docs/edit/main/content/actions/learn-github-actions/workflow-syntax-for-github-actions.md Answer from David_AnkiDroid on reddit.com
🌐
GitHub
github.blog › home › changelogs › github actions: input types for manual workflows
GitHub Actions: Input types for manual workflows - GitHub Changelog
March 22, 2025 - name: Mixed inputs on: workflow_dispatch: inputs: name: type: choice description: Who to greet options: - monalisa - cschleiden message: required: true use-emoji: type: boolean description: Include 🎉🤣 emojis environment: type: environment jobs: greet: runs-on: ubuntu-latest steps: - name: Send greeting run: echo "${{ github.event.inputs.message }} ${{ fromJSON('["", "🥳"]')[github.event.inputs.use-emoji == 'true'] }} ${{ github.event.inputs.name }}" Learn more about workflow inputs. For questions, visit the GitHub Actions community.
Discussions

yaml - How to define inputs in a `push` trigger in Github Actions? - Stack Overflow
name: Main on: push: branches: - main - inputs: database_version: type: string required: true default: abcd ... This is the doc about Metadata syntax for Github Action. More on stackoverflow.com
🌐 stackoverflow.com
Options lists for `type: choice` inputs in `gh workflow run`
It would be nice if the CLI would ... type the input manually ... enhancementa request to improve CLIa request to improve CLIgh-workflowrelating to the gh workflow commandrelating to the gh workflow commandhelp wantedContributions welcomeContributions welcome ... No fields configured for issues without a type. ... You can’t perform that action at this ... More on github.com
🌐 github.com
13
September 18, 2023
How to provide multiple inputs for a manually triggered (workflow_dispatch) workflow in github actions? - Stack Overflow
When user runs a workflow manually, ... only string as an input. Is there anyway to deal with this situation using github actions? ... So workflow_dispatch events actually support 3 input types; choice, environment, boolean.... More on stackoverflow.com
🌐 stackoverflow.com
Support "multi-choice" input type for manual workflows
Describe the enhancement Current set of input types doesn't cover some use-cases for manual workflows We use a single gh-action as an entrypoint of deploying packages from our monorepo, and som... More on github.com
🌐 github.com
375
August 22, 2022
🌐
GitHub
docs.github.com › enterprise-cloud@latest › actions › using-workflows › workflow-syntax-for-github-actions
Workflow syntax for GitHub Actions - GitHub Enterprise Cloud Docs
GitHub displays the workflow run name in the list of workflow runs on your repository's "Actions" tab. If run-name is omitted or is only whitespace, then the run name is set to event-specific information for the workflow run. For example, for a workflow triggered by a push or pull_request event, it is set as the commit message or the title of the pull request. This value can include expressions and can reference the github and inputs contexts.
🌐
Graphite
graphite.com › guides › github-actions-inputs
GitHub Actions inputs - Graphite
String: The most common type, used for text inputs. Boolean: Used for true/false conditions. Choice: Allows the user to select from a predefined list of options. These inputs can be used in different parts of a GitHub Action workflow, particularly ...
🌐
GitHub
github.com › marketplace › actions › interactive-inputs
Interactive Inputs · Actions · GitHub Marketplace · GitHub
Interactive Inputs now enables GitHub Actions to support dynamic runtime user inputs for workflows and composite actions. This action allows you to leverage various input field types, including but not limited to text, multiple choice, and even uploading files, creating dynamic workflows that adapt to your CI/CD needs.
🌐
GitHub
docs.github.com › en › actions › reference › workflows-and-actions › metadata-syntax
Metadata syntax reference - GitHub Actions
For more information about the with syntax, see Workflow syntax for GitHub Actions. inputs: num-octocats: description: 'Number of Octocats' required: false default: '1' octocat-eye-color: description: 'Eye color of the Octocats' required: true
🌐
OneUptime
oneuptime.com › home › blog › how to use workflow dispatch inputs in github actions
How to Use Workflow Dispatch Inputs in GitHub Actions
December 20, 2025 - name: Release on: workflow_dispatch: inputs: release_type: description: 'Release type' required: true type: choice options: - major - minor - patch - prerelease prerelease_tag: description: 'Prerelease tag (alpha, beta, rc)' required: false type: string default: '' create_github_release: description: 'Create GitHub release' type: boolean default: true publish_npm: description: 'Publish to npm' type: boolean default: true publish_docker: description: 'Publish Docker image' type: boolean default: true jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 -
Find elsewhere
🌐
GitHub
github.com › orgs › community › discussions › 11692
Array input type support in reusable workflows · community · Discussion #11692
windows-sdk-versions: required: false type: string is-array: true ... - name: Setup Windows SDK if: inputs.windows-sdk-versions[*] != '16299' # for each windows-sdk-version != '16299' it will be expanded into the original code uses: GuillaumeFalourd/setup-windows10-sdk-action@v1 with: sdk-version: ${{ inputs.windows-sdk-versions[*] }} - name: Install Windows SDK 10.0.16299 if: inputs.windows-sdk-versions[*] == '16299' # if any of windows-sdk-versions is '16299' shell: pwsh run: | Invoke-WebRequest -Uri https://go.microsoft.com/fwlink/p/?linkid=864422 -OutFile winsdk.exe $startInfo = New-Object System.Diagnostics.ProcessStartInfo $startInfo.FileName = "winsdk.exe" $startInfo.Arguments = "/norestart /quiet" $process = New-Object System.Diagnostics.Process $process.StartInfo = $startInfo
🌐
Stack Overflow
stackoverflow.com › questions › 76211346 › how-to-define-inputs-in-a-push-trigger-in-github-actions
yaml - How to define inputs in a `push` trigger in Github Actions? - Stack Overflow
name: Main on: push: branches: - main - <other branch> inputs: database_version: type: string required: true default: abcd ... This is the doc about Metadata syntax for Github Action.
🌐
Medium
poojabolla.medium.com › manual-triggers-in-github-actions-a-guide-to-workflow-dispatch-with-input-parameters-e127a0d39b11
🧠Manual Triggers in GitHub Actions: A Guide to workflow_dispatch with Input Parameters | by Pooja Bolla | Medium
April 9, 2025 - GitHub Actions provides a powerful way to manually trigger workflows using the workflow_dispatch event while passing custom parameters. Let’s explore how to implement this functionality. Here’s a simple example of how to set up a manually triggered workflow: name: Manual Workflow on: workflow_dispatch: inputs: environment: description: 'Environment to deploy to' required: true default: 'dev' type: choice options: - dev - staging - prod debug_enabled: description: 'Enable debug mode' required: false type: boolean default: false version: description: 'Version number' required: true type: string
🌐
OneUptime
oneuptime.com › home › blog › how to implement github actions action inputs
How to Implement GitHub Actions Action Inputs
January 30, 2026 - flowchart TB subgraph "Caller Workflow" CW[workflow_call] --> Inputs1[Input values] end subgraph "Reusable Workflow" RW[on: workflow_call] --> InputsDef[inputs definition] InputsDef --> Jobs[Jobs] Jobs --> Action[Action with inputs] end subgraph "Action" ActionYml[action.yml inputs] ActionCode[Action code] end Inputs1 --> RW Action --> ActionYml ActionYml --> ActionCode · # .github/workflows/deploy-reusable.yml name: Reusable Deploy on: workflow_call: inputs: environment: description: 'Deployment environment' required: true type: string version: description: 'Version to deploy' required: true
🌐
GitHub
github.com › orgs › community › discussions › 48373
What is the "correct" way to validate inputs for a manually triggered workflow · community · Discussion #48373
February 23, 2023 - Define input types (string, boolean, choice) in your workflow YAML. GitHub Actions automatically validates these types during manual triggering, providing user feedback for invalid inputs.
🌐
GitHub
github.com › cli › cli › issues › 8017
Options lists for `type: choice` inputs in `gh workflow run` · Issue #8017 · cli/cli
September 18, 2023 - It would be nice if the CLI would list the available options for choice-type inputs instead having the user type the input manually ... enhancementa request to improve CLIa request to improve CLIgh-workflowrelating to the gh workflow commandrelating to the gh workflow commandhelp wantedContributions welcomeContributions welcome ... No fields configured for issues without a type. ... You can’t perform that action at this time.
Author   zeevro
🌐
KodeKloud Notes
notes.kodekloud.com › docs › GitHub-Actions-Certification › GitHub-Actions-Core-Concepts › workflow-dispatch-Input-Options › page
workflow dispatch Input Options - GitHub Actions
Use inputs in if: conditional expressions. Enable workflow debug logs to troubleshoot. With these patterns, you can build flexible, user-friendly GitHub Actions workflows that adapt at run time.
Top answer
1 of 3
1

So workflow_dispatch events actually support 3 input types; choice, environment, boolean.

I don't think you'll be able to pass inputs for matrix tasks that expect a list of values though (you can definitely do it for single values

If there are only several inputs you might be able to use multiple booleans and conditionally run jobs or steps. Not as clean clean but will do the job.

on:
  workflow_dispatch:
    inputs:
      repo_1:
        type: boolean
        default: false
        description: Use Repo 1?
      repo_2:
        type: boolean
        default: false
        description: Use Repo 2?
jobs:
  repo-1-job:
    name: Repo 1 Job
    runs-on: ubuntu-latest
    if: github.event.inputs.repo_1 == 'true'
    steps:
      - run: echo "some repo 1 job"
  
  repo-2-job:
    name: Repo 2 Job
    runs-on: ubuntu-latest
    if: github.event.inputs.repo_2 == 'true'
    steps:
      - run: echo "some repo 2 job"
2 of 3
1

I'm following the idea of the example from the fromJSON documentation that sets a JSON matrix in one job, and passes it to the next job using an output.

The first job collects the true and false values from the inputs and creates a JSON object with key-value pairs where key is the repo and value is the boolean value. jq removes the elements with false and creates an JSON array of the remaining keys. This is put into the outputs.repos variable for the next job.

name: repos
on:
  workflow_dispatch:
    inputs:
      repo_1:
        type: boolean
        default: false
        description: Use Repo 1?
      repo_2:
        type: boolean
        default: false
        description: Use Repo 2?
      repo_3:
        type: boolean
        default: false
        description: Use Repo 3?
jobs:
  job1:
    runs-on: ubuntu-latest
    outputs:
      repos: ${{ steps.step1.outputs.repos }}
    steps:
      - id: step1
        run: >
          echo '{
            "repo_1": ${{ github.event.inputs.repo_1 }},
            "repo_2": ${{ github.event.inputs.repo_2 }},
            "repo_3": ${{ github.event.inputs.repo_3 }}
          }' 
          | echo "repos=$( jq -c 'map_values(. // empty) | keys' )"
          >> $GITHUB_OUTPUT      
  job2:
    needs: job1
    runs-on: ubuntu-latest
    strategy:
      matrix:
        repo: ${{ fromJSON(needs.job1.outputs.repos) }}
    steps:
      - run: echo ${{ matrix.repo }}
🌐
GitHub
github.com › actions › runner › issues › 2076
Support "multi-choice" input type for manual workflows · Issue #2076 · actions/runner
August 22, 2022 - on: workflow_dispatch: inputs: name: type: multi-choice description: select packages options: - go-service1 - go-service2 - py-service1 · ...and in fact would be more logical with less copy-paste overhead for our use-case ... You can’t perform that action at this time.
Author   DpoBoceka
🌐
Graphite
staging-graphite-splash.vercel.app › guides › github-actions-inputs
GitHub Actions inputs - Graphite - Vercel
String: The most common type, used for text inputs. Boolean: Used for true/false conditions. Choice: Allows the user to select from a predefined list of options. These inputs can be used in different parts of a GitHub Action workflow, particularly ...
🌐
GitHub
github.com › orgs › community › discussions › 34298
github workflow - input type choice with multi-select option · community · Discussion #34298
We use a single gh-action as an entrypoint of deploying packages from our monorepo, and sometimes we need > to manually deploy several packages simultaneously. Up until now we just went with a set of Booleans, so we could tick all the packages we needed to run our CI/CD against via UI. However, we speedily reached a actions/runner#1928 · Introducing an input type that would store a, say, json array could help:
🌐
GitHub
github.com › actions › toolkit › issues › 184
Support list input type · Issue #184 · actions/toolkit
October 10, 2019 - If you are having an issue or question ... Describe the enhancement An action should be able to have an input type which is a list of strings....
Author   bryanmacfarlane