# solid-router-actions > Solid Router actions: action() for mutations, useAction for programmatic calls, useSubmission/useSubmissions for tracking state, form submissions with FormData. - Author: Federico Valla - Repository: vallafederico/solid-ai-rules - Version: 20260131154742 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/vallafederico/solid-ai-rules - Web: https://mule.run/skillshub/@@vallafederico/solid-ai-rules~solid-router-actions:20260131154742 --- --- name: solid-router-actions description: "Solid Router actions: action() for mutations, useAction for programmatic calls, useSubmission/useSubmissions for tracking state, form submissions with FormData." metadata: globs: - "**/*router*" - "**/routes/**/*" --- # Solid Router Actions & Submissions ## Defining Actions Actions handle mutations and form submissions: ```tsx import { action } from "@solidjs/router"; const createTicketAction = action(async (subject: string) => { const response = await fetch("/api/tickets", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ subject }) }); if (!response.ok) { const error = await response.json(); return { ok: false, message: error.message }; } return { ok: true }; }, "createTicket"); ``` ## Using Actions with Forms ```tsx import { action } from "@solidjs/router"; const submitFeedbackAction = action(async (formData: FormData) => { const message = formData.get("message")?.toString(); // Process form data return { success: true }; }, "submitFeedback"); function FeedbackForm() { return (