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

# Get your workflows

> Get the event-type workflows owned by the authenticated user. Routing form workflows are not returned. Not available to third-party OAuth access tokens.



## OpenAPI

````yaml /api-reference/v2/openapi.json get /v2/workflows
openapi: 3.0.0
info:
  title: Cal.com API v2
  description: ''
  version: 1.0.0
  contact: {}
servers: []
security: []
tags: []
paths:
  /v2/workflows:
    get:
      tags:
        - Workflows
      summary: Get your workflows
      description: >-
        Get the event-type workflows owned by the authenticated user. Routing
        form workflows are not returned. Not available to third-party OAuth
        access tokens.
      operationId: UserWorkflowsController_getWorkflows
      parameters:
        - name: Authorization
          in: header
          description: >-
            value must be `Bearer <token>` where `<token>` is api key prefixed
            with cal_, managed user access token, or OAuth access token
          required: true
          schema:
            type: string
        - name: take
          required: false
          in: query
          description: Maximum number of items to return
          schema:
            minimum: 1
            maximum: 250
            default: 250
            example: 25
            type: number
        - name: skip
          required: false
          in: query
          description: Number of items to skip
          schema:
            minimum: 0
            default: 0
            example: 0
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEventTypeWorkflowsOutput'
components:
  schemas:
    GetEventTypeWorkflowsOutput:
      type: object
      properties:
        status:
          enum:
            - success
            - error
          type: string
          description: Indicates the status of the response
          example: success
        data:
          description: List of workflows
          type: array
          items:
            $ref: '#/components/schemas/EventTypeWorkflowOutput'
      required:
        - status
        - data
    EventTypeWorkflowOutput:
      type: object
      properties:
        id:
          type: number
          description: Unique identifier of the workflow
          example: 101
        name:
          type: string
          description: Name of the workflow
          example: Platform Test Workflow
        userId:
          type: number
          description: ID of the user who owns the workflow (if not team-owned)
          example: 2313
        teamId:
          type: number
          description: ID of the team owning the workflow
          example: 4214321
        createdAt:
          type: string
          description: Timestamp of creation
          example: '2024-05-12T10:00:00.000Z'
          format: date-time
        updatedAt:
          type: string
          description: Timestamp of last update
          example: '2024-05-12T11:30:00.000Z'
          format: date-time
        type:
          type: string
          enum:
            - event-type
          description: type of the workflow
          example: event-type
          default: event-type
        activation:
          description: Activation settings for the workflow
          allOf:
            - $ref: '#/components/schemas/EventTypeWorkflowActivationOutputDto'
        trigger:
          description: Trigger configuration
          allOf:
            - $ref: '#/components/schemas/EventTypeWorkflowTriggerOutputDto'
        steps:
          type: array
          description: >-
            Steps comprising the workflow. A workflow with conditional paths
            contains one paths step listing its branches, and a filter step for
            each gate; a delay step is a wait between sending steps; a workflow
            with lead enrichment contains one lead enrichment step; steps
            carrying a pathId only run when that path's conditions match.
          items:
            oneOf:
              - $ref: '#/components/schemas/EventTypeWorkflowStepOutputDto'
                title: Step
              - $ref: '#/components/schemas/PathsWorkflowStepOutputDto'
                title: Paths step
              - $ref: '#/components/schemas/FilterWorkflowStepOutputDto'
                title: Filter step
              - $ref: '#/components/schemas/DelayWorkflowStepOutputDto'
                title: Delay step
              - $ref: '#/components/schemas/LeadEnrichmentWorkflowStepOutputDto'
                title: Lead enrichment step
      required:
        - id
        - name
        - type
        - activation
        - trigger
        - steps
    EventTypeWorkflowActivationOutputDto:
      type: object
      properties:
        isActiveOnAllEventTypes:
          type: boolean
          default: false
          description: >-
            Whether the workflow is active for all event types associated with
            the team/user
          example: false
        activeOnEventTypeIds:
          description: >-
            List of Event Type IDs the workflow is specifically active on (if
            not active on all)
          example:
            - 698191
            - 698192
          type: array
          items:
            type: number
    EventTypeWorkflowTriggerOutputDto:
      type: object
      properties:
        type:
          enum:
            - beforeEvent
            - eventCancelled
            - newEvent
            - afterEvent
            - rescheduleEvent
            - afterHostsCalVideoNoShow
            - afterGuestsCalVideoNoShow
            - bookingRejected
            - bookingRequested
            - bookingPaymentInitiated
            - bookingPaid
            - bookingNoShowUpdated
          type: string
          description: Trigger type for the workflow
          example: beforeEvent
        offset:
          description: Offset details (present for BEFORE_EVENT/AFTER_EVENT)
          allOf:
            - $ref: '#/components/schemas/WorkflowTriggerOffsetOutputDto'
      required:
        - type
    EventTypeWorkflowStepOutputDto:
      type: object
      properties:
        id:
          type: number
          description: Unique identifier of the step
          example: 67244
        stepNumber:
          type: number
          description: Step number in the workflow sequence
          example: 1
        recipient:
          type: string
          description: Intended recipient type
          example: const
          enum:
            - const
            - attendee
            - email
            - phone_number
        email:
          type: string
          description: Verified email address if action is EMAIL_ADDRESS
          example: notifications@example.com
        phone:
          type: string
          description: Verified Phone if action is SMS_NUMBER or WHATSAPP_NUMBER
        phoneRequired:
          type: boolean
          description: >-
            whether or not the attendees are required to provide their phone
            numbers when booking
          example: true
          default: false
        template:
          enum:
            - reminder
            - custom
            - rescheduled
            - completed
            - rating
            - cancelled
          type: string
          description: Template type used
          example: reminder
        includeCalendarEvent:
          type: boolean
          default: false
          description: Whether a calendar event (.ics) was included (for email actions)
          example: true
        skipNoShowAttendees:
          type: boolean
          default: false
          description: >-
            Whether an after-event attendee rating email skips attendees
            currently marked as no-show.
          example: false
        sender:
          type: string
          description: Displayed sender name used for this step
          example: Cal.com Notifications
        message:
          description: Message content for this step
          allOf:
            - $ref: '#/components/schemas/WorkflowMessageOutputDto'
        autoTranslateEnabled:
          type: boolean
          description: >-
            Whether auto-translation of the workflow step content for attendees
            is enabled. Only available for organizations.
          example: false
          default: false
        sourceLocale:
          nullable: true
          enum:
            - ar
            - ca
            - de
            - es
            - eu
            - he
            - id
            - ja
            - lv
            - pl
            - ro
            - sr
            - th
            - vi
            - az
            - cs
            - el
            - es-419
            - fi
            - hr
            - it
            - km
            - nl
            - pt
            - ru
            - sv
            - tr
            - zh-CN
            - bg
            - da
            - en
            - et
            - fr
            - hu
            - iw
            - ko
            - 'no'
            - pt-BR
            - sk
            - sl
            - ta
            - uk
            - zh-TW
            - bn
          type: string
          description: >-
            The source locale of the workflow step content used for
            auto-translation (e.g. 'en').
          example: en
        pathId:
          type: string
          description: >-
            Id of the conditional path this step belongs to; the step only runs
            when that path's conditions match. Absent for unconditional steps.
          example: 3f4c11a2-9b7e-4d15-8f0a-2f7de41b6c01
        action:
          enum:
            - email_host
            - email_attendee
            - email_address
            - sms_attendee
            - sms_number
            - whatsapp_attendee
            - whatsapp_number
            - cal_ai_phone_call
          type: string
          description: Action to perform
          example: email_host
      required:
        - id
        - stepNumber
        - recipient
        - template
        - sender
        - message
        - action
    PathsWorkflowStepOutputDto:
      type: object
      properties:
        id:
          type: number
          description: Unique identifier of the step
          example: 67244
        stepNumber:
          type: number
          description: Step number in the workflow sequence
          example: 1
        action:
          type: string
          enum:
            - paths
          description: >-
            The step that splits the workflow into conditional paths; include
            this step by id when updating the workflow's steps.
          example: paths
        paths:
          description: >-
            The conditional paths this step splits into, in the order the canvas
            lays them out
          type: array
          items:
            $ref: '#/components/schemas/WorkflowStepPathOutputDto'
        pathId:
          type: string
          description: >-
            Id of the conditional path this split itself belongs to, when it
            sits inside a filter's path. Absent at the top level.
          example: 8b2f0c31-4a6d-4f89-b1c5-6d0e8a4f2b73
      required:
        - id
        - stepNumber
        - action
        - paths
    FilterWorkflowStepOutputDto:
      type: object
      properties:
        id:
          type: number
          description: Unique identifier of the step
          example: 67244
        stepNumber:
          type: number
          description: Step number in the workflow sequence
          example: 1
        action:
          type: string
          enum:
            - filter
          description: >-
            The step that gates every step after it on a set of conditions;
            include this step by id when updating the workflow's steps.
          example: filter
        gatedPathId:
          type: string
          description: >-
            Id of the path this filter gates. Every step carrying this as its
            pathId runs only when the filter's conditions match.
          example: 3f4c11a2-9b7e-4d15-8f0a-2f7de41b6c01
        matches:
          enum:
            - all
            - any
            - none
          type: string
          description: >-
            How many of the conditions have to hold for this gate to pass — the
            editor's All, Any and None.
          example: all
        conditions:
          description: >-
            The conditions every following step is gated on. A filter with no
            conditions passes everything.
          type: array
          items:
            $ref: '#/components/schemas/WorkflowPathConditionOutputDto'
        pathId:
          type: string
          description: >-
            Id of the conditional path this filter itself belongs to, when it
            sits inside a split branch or another filter. Absent at the top
            level.
          example: 8b2f0c31-4a6d-4f89-b1c5-6d0e8a4f2b73
      required:
        - id
        - stepNumber
        - action
        - gatedPathId
        - matches
        - conditions
    DelayWorkflowStepOutputDto:
      type: object
      properties:
        id:
          type: number
          description: Unique identifier of the step
          example: 67244
        stepNumber:
          type: number
          description: Step number in the workflow sequence
          example: 1
        action:
          type: string
          enum:
            - delay
          description: >-
            A wait before the next sending step. Its duration is read-only
            through the API and can only be edited in the Cal.com app; include
            this step by id when updating the workflow's steps.
          example: delay
        delay:
          description: >-
            How long this step waits. Absent when the step has no stored
            duration.
          allOf:
            - $ref: '#/components/schemas/WorkflowDelayDurationOutputDto'
        pathId:
          type: string
          description: >-
            Id of the conditional path this delay belongs to, when it sits
            inside a split branch or a filter. Absent at the top level.
          example: 8b2f0c31-4a6d-4f89-b1c5-6d0e8a4f2b73
      required:
        - id
        - stepNumber
        - action
    LeadEnrichmentWorkflowStepOutputDto:
      type: object
      properties:
        id:
          type: number
          description: Unique identifier of the step
          example: 67244
        stepNumber:
          type: number
          description: Step number in the workflow sequence
          example: 1
        action:
          type: string
          enum:
            - lead_enrichment
          description: >-
            The step that looks the attendee up with the lead enrichment
            provider when the workflow runs; the steps after it can use the
            result in their conditions and messages. It can only be added or
            configured in the Cal.com app; include this step by id when updating
            the workflow's steps.
          example: lead_enrichment
        pathId:
          type: string
          description: >-
            Id of the conditional path this step belongs to, when it sits inside
            a split branch or a filter. Absent at the top level.
          example: 8b2f0c31-4a6d-4f89-b1c5-6d0e8a4f2b73
      required:
        - id
        - stepNumber
        - action
    WorkflowTriggerOffsetOutputDto:
      type: object
      properties:
        value:
          type: number
          description: Time value for offset
          example: 24
        unit:
          enum:
            - hour
            - minute
            - day
          type: string
          description: Unit for the offset time
          example: hour
      required:
        - value
        - unit
    WorkflowMessageOutputDto:
      type: object
      properties:
        subject:
          type: string
          description: Subject of the message
          example: >-
            Reminder: Your Meeting {EVENT_NAME} - {EVENT_DATE_ddd, MMM D, YYYY
            h:mma} with Cal.com
        html:
          type: string
          description: HTML content of the message
          example: <p>Reminder for {EVENT_NAME}.</p>
        text:
          type: string
          description: Text content of the message (used for SMS/WhatsApp)
          example: Reminder for {EVENT_NAME}.
      required:
        - subject
    WorkflowStepPathOutputDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the path
          example: 3f4c11a2-9b7e-4d15-8f0a-2f7de41b6c01
        name:
          type: string
          description: Name of the path
          example: Enterprise leads
        position:
          type: number
          description: Position of the path among the branches of its step, starting at 0
          example: 0
        matches:
          enum:
            - all
            - any
            - none
          type: string
          description: >-
            How many of the conditions have to hold for this branch to match —
            the editor's All, Any and None.
          example: all
        conditions:
          description: >-
            The conditions deciding whether this path matches. A path with no
            conditions always matches.
          type: array
          items:
            $ref: '#/components/schemas/WorkflowPathConditionOutputDto'
      required:
        - id
        - name
        - position
        - matches
        - conditions
    WorkflowPathConditionOutputDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the condition
          example: b1d2e3f4-5a6b-4c7d-8e9f-0a1b2c3d4e5f
        field:
          type: string
          description: >-
            What the condition reads: a booking question identifier, a routing
            form field id, or an event field id.
          example: company-size
        operator:
          type: string
          description: >-
            How the field is compared, as the conditions editor stores it. The
            operator belongs to the field's type: text, email, phone and number
            fields use `equal`, `not_equal`, `like`, `greater`, `between` and
            the like; a select uses `select_equals` or `select_any_in`; a
            multiselect uses `multiselect_equals`. To render an operator with
            the label the editor shows, resolve the field's type from the
            booking questions of the event types this workflow is active on, or
            from the routing form's fields for a form workflow.
          example: select_equals
          enum:
            - between
            - equal
            - greater
            - greater_or_equal
            - is_empty
            - is_not_empty
            - less
            - less_or_equal
            - like
            - multiselect_equals
            - multiselect_not_equals
            - not_between
            - not_equal
            - not_like
            - select_any_in
            - select_equals
            - select_not_any_in
            - select_not_equals
            - starts_with
        values:
          description: >-
            The values the field is compared against. Empty for operators that
            take none, such as is_empty.
          example:
            - enterprise
          type: array
          items:
            type: string
      required:
        - id
        - field
        - operator
        - values
    WorkflowDelayDurationOutputDto:
      type: object
      properties:
        value:
          type: number
          description: How long to wait before the next sending step
          example: 2
        unit:
          enum:
            - hour
            - minute
            - day
          type: string
          description: Unit for the delay duration
          example: hour
      required:
        - value
        - unit

````