Dispatches a GitHub Action workflow for a given branch or tag
Input Schema
| Property | Type | Description | Required | 
|---|---|---|---|
| token | string | The `GITHUB_TOKEN` to use for authorization to GitHub | |
| repoUrl | string | Accepts the format `github.com?repo=reponame&owner=owner` where `reponame` is the new repository name and `owner` is an organization or username | |
| workflowId | string | The GitHub Action Workflow filename | |
| workflowInputs | object | Inputs keys and values to send to GitHub Action configured on the workflow file. The maximum number of properties is 10. | |
| branchOrTagName | string | The git branch or tag name used to dispatch the workflow | 
Output Schema
Usage Examples
Trigger CI on main after scaffolding
Runs the repository CI workflow on the main branch right after content is prepared. Use this when your workflow needs parameters like Node version or lint toggle. The example fetches files with fetch:template then dispatches the workflow.
steps:
  - id: fetch
    action: fetch:template
    input:
      url: ./skeleton
      values:
        name: ${{ parameters.repoName }}
        owner: ${{ parameters.owner }}
  - id: trigger-ci
    action: github:actions:dispatch
    input:
      repoUrl: github.com?owner=${{ parameters.owner }}&repo=${{ parameters.repoName }}
      workflowId: ci.yml
      branchOrTagName: main
      workflowInputs:
        node_version: 20
        run_lint: true
      token: ${{ secrets.githubToken }}Dispatch a release workflow for a specific tag
Dispatches a release workflow using a tag provided at template execution time. Use this when a tag already exists and your workflow expects release inputs.
steps:
  - id: trigger-release
    action: github:actions:dispatch
    input:
      repoUrl: github.com?owner=${{ parameters.owner }}&repo=${{ parameters.repoName }}
      workflowId: release.yml
      branchOrTagName: ${{ parameters.releaseTag }}
      workflowInputs:
        release_name: ${{ parameters.releaseTag }}
        generate_changelog: true
        prerelease: false
      token: ${{ secrets.githubToken }}Run integration tests on a feature branch
Starts a workflow on a feature branch with environment specific inputs. Use this to validate changes before opening a pull request. Content is prepared with fetch:template.
steps:
  - id: fetch
    action: fetch:template
    input:
      url: ./service-template
      values:
        serviceId: ${{ parameters.serviceId }}
        owner: ${{ parameters.owner }}
  - id: trigger-tests
    action: github:actions:dispatch
    input:
      repoUrl: github.com?owner=${{ parameters.owner }}&repo=${{ parameters.repoName }}
      workflowId: tests.yml
      branchOrTagName: feature/${{ parameters.featureName }}
      workflowInputs:
        test_suite: integration
        environment: staging
        enable_cache: false
        timeout_minutes: 30Kick off an infra plan in a separate repository
Dispatches a Terraform plan workflow in a dedicated infrastructure repository. Use this to coordinate application scaffolding with an infra plan for a specific environment.
steps:
  - id: plan-infra
    action: github:actions:dispatch
    input:
      repoUrl: github.com?owner=acme-corp&repo=platform-infra
      workflowId: terraform-plan.yml
      branchOrTagName: main
      workflowInputs:
        service: ${{ parameters.serviceId }}
        environment: prod
        plan_only: true
        terraform_version: 1.6.6
      token: ${{ secrets.githubToken }}Trigger a release candidate pipeline without additional inputs
Dispatches a workflow using a release candidate tag with no extra inputs. Use this when the workflow has only required GitHub inputs. This example relies on the GitHub integration token.
steps:
  - id: trigger-rc
    action: github:actions:dispatch
    input:
      repoUrl: github.com?owner=octo-org&repo=payment-service
      workflowId: build-and-release.yml
      branchOrTagName: v2.0.0-rc.1