---
search:
  tags:
    - V1
    - POST
seo:
  description: >-
    Create a scheduled task: saved instructions that run as an… Reference for
    the POST /v1/projects/{projectId}/scheduled-tasks endpoint in the Judgeval
    API.
sidebar:
  label: Create a scheduled task
  badge: POST
title: Create a scheduled task
type: openapi-operation
---
Create a scheduled task: saved instructions that run as an agent on a schedule or on demand, optionally with Slack delivery.

`POST /v1/projects/{projectId}/scheduled-tasks`

**Request body** (`application/json`, required)

- `name` (string, required) — Scheduled task name.
- `description` (string) — Human-readable scheduled task description.
- `instructions` (string) — Instructions the task follows on each run.
- `mode` (string) — Execution mode. Use fast for quick runs or deep\_research for more thorough runs.
- `tool_permission_mode` (string) — Write-tool approval mode. Use auto\_require\_permission to ask before write actions or always\_accept to approve automatically.
- `schedule` (object) — When the task runs on its own. An omitted cadence keeps the one already stored, so a schedule can be turned back on without restating it.
- `slack_channel_ids` (string[]) — Slack channel IDs the final output of each scheduled run is posted to. An empty list stops delivery. Requires the organization to have Slack connected.

Request body example:

```json
{
  "name": "string",
  "description": "string",
  "instructions": "string",
  "mode": "fast",
  "tool_permission_mode": "auto_require_permission",
  "schedule": {
    "enabled": true,
    "cadence": {
      "mode": "calendar",
      "frequency": "daily",
      "dayOfWeek": 0,
      "daysOfWeek": [
        0
      ],
      "hour": 0,
      "minute": 0
    },
    "timezone": "string"
  },
  "slack_channel_ids": [
    "string"
  ]
}
```

**Responses**

- `200` — Response for status 200

Response example, 200:

```json
{
  "task": {
    "id": "string",
    "kind": "custom",
    "is_default": true,
    "name": "string",
    "description": "string",
    "instructions": "string",
    "mode": "fast",
    "tool_permission_mode": "auto_require_permission",
    "created_by": "string",
    "created_at": "string",
    "updated_at": "string",
    "schedule": {
      "enabled": true,
      "cadence": {
        "mode": "calendar",
        "frequency": "daily",
        "dayOfWeek": 0,
        "daysOfWeek": [
          0
        ],
        "hour": 0,
        "minute": 0
      },
      "timezone": "string",
      "sync_error": "string"
    },
    "slack_channel_ids": [
      "string"
    ]
  }
}
```
