> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sidenet.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create workflow schedule

> Schedules a workflow (its active version) to run unattended as `user_id`. Timing is a structured `recurrence` (`once | hourly | daily | weekdays | weekly` + date/time/minute/weekday) or a raw `cron`, in `timezone`. `notify: "thread"` (default) files each run's result as a new conversation for that user (`thread_title` required; `copilot_id` puts it under the right widget); `notify: "none"` only logs the run. API key only.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/workflow-schedules
openapi: 3.1.0
info:
  title: Sidenet API
  version: 1.0.0
  description: >-
    Sidenet HTTP endpoints exposed by the Sidenet Studio. All routes require an
    api key that can be generated through the studio in studio.sidenet.ai.
servers:
  - url: https://api.sidenet.ai
security:
  - bearerAuth: []
paths:
  /v1/workflow-schedules:
    post:
      tags:
        - Workflows
      summary: Create workflow schedule
      description: >-
        Schedules a workflow (its active version) to run unattended as
        `user_id`. Timing is a structured `recurrence` (`once | hourly | daily |
        weekdays | weekly` + date/time/minute/weekday) or a raw `cron`, in
        `timezone`. `notify: "thread"` (default) files each run's result as a
        new conversation for that user (`thread_title` required; `copilot_id`
        puts it under the right widget); `notify: "none"` only logs the run. API
        key only.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - workflow_id
                - user_id
                - timezone
              properties:
                workflow_id:
                  type: string
                  format: uuid
                  example: 4c2f9e18-7a63-4d05-b1e8-93a7c0f2d641
                user_id:
                  type: string
                  example: user_4821
                  description: >-
                    The user the runs execute as (billing group, integrations,
                    result thread owner).
                copilot_id:
                  type: string
                  format: uuid
                  example: a5e91c07-3f24-4b68-9d15-8c72e0b4a396
                group:
                  type: object
                  properties:
                    id:
                      type: string
                      example: grp_84f20c19
                    name:
                      type: string
                recurrence:
                  type: object
                  example:
                    frequency: weekdays
                    time: '08:00'
                cron:
                  type: string
                  example: 0 8 * * 1-5
                  description: 'Alternative to recurrence. Minimum interval: hourly.'
                timezone:
                  type: string
                  example: Europe/Paris
                starts_at:
                  type: string
                  format: date-time
                ends_at:
                  type: string
                  format: date-time
                input:
                  type: object
                  example:
                    channel: '#growth'
                notify:
                  type: string
                  enum:
                    - thread
                    - none
                  default: thread
                thread_title:
                  type: string
                  example: Daily signups digest
                name:
                  type: string
      responses:
        '201':
          description: The schedule, with its next run times
          content:
            application/json:
              schema:
                type: object
                properties:
                  schedule:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      workflow_id:
                        type: string
                        format: uuid
                      owner_kind:
                        type: string
                        enum:
                          - org
                          - chatter
                      user_id:
                        type: string
                        description: The user the runs execute as.
                      status:
                        type: string
                        enum:
                          - active
                          - paused
                          - completed
                          - disabled
                      recurrence:
                        type: object
                      cron:
                        type: string
                        nullable: true
                      run_at:
                        type: string
                        format: date-time
                        nullable: true
                      description:
                        type: string
                        description: >-
                          Human form, e.g. "every weekday at 08:00
                          Europe/Paris".
                      timezone:
                        type: string
                      next_fire_at:
                        type: string
                        format: date-time
                        nullable: true
                      last_fire_at:
                        type: string
                        format: date-time
                        nullable: true
                      last_run_status:
                        type: string
                        nullable: true
                      notify:
                        type: string
                        enum:
                          - thread
                          - none
                      thread_title:
                        type: string
                        nullable: true
                  next_fires:
                    type: array
                    items:
                      type: string
                      format: date-time
        '400':
          description: Invalid body / timing / workflow not published
        '403':
          description: Session tokens cannot create schedules
        '404':
          description: Workflow not found
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Organization API key, generated in studio.sidenet.ai. Backend only —
        never in a browser.

````