diff --git a/skyvern-frontend/src/routes/tasks/create/CreateNewTaskForm.tsx b/skyvern-frontend/src/routes/tasks/create/CreateNewTaskForm.tsx
index 534ed802..293c2af7 100644
--- a/skyvern-frontend/src/routes/tasks/create/CreateNewTaskForm.tsx
+++ b/skyvern-frontend/src/routes/tasks/create/CreateNewTaskForm.tsx
@@ -21,9 +21,10 @@ import { KeyValueInput } from "@/components/KeyValueInput";
import { useApiCredential } from "@/hooks/useApiCredential";
import { useCredentialGetter } from "@/hooks/useCredentialGetter";
import { CodeEditor } from "@/routes/workflows/components/CodeEditor";
-import { apiBaseUrl } from "@/util/env";
+import { runsApiBaseUrl } from "@/util/env";
import { CopyApiCommandDropdown } from "@/components/CopyApiCommandDropdown";
import { type ApiCommandOptions } from "@/util/apiCommands";
+import { buildTaskRunPayload } from "@/util/taskRunPayload";
import { zodResolver } from "@hookform/resolvers/zod";
import { PlayIcon, ReloadIcon } from "@radix-ui/react-icons";
import { ToastAction } from "@radix-ui/react-toast";
@@ -754,17 +755,30 @@ function CreateNewTaskForm({ initialValues }: Props) {
- ({
+ getOptions={() => {
+ const formValues = form.getValues();
+ const includeOverrideHeader =
+ formValues.maxStepsOverride !== null &&
+ formValues.maxStepsOverride !== MAX_STEPS_DEFAULT;
+
+ const headers: Record = {
+ "Content-Type": "application/json",
+ "x-api-key": apiCredential ?? "",
+ };
+
+ if (includeOverrideHeader) {
+ headers["x-max-steps-override"] = String(
+ formValues.maxStepsOverride,
+ );
+ }
+
+ return {
method: "POST",
- url: `${apiBaseUrl}/tasks`,
- body: createTaskRequestObject(form.getValues()),
- headers: {
- "Content-Type": "application/json",
- "x-api-key": apiCredential ?? "",
- },
- }) satisfies ApiCommandOptions
- }
+ url: `${runsApiBaseUrl}/run/tasks`,
+ body: buildTaskRunPayload(createTaskRequestObject(formValues)),
+ headers,
+ } satisfies ApiCommandOptions;
+ }}
/>