diff --git a/pkg/runner/expression.go b/pkg/runner/expression.go
index adba569..4369980 100644
--- a/pkg/runner/expression.go
+++ b/pkg/runner/expression.go
@@ -331,15 +331,17 @@ func getEvaluatorInputs(ctx context.Context, rc *RunContext, step step, ghc *mod
 
 	if ghc.EventName == "workflow_dispatch" {
 		config := rc.Run.Workflow.WorkflowDispatchConfig()
-		for k, v := range config.Inputs {
-			value := nestedMapLookup(ghc.Event, "inputs", k)
-			if value == nil {
-				value = v.Default
-			}
-			if v.Type == "boolean" {
-				inputs[k] = value == "true"
-			} else {
-				inputs[k] = value
+		if config != nil && config.Inputs != nil {
+			for k, v := range config.Inputs {
+				value := nestedMapLookup(ghc.Event, "inputs", k)
+				if value == nil {
+					value = v.Default
+				}
+				if v.Type == "boolean" {
+					inputs[k] = value == "true"
+				} else {
+					inputs[k] = value
+				}
 			}
 		}
 	}
diff --git a/pkg/runner/runner_test.go b/pkg/runner/runner_test.go
index dbf8a00..232fc16 100644
--- a/pkg/runner/runner_test.go
+++ b/pkg/runner/runner_test.go
@@ -183,6 +183,9 @@ func TestRunEvent(t *testing.T) {
 		{workdir, "evalenv", "push", "", platforms},
 		{workdir, "ensure-post-steps", "push", "Job 'second-post-step-should-fail' failed", platforms},
 		{workdir, "workflow_dispatch", "workflow_dispatch", "", platforms},
+		{workdir, "workflow_dispatch_no_inputs_mapping", "workflow_dispatch", "", platforms},
+		{workdir, "workflow_dispatch-scalar", "workflow_dispatch", "", platforms},
+		{workdir, "workflow_dispatch-scalar-composite-action", "workflow_dispatch", "", platforms},
 		{"../model/testdata", "strategy", "push", "", platforms}, // TODO: move all testdata into pkg so we can validate it with planner and runner
 		// {"testdata", "issue-228", "push", "", platforms, }, // TODO [igni]: Remove this once everything passes
 		{"../model/testdata", "container-volumes", "push", "", platforms},
diff --git a/pkg/runner/testdata/workflow_dispatch-scalar-composite-action/workflow_dispatch.yml b/pkg/runner/testdata/workflow_dispatch-scalar-composite-action/workflow_dispatch.yml
new file mode 100644
index 0000000..f8447b4
--- /dev/null
+++ b/pkg/runner/testdata/workflow_dispatch-scalar-composite-action/workflow_dispatch.yml
@@ -0,0 +1,17 @@
+name: workflow_dispatch
+
+on: workflow_dispatch
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - run: |
+          runs:
+            using: composite
+            steps:
+            - run: |
+                exit 0
+              shell: bash
+        shell: cp {0} action.yml
+      - uses: ./
diff --git a/pkg/runner/testdata/workflow_dispatch-scalar/workflow_dispatch.yml b/pkg/runner/testdata/workflow_dispatch-scalar/workflow_dispatch.yml
new file mode 100644
index 0000000..9c900e8
--- /dev/null
+++ b/pkg/runner/testdata/workflow_dispatch-scalar/workflow_dispatch.yml
@@ -0,0 +1,9 @@
+name: workflow_dispatch
+
+on: workflow_dispatch
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - run: exit 0
diff --git a/pkg/runner/testdata/workflow_dispatch_no_inputs_mapping/workflow_dispatch.yml b/pkg/runner/testdata/workflow_dispatch_no_inputs_mapping/workflow_dispatch.yml
new file mode 100644
index 0000000..9fc6b09
--- /dev/null
+++ b/pkg/runner/testdata/workflow_dispatch_no_inputs_mapping/workflow_dispatch.yml
@@ -0,0 +1,10 @@
+name: workflow_dispatch
+
+on:
+  workflow_dispatch:
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - run: exit 0