Skip to main content
Advanced Actions Invoker

Advanced Actions Invoker

Compose and execute complex GitHub Actions workflow forms with ease. Build custom forms using the Composer and execute them with the Chrome Extension.

Features a drag-and-drop form builder with validation, and a Chrome extension that enhances GitHub's workflow dispatch interface.

Best For

devopsgithub actionsautomation

Use with AI

Download skill · Installation and examples

Form settings
*
Which environment should this workflow target?
*
Use semantic versioning, e.g. v1.4.0
(optional)
Skip deployment changes and validate configuration only.
Form Preview

Which environment should this workflow target?

Use semantic versioning, e.g. v1.4.0

Skip deployment changes and validate configuration only.

Export & Run

Use Advanced Actions Invoker Utils to turn your form values into workflow outputs. See the setup guide and v1.0.0 release.

Workflow preview
name: Advanced Actions Invoker
on:
  workflow_dispatch:
    inputs:
      schema:
        description: JSON schema for the composer
        required: true
        type: string
        default: '{"type":"object","properties":{"environment":{"type":"string","enum":["development","staging","production"],"title":"Environment","default":"staging","description":"Which
          environment should this workflow
          target?"},"version":{"type":"string","pattern":"^v\\d+\\.\\d+\\.\\d+$","title":"Release
          version","description":"Use semantic versioning, e.g.
          v1.4.0","default":"v1.0.0"},"dryRun":{"type":"boolean","title":"Dry
          run only","description":"Skip deployment changes and validate
          configuration
          only.","default":true}},"required":["environment","version"]}'
      layout:
        description: UI schema describing layout
        required: true
        type: string
        default: '{"type":"VerticalLayout","elements":[{"type":"Control","scope":"#/properties/environment"},{"type":"Control","scope":"#/properties/version"},{"type":"Control","scope":"#/properties/dryRun"}]}'
      data:
        description: Initial data payload
        required: false
        type: string
        default: '{"environment":"staging","version":"v1.0.0","dryRun":true}'
      style:
        description: Optional visual preferences
        required: false
        type: string
        default: "{}"
permissions:
  contents: read
jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - name: Validate dispatch values
        env:
          FORM_SCHEMA: ${{ inputs.schema }}
          FORM_LAYOUT: ${{ inputs.layout }}
          FORM_DATA: ${{ inputs.data }}
          FORM_STYLE: ${{ inputs.style }}
        run: >-
          node <<'NODE'

          for (const key of ['FORM_SCHEMA', 'FORM_LAYOUT', 'FORM_DATA',
          'FORM_STYLE']) {
            const value = JSON.parse(process.env[key] || '{}');
            if (!value || typeof value !== 'object' || Array.isArray(value)) throw new Error(key + ' must be an object');
          }

          console.log('Dispatch inputs parsed. Add your reviewed deployment
          steps here.');

          NODE