Add test for action invocation
diff --git a/plan_test.go b/plan_test.go
index c97f8f9..9776b9b 100644
--- a/plan_test.go
+++ b/plan_test.go
@@ -136,6 +136,48 @@
 	}
 }
 
+func TestPlan_actionInvocations(t *testing.T) {
+	f, err := os.Open("testdata/actions/plan.json")
+	if err != nil {
+		t.Fatal(err)
+	}
+	defer f.Close()
+
+	var plan *Plan
+	if err := json.NewDecoder(f).Decode(&plan); err != nil {
+		t.Fatal(err)
+	}
+
+	if err := plan.Validate(); err != nil {
+		t.Fatal(err)
+	}
+
+	if len(plan.ActionInvocations) != 1 {
+		t.Fatalf("expected exactly 1 action invocation, got %d", len(plan.ActionInvocations))
+	}
+
+	expectedAction := []*ActionInvocation{
+		{
+			Address: "action.bufo_print.success",
+			Type:    "bufo_print",
+			Name:    "success",
+			ConfigValues: map[string]json.RawMessage{
+				"color": json.RawMessage("null"),
+				"name":  json.RawMessage(`"bufo-the-builder"`),
+				"ratio": json.RawMessage("null"),
+			},
+			ConfigSensitive:        json.RawMessage("{}"),
+			ProviderName:           "registry.terraform.io/austinvalle/bufo",
+			LifecycleActionTrigger: nil,
+			InvokeActionTrigger:    &InvokeActionTrigger{},
+		},
+	}
+
+	if diff := cmp.Diff(expectedAction, plan.ActionInvocations); diff != "" {
+		t.Fatalf("unexpected action invocation: %s", diff)
+	}
+}
+
 func TestPlan_UnmarshalJSON(t *testing.T) {
 	t.Parallel()
 
@@ -168,7 +210,6 @@
 			plan.UseJSONNumber(testCase.useJSONNumber)
 
 			err = plan.UnmarshalJSON(b)
-
 			if err != nil {
 				t.Fatal(err)
 			}
diff --git a/testdata/actions/plan.json b/testdata/actions/plan.json
new file mode 100644
index 0000000..0ef1341
--- /dev/null
+++ b/testdata/actions/plan.json
@@ -0,0 +1,41 @@
+{
+  "format_version": "1.2",
+  "planned_values": { "root_module": {} },
+  "action_invocations": [
+    {
+      "address": "action.bufo_print.success",
+      "type": "bufo_print",
+      "name": "success",
+      "config_values": {
+        "color": null,
+        "name": "bufo-the-builder",
+        "ratio": null
+      },
+      "config_sensitive": {},
+      "provider_name": "registry.terraform.io/austinvalle/bufo",
+      "invoke_action_trigger": {}
+    }
+  ],
+  "configuration": {
+    "provider_config": {
+      "bufo": {
+        "name": "bufo",
+        "full_name": "registry.terraform.io/austinvalle/bufo"
+      }
+    },
+    "root_module": {
+      "actions": [
+        {
+          "address": "action.bufo_print.success",
+          "type": "bufo_print",
+          "name": "success",
+          "provider_config_key": "bufo"
+        }
+      ]
+    }
+  },
+  "timestamp": "2025-09-12T09:56:02Z",
+  "applyable": true,
+  "complete": true,
+  "errored": false
+}