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; + }} />