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

# Call an Outlit capability



## OpenAPI

````yaml /openapi.json post /api/tools/call
openapi: 3.1.0
info:
  title: Outlit Public API
  version: 1.0.0
  description: >-
    Generated from Outlit Core's capability catalog and public protocol
    transport contracts.
servers:
  - url: https://app.outlit.ai
security:
  - bearerAuth: []
paths:
  /api/tools/call:
    post:
      summary: Call an Outlit capability
      operationId: callTool
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_customers
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_customers'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_users
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_users'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_workspace_users
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_list_workspace_users
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_customer
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_customer'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_assign_customer_owner
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_assign_customer_owner
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_grant_customer_access
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_grant_customer_access
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_update_customer_access
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_update_customer_access
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_revoke_customer_access
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_revoke_customer_access
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_timeline
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_timeline'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_facts
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_facts'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_fact
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_fact'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_source
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_source'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_sources
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_sources'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_search_customer_context
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_search_customer_context
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_query
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_query'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_schema
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_schema'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_destinations
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_destinations'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_destination
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_get_destination'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_create_destination
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_create_destination'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_update_destination
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_update_destination'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_enable_destination
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_enable_destination'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_disable_destination
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_disable_destination
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_archive_destination
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_archive_destination
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_integrations
                    input:
                      $ref: '#/components/schemas/ToolInput_outlit_list_integrations'
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_integration_capabilities
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_integration_capabilities
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_begin_integration_setup
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_begin_integration_setup
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_integration_setup_status
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_integration_setup_status
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_integration_sync_status
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_integration_sync_status
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_customer_activation
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_customer_activation
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_preview_customer_activation
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_preview_customer_activation
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_update_customer_activation
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_update_customer_activation
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_get_workspace_settings
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_get_workspace_settings
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_update_workspace_settings
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_update_workspace_settings
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_behavior_metric_sources
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_list_behavior_metric_sources
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_list_behavior_metric_events
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_list_behavior_metric_events
                  required:
                    - tool
                  additionalProperties: false
                - type: object
                  properties:
                    tool:
                      type: string
                      const: outlit_create_behavior_metric
                    input:
                      $ref: >-
                        #/components/schemas/ToolInput_outlit_create_behavior_metric
                  required:
                    - tool
                  additionalProperties: false
              discriminator:
                propertyName: tool
      responses:
        '200':
          description: Capability output
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_customers'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_users'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_list_workspace_users
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_customer'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_assign_customer_owner
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_grant_customer_access
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_update_customer_access
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_revoke_customer_access
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_timeline'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_facts'
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_fact'
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_source'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_sources'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_search_customer_context
                  - $ref: '#/components/schemas/ToolOutput_outlit_query'
                  - $ref: '#/components/schemas/ToolOutput_outlit_schema'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_destinations'
                  - $ref: '#/components/schemas/ToolOutput_outlit_get_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_create_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_update_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_enable_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_disable_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_archive_destination'
                  - $ref: '#/components/schemas/ToolOutput_outlit_list_integrations'
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_integration_capabilities
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_begin_integration_setup
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_integration_setup_status
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_integration_sync_status
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_customer_activation
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_preview_customer_activation
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_update_customer_activation
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_get_workspace_settings
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_update_workspace_settings
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_list_behavior_metric_sources
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_list_behavior_metric_events
                  - $ref: >-
                      #/components/schemas/ToolOutput_outlit_create_behavior_metric
        '400':
          description: Invalid tool call
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '402':
          description: Billing action required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '403':
          description: Capability not authorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '404':
          description: Requested resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '409':
          description: Capability request conflicts with current state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '422':
          description: Capability request could not be processed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '429':
          description: Rate or plan limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '500':
          description: Tool gateway failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '502':
          description: Invalid capability implementation output
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
        '503':
          description: Capability temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayError'
components:
  schemas:
    ToolInput_outlit_list_customers:
      type: object
      properties:
        activatedSince:
          description: Filter customers activated at or after this ISO-8601 datetime
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
        billingStatus:
          description: Filter by billing status
          type: string
          enum:
            - NONE
            - TRIALING
            - PAYING
            - PAST_DUE
            - CHURNED
        hasActivityInLast:
          description: Filter customers with activity in the last N days
          type: string
          enum:
            - 7d
            - 14d
            - 30d
            - 90d
        noActivityInLast:
          description: Filter customers with NO activity in the last N days
          type: string
          enum:
            - 7d
            - 14d
            - 30d
            - 90d
        mrrAbove:
          description: Minimum MRR in cents (e.g., 10000 = $100)
          type: number
          minimum: 0
        mrrBelow:
          description: Maximum MRR in cents
          type: number
          minimum: 0
        traitFilters:
          description: Filter by exact trait values using key/value pairs
          type: object
          propertyNames:
            type: string
            pattern: ^[A-Za-z0-9_-]{1,100}$
          additionalProperties:
            anyOf:
              - type: string
                maxLength: 500
              - type: number
              - type: boolean
        search:
          description: Search by customer name or domain (case-insensitive)
          type: string
          maxLength: 500
        ownerId:
          description: Filter customers by internal owner user ID
          type: string
          maxLength: 500
        ownerEmail:
          description: Filter customers by internal owner email address
          type: string
          maxLength: 500
        hasOwner:
          description: Filter customers by whether they have an owner
          type: boolean
        limit:
          description: Results per page (max 1000)
          default: 50
          type: number
          minimum: 1
          maximum: 1000
        cursor:
          description: Pagination cursor from previous response
          type: string
        orderBy:
          description: Field to order results by
          default: last_activity_at
          type: string
          enum:
            - last_activity_at
            - first_seen_at
            - name
            - mrr_cents
        orderDirection:
          description: Sort direction
          default: desc
          type: string
          enum:
            - asc
            - desc
    ToolInput_outlit_list_users:
      type: object
      properties:
        journeyStage:
          description: Filter by user journey stage
          type: string
          enum:
            - DISCOVERED
            - SIGNED_UP
            - ACTIVATED
            - ENGAGED
            - INACTIVE
        customerId:
          description: Filter users by customer ID
          type: string
          maxLength: 500
        traitFilters:
          description: Filter by exact trait values using key/value pairs
          type: object
          propertyNames:
            type: string
            pattern: ^[A-Za-z0-9_-]{1,100}$
          additionalProperties:
            anyOf:
              - type: string
                maxLength: 500
              - type: number
              - type: boolean
        hasActivityInLast:
          description: >-
            Filter users active within this window. Format: Nd, Nh, or Nm (e.g.,
            '7d', '24h', '90m')
          type: string
          pattern: ^\d+(d|h|m)$
        noActivityInLast:
          description: >-
            Filter users NOT active within this window. Format: Nd, Nh, or Nm
            (e.g., '30d', '2h')
          type: string
          pattern: ^\d+(d|h|m)$
        search:
          description: Search by user email or name (case-insensitive)
          type: string
          maxLength: 500
        limit:
          description: Results per page (max 1000)
          default: 50
          type: number
          minimum: 1
          maximum: 1000
        cursor:
          description: Pagination cursor from previous response
          type: string
        orderBy:
          description: Field to order by
          default: last_activity_at
          type: string
          enum:
            - last_activity_at
            - first_seen_at
            - email
        orderDirection:
          description: Sort direction
          default: desc
          type: string
          enum:
            - asc
            - desc
    ToolInput_outlit_list_workspace_users:
      type: object
      properties:
        search:
          description: >-
            Search internal workspace users by name, email, title, role, or
            territory
          type: string
          maxLength: 500
        role:
          description: Filter internal workspace users by role metadata when available
          type: string
          maxLength: 100
        managerEmail:
          description: >-
            Filter internal workspace users by manager email metadata when
            available
          type: string
          maxLength: 500
        hasOwnedCustomers:
          description: When true, return only workspace users who own at least one customer
          type: boolean
        limit:
          description: Results per page (max 1000)
          default: 50
          type: number
          minimum: 1
          maximum: 1000
        cursor:
          description: Pagination cursor from previous response
          type: string
        orderBy:
          description: Field to order workspace users by
          default: owned_customer_count
          type: string
          enum:
            - name
            - email
            - owned_customer_count
        orderDirection:
          description: Sort direction
          default: desc
          type: string
          enum:
            - asc
            - desc
    ToolInput_outlit_get_customer:
      type: object
      properties:
        customer:
          type: string
          minLength: 1
          maxLength: 500
          description: Customer ID, domain, or name to look up
        include:
          description: Additional data sections to include in the response
          type: array
          items:
            type: string
            enum:
              - users
              - revenue
              - recentTimeline
              - behaviorMetrics
              - enrichment
        timeframe:
          description: 'Timeframe for timeline and behavior metrics (default: 30d)'
          default: 30d
          type: string
          enum:
            - 7d
            - 14d
            - 30d
            - 90d
      required:
        - customer
    ToolInput_outlit_assign_customer_owner:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        targetUserId:
          type: string
          minLength: 1
          maxLength: 500
      required:
        - customerId
        - targetUserId
    ToolInput_outlit_grant_customer_access:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        targetUserId:
          type: string
          minLength: 1
          maxLength: 500
        role:
          type: string
          enum:
            - VIEWER
            - EDITOR
      required:
        - customerId
        - targetUserId
        - role
    ToolInput_outlit_update_customer_access:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        targetUserId:
          type: string
          minLength: 1
          maxLength: 500
        role:
          type: string
          enum:
            - VIEWER
            - EDITOR
      required:
        - customerId
        - targetUserId
        - role
    ToolInput_outlit_revoke_customer_access:
      type: object
      properties:
        customerId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        targetUserId:
          type: string
          minLength: 1
          maxLength: 500
      required:
        - customerId
        - targetUserId
    ToolInput_outlit_get_timeline:
      type: object
      properties:
        customer:
          type: string
          minLength: 1
          maxLength: 200
          description: Customer ID or domain
        channels:
          description: >-
            Filter by event channel. Use values such as PRODUCT, COMMUNICATION,
            MEETING, CRM, BILLING, SUPPORT, IDENTITY, DOCUMENT, or SYSTEM.
          type: array
          items:
            type: string
            enum:
              - PRODUCT
              - COMMUNICATION
              - MEETING
              - CRM
              - BILLING
              - SUPPORT
              - IDENTITY
              - DOCUMENT
              - SYSTEM
        eventTypes:
          description: Filter by event type
          type: array
          items:
            type: string
        timeframe:
          description: >-
            Relative time window (default: 30d). Cannot be used with
            startDate/endDate.
          type: string
          enum:
            - 7d
            - 14d
            - 30d
            - 90d
            - all
        startDate:
          description: >-
            Start of time window (ISO 8601, e.g. '2025-01-01T00:00:00Z'). Cannot
            be used with timeframe.
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        endDate:
          description: >-
            End of time window (ISO 8601, e.g. '2025-01-31T23:59:59Z'). Cannot
            be used with timeframe.
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        limit:
          description: Results per page (max 1000)
          default: 50
          type: number
          minimum: 1
          maximum: 1000
        cursor:
          description: Pagination cursor from previous response
          type: string
      required:
        - customer
    ToolInput_outlit_list_facts:
      type: object
      properties:
        customer:
          type: string
          minLength: 1
          maxLength: 500
          description: Customer ID or domain
        status:
          description: Optional fact status filter
          type: array
          items:
            type: string
            enum:
              - ACTIVE
              - ACKNOWLEDGED
              - RESOLVED
              - SNOOZED
              - CANDIDATE
        sourceTypes:
          description: Optional generic source types to restrict fact results to.
          type: array
          items:
            type: string
            enum:
              - EMAIL
              - CALL
              - CALENDAR_EVENT
              - SUPPORT_TICKET
              - OPPORTUNITY
              - SLACK
              - CRM
              - CRM_OPPORTUNITY
        factTypes:
          description: >-
            Optional customer-memory fact type filters, such as CHURN_RISK,
            EXPANSION, SENTIMENT, or BUDGET. Anomaly detector fact types are not
            supported.
          type: array
          items:
            type: string
            enum:
              - CUSTOM
              - COMPANY_CHANGE
              - FUNDING_REVENUE
              - TECHNOLOGY
              - STRATEGY
              - COMPETITIVE
              - SENTIMENT
              - CHAMPION_RISK
              - EXPANSION
              - CHURN_RISK
              - TIMELINE
              - BUDGET
              - DECISION_MAKER
              - REQUIREMENTS
              - PRODUCT_USAGE
              - CONTACT_INFO
              - CONTACT_PREFERENCE
        factCategories:
          description: >-
            Optional public fact category filters. Supported values: MEMORY,
            CUSTOM.
          type: array
          items:
            type: string
            enum:
              - MEMORY
              - CUSTOM
        after:
          description: ISO 8601 datetime lower bound
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        before:
          description: ISO 8601 datetime upper bound
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        limit:
          description: Results per page (max 100)
          default: 50
          type: integer
          minimum: 1
          maximum: 100
        cursor:
          description: Pagination cursor from previous response
          type: string
      required:
        - customer
    ToolInput_outlit_get_fact:
      type: object
      properties:
        factId:
          type: string
          minLength: 1
          maxLength: 500
          description: Exact fact ID to retrieve
        include:
          description: >-
            Optional best-effort expansions. Use include=['evidence'] to request
            evidence when available; unsupported include values are ignored.
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 100
      required:
        - factId
    ToolInput_outlit_get_source:
      type: object
      properties:
        sourceType:
          type: string
          enum:
            - EMAIL
            - CALL
            - CALENDAR_EVENT
            - SUPPORT_TICKET
            - OPPORTUNITY
            - SLACK
            - CRM
            - CRM_OPPORTUNITY
        sourceId:
          type: string
          minLength: 1
          maxLength: 500
        limit:
          description: >-
            Slack replies per page (default 50, maximum 100). Ignored for other
            source types.
          type: integer
          minimum: 1
          maximum: 100
        cursor:
          description: Opaque Slack reply cursor returned by a previous exact lookup.
          type: string
          minLength: 1
          maxLength: 2000
      required:
        - sourceType
        - sourceId
    ToolInput_outlit_list_sources:
      type: object
      properties:
        sourceType:
          description: Generic source type to list.
          type: string
          enum:
            - EMAIL
            - CALL
            - CALENDAR_EVENT
            - SUPPORT_TICKET
            - OPPORTUNITY
            - SLACK
            - CRM
            - CRM_OPPORTUNITY
        customer:
          description: Customer ID, domain, or name to scope source listing.
          type: string
          minLength: 1
          maxLength: 200
        after:
          description: ISO 8601 datetime lower bound.
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        before:
          description: ISO 8601 datetime upper bound.
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        participant:
          description: Participant email or name to filter source records.
          type: string
          minLength: 1
          maxLength: 500
        provider:
          description: Provider identifier such as gmail, gong, or google-calendar.
          type: string
          minLength: 1
          maxLength: 200
        hasTranscript:
          description: Filter call sources by transcript presence.
          type: boolean
        limit:
          description: Results per page.
          default: 50
          type: integer
          minimum: 1
          maximum: 100
        cursor:
          description: Pagination cursor.
          type: string
          minLength: 1
          maxLength: 2000
      additionalProperties: false
    ToolInput_outlit_search_customer_context:
      type: object
      properties:
        customer:
          description: Customer ID, domain, or name. Omit to search across all customers.
          anyOf:
            - type: string
              minLength: 1
              maxLength: 500
            - type: 'null'
        query:
          type: string
          minLength: 2
          maxLength: 2000
          description: Natural language query or topic to search for.
        topK:
          description: Maximum number of artifact results to return (default 20).
          type: integer
          minimum: 1
          maximum: 50
        after:
          description: ISO 8601 datetime lower bound
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        before:
          description: ISO 8601 datetime upper bound
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        sourceTypes:
          description: Optional generic source types to restrict the search to.
          type: array
          items:
            type: string
            enum:
              - EMAIL
              - CALL
              - CALENDAR_EVENT
              - SUPPORT_TICKET
              - OPPORTUNITY
              - SLACK
              - CRM
              - CRM_OPPORTUNITY
      required:
        - query
      additionalProperties: false
    ToolInput_outlit_query:
      type: object
      properties:
        sql:
          type: string
          minLength: 1
          maxLength: 10000
          description: SQL SELECT query to execute
        limit:
          description: Max rows to return (default 1000, max 10000)
          default: 1000
          type: integer
          minimum: 1
          maximum: 10000
      required:
        - sql
    ToolInput_outlit_schema:
      type: object
      properties:
        table:
          description: Specific analytics view to describe. Omit to list all views.
          type: string
          enum:
            - activity
            - customers
            - users
            - revenue
    ToolInput_outlit_list_destinations:
      type: object
      properties: {}
      additionalProperties: false
    ToolInput_outlit_get_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
      additionalProperties: false
    ToolInput_outlit_create_destination:
      type: object
      properties:
        type:
          type: string
          const: SLACK_CHANNEL
        channelId:
          type: string
          minLength: 1
          maxLength: 191
        label:
          type: string
          minLength: 1
          maxLength: 120
        enabled:
          default: true
          type: boolean
        isDefault:
          default: false
          type: boolean
      required:
        - type
        - channelId
        - label
      additionalProperties: false
    ToolInput_outlit_update_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        type:
          type: string
          const: SLACK_CHANNEL
        label:
          type: string
          minLength: 1
          maxLength: 120
        isDefault:
          type: boolean
          const: true
      required:
        - id
        - type
      additionalProperties: false
    ToolInput_outlit_enable_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
      additionalProperties: false
    ToolInput_outlit_disable_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
      additionalProperties: false
    ToolInput_outlit_archive_destination:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - id
      additionalProperties: false
    ToolInput_outlit_list_integrations:
      type: object
      properties:
        connectedOnly:
          default: false
          type: boolean
      additionalProperties: false
    ToolInput_outlit_get_integration_capabilities:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 80
      additionalProperties: false
    ToolInput_outlit_begin_integration_setup:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 80
      required:
        - provider
      additionalProperties: false
    ToolInput_outlit_get_integration_setup_status:
      type: object
      properties:
        sessionId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - sessionId
      additionalProperties: false
    ToolInput_outlit_get_integration_sync_status:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 80
      required:
        - provider
      additionalProperties: false
    ToolInput_outlit_get_customer_activation:
      type: object
      properties: {}
      additionalProperties: false
    ToolInput_outlit_preview_customer_activation:
      type: object
      properties:
        eventName:
          type: string
          minLength: 1
          maxLength: 191
        lookbackDays:
          default: 30
          type: integer
          minimum: 1
          maximum: 90
        exampleLimit:
          default: 10
          type: integer
          minimum: 1
          maximum: 20
      required:
        - eventName
      additionalProperties: false
    ToolInput_outlit_update_customer_activation:
      type: object
      properties:
        eventName:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 191
            - type: 'null'
      required:
        - eventName
      additionalProperties: false
    ToolInput_outlit_get_workspace_settings:
      type: object
      properties: {}
      additionalProperties: false
    ToolInput_outlit_update_workspace_settings:
      type: object
      properties:
        defaultTimezone:
          type: string
          minLength: 1
      required:
        - defaultTimezone
      additionalProperties: false
    ToolInput_outlit_list_behavior_metric_sources:
      type: object
      properties: {}
      additionalProperties: false
    ToolInput_outlit_list_behavior_metric_events:
      type: object
      properties:
        sourceKey:
          type: string
          pattern: ^metric_source_v1_[a-f0-9]{32}$
        weeks:
          default: 12
          type: integer
          minimum: 1
          maximum: 53
        limit:
          default: 100
          type: integer
          minimum: 1
          maximum: 100
      required:
        - sourceKey
      additionalProperties: false
    ToolInput_outlit_create_behavior_metric:
      type: object
      properties:
        sourceKey:
          type: string
          pattern: ^metric_source_v1_[a-f0-9]{32}$
        eventName:
          type: string
          minLength: 1
          maxLength: 191
        behaviorKey:
          type: string
          maxLength: 64
          pattern: ^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$
        label:
          type: string
          minLength: 1
          maxLength: 255
        propertyFilters:
          default: []
          maxItems: 5
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  property:
                    type: string
                    minLength: 1
                    maxLength: 191
                  operator:
                    type: string
                    const: equals
                  value:
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            const: string
                          value:
                            type: string
                            maxLength: 191
                        required:
                          - type
                          - value
                        additionalProperties: false
                      - type: object
                        properties:
                          type:
                            type: string
                            const: number
                          value:
                            type: number
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                        required:
                          - type
                          - value
                        additionalProperties: false
                      - type: object
                        properties:
                          type:
                            type: string
                            const: boolean
                          value:
                            type: boolean
                        required:
                          - type
                          - value
                        additionalProperties: false
                required:
                  - property
                  - operator
                  - value
                additionalProperties: false
              - type: object
                properties:
                  property:
                    type: string
                    minLength: 1
                    maxLength: 191
                  operator:
                    type: string
                    const: exists
                required:
                  - property
                  - operator
                additionalProperties: false
      required:
        - sourceKey
        - eventName
        - behaviorKey
        - label
      additionalProperties: false
    ToolOutput_outlit_list_customers:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                anyOf:
                  - type: string
                  - type: 'null'
              domain:
                anyOf:
                  - type: string
                  - type: 'null'
              billingStatus:
                type: string
                enum:
                  - NONE
                  - TRIALING
                  - PAYING
                  - PAST_DUE
                  - CHURNED
              activatedAt:
                anyOf:
                  - type: string
                  - type: 'null'
              firstSeenAt:
                anyOf:
                  - type: string
                  - type: 'null'
              lastActivityAt:
                anyOf:
                  - type: string
                  - type: 'null'
              contactCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              currentMrr:
                anyOf:
                  - type: number
                  - type: 'null'
              mrrCalculationStatus:
                type: string
                enum:
                  - calculated
                  - mixed_currency
                  - unavailable
              owner:
                anyOf:
                  - type: object
                    properties:
                      id:
                        type: string
                      email:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                      - email
                      - name
                    additionalProperties: false
                  - type: 'null'
              daysSinceActivity:
                anyOf:
                  - type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  - type: 'null'
            required:
              - id
              - name
              - domain
              - billingStatus
              - activatedAt
              - firstSeenAt
              - lastActivityAt
              - contactCount
              - currentMrr
              - mrrCalculationStatus
              - owner
              - daysSinceActivity
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - hasMore
            - nextCursor
            - total
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_list_users:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              email:
                anyOf:
                  - type: string
                  - type: 'null'
              name:
                anyOf:
                  - type: string
                  - type: 'null'
              customerId:
                type: string
              customerName:
                anyOf:
                  - type: string
                  - type: 'null'
              customerDomain:
                anyOf:
                  - type: string
                  - type: 'null'
              journeyStage:
                type: string
                enum:
                  - DISCOVERED
                  - SIGNED_UP
                  - ACTIVATED
                  - ENGAGED
                  - INACTIVE
              lastActivityAt:
                anyOf:
                  - type: string
                  - type: 'null'
              daysSinceActivity:
                anyOf:
                  - type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  - type: 'null'
            required:
              - id
              - email
              - name
              - customerId
              - customerName
              - customerDomain
              - journeyStage
              - lastActivityAt
              - daysSinceActivity
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - hasMore
            - nextCursor
            - total
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_list_workspace_users:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              email:
                type: string
              name:
                type: string
              title:
                anyOf:
                  - type: string
                  - type: 'null'
              role:
                anyOf:
                  - type: string
                  - type: 'null'
              managerEmail:
                anyOf:
                  - type: string
                  - type: 'null'
              territory:
                anyOf:
                  - type: string
                  - type: 'null'
              linkedinUrl:
                anyOf:
                  - type: string
                  - type: 'null'
              ownedCustomerCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
            required:
              - id
              - email
              - name
              - title
              - role
              - managerEmail
              - territory
              - linkedinUrl
              - ownedCustomerCount
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - hasMore
            - nextCursor
            - total
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_get_customer:
      type: object
      properties:
        customer:
          type: object
          properties:
            id:
              type: string
            name:
              anyOf:
                - type: string
                - type: 'null'
            domain:
              anyOf:
                - type: string
                - type: 'null'
            billingStatus:
              type: string
              enum:
                - NONE
                - TRIALING
                - PAYING
                - PAST_DUE
                - CHURNED
            activatedAt:
              anyOf:
                - type: string
                - type: 'null'
            firstSeenAt:
              anyOf:
                - type: string
                - type: 'null'
            lastActivityAt:
              anyOf:
                - type: string
                - type: 'null'
            owner:
              anyOf:
                - type: object
                  properties:
                    id:
                      type: string
                    email:
                      type: string
                    name:
                      type: string
                  required:
                    - id
                    - email
                    - name
                  additionalProperties: false
                - type: 'null'
          required:
            - id
            - name
            - domain
            - billingStatus
            - activatedAt
            - firstSeenAt
            - lastActivityAt
            - owner
          additionalProperties: false
        users:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              email:
                anyOf:
                  - type: string
                  - type: 'null'
              name:
                anyOf:
                  - type: string
                  - type: 'null'
              journeyStage:
                type: string
                enum:
                  - DISCOVERED
                  - SIGNED_UP
                  - ACTIVATED
                  - ENGAGED
                  - INACTIVE
              lastActivityAt:
                anyOf:
                  - type: string
                  - type: 'null'
            required:
              - id
              - email
              - name
              - journeyStage
              - lastActivityAt
            additionalProperties: false
        revenue:
          type: object
          properties:
            currentMrr:
              anyOf:
                - type: number
                - type: 'null'
            mrrCalculationStatus:
              type: string
              enum:
                - calculated
                - mixed_currency
                - unavailable
            lifetimeRevenue:
              type: number
            activeSubscriptions:
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - currentMrr
            - mrrCalculationStatus
            - lifetimeRevenue
            - activeSubscriptions
          additionalProperties: false
        recentTimeline:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              title:
                anyOf:
                  - type: string
                  - type: 'null'
              contact:
                anyOf:
                  - type: string
                  - type: 'null'
              occurredAt:
                type: string
            required:
              - type
              - title
              - contact
              - occurredAt
            additionalProperties: false
        behaviorMetrics:
          type: object
          properties:
            activityCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            activeUsers:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            lastEmailAt:
              anyOf:
                - type: string
                - type: 'null'
            lastMeetingAt:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - activityCount
            - activeUsers
            - lastEmailAt
            - lastMeetingAt
          additionalProperties: false
        enrichment:
          type: object
          properties:
            status:
              type: string
              enum:
                - MISSING
                - FRESH
                - STALE
                - FAILED
                - NO_MATCH
                - INPUT_CHANGED
            provider:
              anyOf:
                - type: string
                - type: 'null'
            providerEntityId:
              anyOf:
                - type: string
                - type: 'null'
            summary:
              anyOf:
                - type: object
                  properties:
                    name:
                      anyOf:
                        - type: string
                        - type: 'null'
                    domain:
                      anyOf:
                        - type: string
                        - type: 'null'
                    websiteUrl:
                      anyOf:
                        - type: string
                        - type: 'null'
                    description:
                      anyOf:
                        - type: string
                        - type: 'null'
                    logoUrl:
                      anyOf:
                        - type: string
                        - type: 'null'
                    linkedinUrl:
                      anyOf:
                        - type: string
                        - type: 'null'
                    yearFounded:
                      anyOf:
                        - type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        - type: 'null'
                    companyType:
                      anyOf:
                        - type: string
                        - type: 'null'
                    employeeCountRange:
                      anyOf:
                        - type: string
                        - type: 'null'
                    headcount:
                      anyOf:
                        - type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        - type: 'null'
                    industry:
                      anyOf:
                        - type: string
                        - type: 'null'
                    categories:
                      type: array
                      items:
                        type: string
                    markets:
                      type: array
                      items:
                        type: string
                    headquarters:
                      anyOf:
                        - type: string
                        - type: 'null'
                    fundingSummary:
                      anyOf:
                        - type: object
                          properties:
                            totalInvestmentUsd:
                              anyOf:
                                - type: number
                                - type: 'null'
                            lastRoundType:
                              anyOf:
                                - type: string
                                - type: 'null'
                            lastRoundAmountUsd:
                              anyOf:
                                - type: number
                                - type: 'null'
                            lastFundraiseDate:
                              anyOf:
                                - type: string
                                - type: 'null'
                            investors:
                              type: array
                              items:
                                type: string
                          required:
                            - totalInvestmentUsd
                            - lastRoundType
                            - lastRoundAmountUsd
                            - lastFundraiseDate
                            - investors
                          additionalProperties: false
                        - type: 'null'
                    hiringSummary:
                      anyOf:
                        - type: object
                          properties:
                            openingsCount:
                              anyOf:
                                - type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                - type: 'null'
                            recentTitles:
                              type: array
                              items:
                                type: string
                          required:
                            - openingsCount
                            - recentTitles
                          additionalProperties: false
                        - type: 'null'
                    followerSummary:
                      anyOf:
                        - type: object
                          properties:
                            count:
                              anyOf:
                                - type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                - type: 'null'
                            growth:
                              type: object
                              propertyNames:
                                type: string
                              additionalProperties:
                                anyOf:
                                  - type: number
                                  - type: 'null'
                          required:
                            - count
                            - growth
                          additionalProperties: false
                        - type: 'null'
                  additionalProperties: false
                - type: 'null'
            match:
              anyOf:
                - type: object
                  propertyNames:
                    type: string
                  additionalProperties: {}
                - type: 'null'
            lastSuccessfulRefreshAt:
              anyOf:
                - type: string
                - type: 'null'
            lastAttemptAt:
              anyOf:
                - type: string
                - type: 'null'
            expiresAt:
              anyOf:
                - type: string
                - type: 'null'
            error:
              anyOf:
                - type: object
                  properties:
                    class:
                      type: string
                    message:
                      type: string
                    retryable:
                      type: boolean
                  required:
                    - class
                    - message
                  additionalProperties: false
                - type: 'null'
          required:
            - status
            - provider
            - providerEntityId
            - summary
            - match
            - lastSuccessfulRefreshAt
            - lastAttemptAt
            - expiresAt
            - error
          additionalProperties: false
      required:
        - customer
      additionalProperties: false
    ToolOutput_outlit_assign_customer_owner:
      type: object
      properties:
        customerId:
          type: string
        ownerId:
          type: string
        previousOwnerId:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - customerId
        - ownerId
        - previousOwnerId
      additionalProperties: false
    ToolOutput_outlit_grant_customer_access:
      type: object
      properties:
        access:
          type: object
          properties:
            customerId:
              type: string
            userId:
              type: string
            role:
              type: string
              enum:
                - VIEWER
                - EDITOR
            grantedById:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - customerId
            - userId
            - role
            - grantedById
          additionalProperties: false
      required:
        - access
      additionalProperties: false
    ToolOutput_outlit_update_customer_access:
      type: object
      properties:
        access:
          type: object
          properties:
            customerId:
              type: string
            userId:
              type: string
            role:
              type: string
              enum:
                - VIEWER
                - EDITOR
            grantedById:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - customerId
            - userId
            - role
            - grantedById
          additionalProperties: false
      required:
        - access
      additionalProperties: false
    ToolOutput_outlit_revoke_customer_access:
      type: object
      properties:
        customerId:
          type: string
        userId:
          type: string
      required:
        - customerId
        - userId
      additionalProperties: false
    ToolOutput_outlit_get_timeline:
      type: object
      properties:
        events:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              eventType:
                type: string
              eventName:
                type: string
              channel:
                type: string
                enum:
                  - PRODUCT
                  - COMMUNICATION
                  - MEETING
                  - CRM
                  - BILLING
                  - SUPPORT
                  - IDENTITY
                  - DOCUMENT
                  - SYSTEM
              title:
                anyOf:
                  - type: string
                  - type: 'null'
              summary:
                anyOf:
                  - type: string
                  - type: 'null'
              occurredAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              contact:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceType:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceId:
                anyOf:
                  - type: string
                  - type: 'null'
              sourceRef:
                type: object
                properties:
                  sourceType:
                    type: string
                  sourceId:
                    type: string
                required:
                  - sourceType
                  - sourceId
                additionalProperties: false
              metadata:
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
            required:
              - id
              - eventType
              - eventName
              - channel
              - title
              - summary
              - occurredAt
              - contact
              - sourceType
              - sourceId
              - metadata
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - hasMore
            - nextCursor
          additionalProperties: false
      required:
        - events
        - pagination
      additionalProperties: false
    ToolOutput_outlit_list_facts:
      type: object
      properties:
        customer:
          type: object
          properties:
            id:
              type: string
            name:
              anyOf:
                - type: string
                - type: 'null'
            domain:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - id
            - name
            - domain
          additionalProperties: false
        facts:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                minLength: 1
                maxLength: 500
              assertion:
                type: string
                minLength: 1
                maxLength: 20000
              reasoning:
                anyOf:
                  - type: string
                    maxLength: 20000
                  - type: 'null'
              factType:
                type: string
                minLength: 1
                maxLength: 200
              factCategory:
                type: string
                minLength: 1
                maxLength: 200
              status:
                type: string
                enum:
                  - ACTIVE
                  - ACKNOWLEDGED
                  - RESOLVED
                  - SNOOZED
                  - CANDIDATE
              confidence:
                type: number
                minimum: 0
                maximum: 1
              priority:
                anyOf:
                  - type: string
                    maxLength: 100
                  - type: 'null'
              occurredAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              detectedAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              validFrom:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              validUntil:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              linkedSourceRef:
                anyOf:
                  - type: object
                    properties:
                      sourceType:
                        type: string
                        enum:
                          - EMAIL
                          - CALL
                          - CALENDAR_EVENT
                          - SUPPORT_TICKET
                          - OPPORTUNITY
                          - SLACK
                      sourceId:
                        type: string
                        minLength: 1
                        maxLength: 500
                      occurredAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      permalink:
                        anyOf:
                          - type: string
                            maxLength: 2000
                          - type: 'null'
                    required:
                      - sourceType
                      - sourceId
                      - occurredAt
                      - permalink
                    additionalProperties: false
                  - type: 'null'
              sourceMetadata:
                anyOf:
                  - type: object
                    properties:
                      sourceType:
                        anyOf:
                          - type: string
                            enum:
                              - EMAIL
                              - CALL
                              - CALENDAR_EVENT
                              - SUPPORT_TICKET
                              - OPPORTUNITY
                              - SLACK
                          - type: 'null'
                      sourceId:
                        anyOf:
                          - type: string
                            maxLength: 500
                          - type: 'null'
                      sourceOccurredAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      sourceQuote:
                        anyOf:
                          - type: string
                            maxLength: 20000
                          - type: 'null'
                      permalink:
                        anyOf:
                          - type: string
                            maxLength: 2000
                          - type: 'null'
                    required:
                      - sourceType
                      - sourceId
                      - sourceOccurredAt
                      - sourceQuote
                      - permalink
                    additionalProperties: false
                  - type: 'null'
              evidenceCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              metricName:
                anyOf:
                  - type: string
                    maxLength: 200
                  - type: 'null'
              metricValue:
                anyOf:
                  - type: number
                  - type: 'null'
              metricPreviousValue:
                anyOf:
                  - type: number
                  - type: 'null'
              metricDelta:
                anyOf:
                  - type: number
                  - type: 'null'
              metricUnit:
                anyOf:
                  - type: string
                    maxLength: 100
                  - type: 'null'
              periodStart:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              periodEnd:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              changePointDate:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              occurrenceCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              lastDetectedAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              severity:
                anyOf:
                  - type: string
                    maxLength: 100
                  - type: 'null'
              evidence:
                anyOf:
                  - type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          maxLength: 500
                        sourceType:
                          anyOf:
                            - type: string
                              enum:
                                - EMAIL
                                - CALL
                                - CALENDAR_EVENT
                                - SUPPORT_TICKET
                                - OPPORTUNITY
                                - SLACK
                            - type: 'null'
                        sourceId:
                          anyOf:
                            - type: string
                              maxLength: 500
                            - type: 'null'
                        excerpt:
                          anyOf:
                            - type: string
                              maxLength: 20000
                            - type: 'null'
                        metadata:
                          anyOf:
                            - type: object
                              propertyNames:
                                type: string
                              additionalProperties: {}
                            - type: 'null'
                      required:
                        - id
                        - sourceType
                        - sourceId
                        - excerpt
                        - metadata
                      additionalProperties: false
                  - type: 'null'
            required:
              - id
              - assertion
              - reasoning
              - factType
              - factCategory
              - status
              - confidence
              - priority
              - occurredAt
              - detectedAt
              - validFrom
              - validUntil
              - evidenceCount
              - metricName
              - metricValue
              - metricPreviousValue
              - metricDelta
              - metricUnit
              - periodStart
              - periodEnd
              - changePointDate
              - occurrenceCount
              - lastDetectedAt
              - severity
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - hasMore
            - nextCursor
          additionalProperties: false
      required:
        - customer
        - facts
        - pagination
      additionalProperties: false
    ToolOutput_outlit_get_fact:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 500
        assertion:
          type: string
          minLength: 1
          maxLength: 20000
        reasoning:
          anyOf:
            - type: string
              maxLength: 20000
            - type: 'null'
        factType:
          type: string
          minLength: 1
          maxLength: 200
        factCategory:
          type: string
          minLength: 1
          maxLength: 200
        status:
          type: string
          enum:
            - ACTIVE
            - ACKNOWLEDGED
            - RESOLVED
            - SNOOZED
            - CANDIDATE
        confidence:
          type: number
          minimum: 0
          maximum: 1
        priority:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        occurredAt:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        detectedAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        validFrom:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        validUntil:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        linkedSourceRef:
          anyOf:
            - type: object
              properties:
                sourceType:
                  type: string
                  enum:
                    - EMAIL
                    - CALL
                    - CALENDAR_EVENT
                    - SUPPORT_TICKET
                    - OPPORTUNITY
                    - SLACK
                sourceId:
                  type: string
                  minLength: 1
                  maxLength: 500
                occurredAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                permalink:
                  anyOf:
                    - type: string
                      maxLength: 2000
                    - type: 'null'
              required:
                - sourceType
                - sourceId
                - occurredAt
                - permalink
              additionalProperties: false
            - type: 'null'
        sourceMetadata:
          anyOf:
            - type: object
              properties:
                sourceType:
                  anyOf:
                    - type: string
                      enum:
                        - EMAIL
                        - CALL
                        - CALENDAR_EVENT
                        - SUPPORT_TICKET
                        - OPPORTUNITY
                        - SLACK
                    - type: 'null'
                sourceId:
                  anyOf:
                    - type: string
                      maxLength: 500
                    - type: 'null'
                sourceOccurredAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                sourceQuote:
                  anyOf:
                    - type: string
                      maxLength: 20000
                    - type: 'null'
                permalink:
                  anyOf:
                    - type: string
                      maxLength: 2000
                    - type: 'null'
              required:
                - sourceType
                - sourceId
                - sourceOccurredAt
                - sourceQuote
                - permalink
              additionalProperties: false
            - type: 'null'
        evidenceCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        metricName:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
        metricValue:
          anyOf:
            - type: number
            - type: 'null'
        metricPreviousValue:
          anyOf:
            - type: number
            - type: 'null'
        metricDelta:
          anyOf:
            - type: number
            - type: 'null'
        metricUnit:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        periodStart:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        periodEnd:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        changePointDate:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        occurrenceCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        lastDetectedAt:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        severity:
          anyOf:
            - type: string
              maxLength: 100
            - type: 'null'
        evidence:
          anyOf:
            - type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    maxLength: 500
                  sourceType:
                    anyOf:
                      - type: string
                        enum:
                          - EMAIL
                          - CALL
                          - CALENDAR_EVENT
                          - SUPPORT_TICKET
                          - OPPORTUNITY
                          - SLACK
                      - type: 'null'
                  sourceId:
                    anyOf:
                      - type: string
                        maxLength: 500
                      - type: 'null'
                  excerpt:
                    anyOf:
                      - type: string
                        maxLength: 20000
                      - type: 'null'
                  metadata:
                    anyOf:
                      - type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      - type: 'null'
                required:
                  - id
                  - sourceType
                  - sourceId
                  - excerpt
                  - metadata
                additionalProperties: false
            - type: 'null'
      required:
        - id
        - assertion
        - reasoning
        - factType
        - factCategory
        - status
        - confidence
        - priority
        - occurredAt
        - detectedAt
        - validFrom
        - validUntil
        - evidenceCount
        - metricName
        - metricValue
        - metricPreviousValue
        - metricDelta
        - metricUnit
        - periodStart
        - periodEnd
        - changePointDate
        - occurrenceCount
        - lastDetectedAt
        - severity
      additionalProperties: false
    ToolOutput_outlit_get_source:
      type: object
      properties:
        sourceType:
          type: string
          enum:
            - EMAIL
            - CALL
            - CALENDAR_EVENT
            - SUPPORT_TICKET
            - OPPORTUNITY
            - SLACK
        sourceId:
          type: string
          minLength: 1
          maxLength: 500
        occurredAt:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
        title:
          anyOf:
            - type: string
              maxLength: 1000
            - type: 'null'
        summary:
          anyOf:
            - type: string
              maxLength: 20000
            - type: 'null'
        permalink:
          anyOf:
            - type: string
              maxLength: 2000
            - type: 'null'
        provider:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
        customer:
          anyOf:
            - type: object
              properties:
                id:
                  type: string
                  minLength: 1
                  maxLength: 500
                name:
                  type: string
                  minLength: 1
                  maxLength: 500
                domain:
                  type: string
                  minLength: 1
                  maxLength: 500
              required:
                - id
                - name
                - domain
              additionalProperties: false
            - type: 'null'
        participants:
          type: array
          items:
            type: object
            properties:
              email:
                anyOf:
                  - type: string
                    format: email
                    pattern: >-
                      ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                  - type: 'null'
              name:
                anyOf:
                  - type: string
                    maxLength: 500
                  - type: 'null'
              role:
                type: string
                maxLength: 100
              affiliation:
                anyOf:
                  - type: string
                    enum:
                      - internal
                      - external
                      - unknown
                  - type: 'null'
              resolvedUserId:
                anyOf:
                  - type: string
                    maxLength: 500
                  - type: 'null'
            required:
              - email
              - name
              - role
              - affiliation
              - resolvedUserId
            additionalProperties: false
        record:
          type: object
          propertyNames:
            type: string
          additionalProperties: {}
      required:
        - sourceType
        - sourceId
        - occurredAt
        - title
        - summary
        - permalink
        - provider
        - customer
        - participants
        - record
      additionalProperties: false
    ToolOutput_outlit_list_sources:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            properties:
              sourceType:
                type: string
                enum:
                  - EMAIL
                  - CALL
                  - CALENDAR_EVENT
                  - SUPPORT_TICKET
                  - OPPORTUNITY
                  - SLACK
              sourceId:
                type: string
                minLength: 1
                maxLength: 500
              occurredAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              title:
                anyOf:
                  - type: string
                    maxLength: 1000
                  - type: 'null'
              summary:
                anyOf:
                  - type: string
                    maxLength: 20000
                  - type: 'null'
              permalink:
                anyOf:
                  - type: string
                    maxLength: 2000
                  - type: 'null'
              provider:
                anyOf:
                  - type: string
                    maxLength: 200
                  - type: 'null'
              customer:
                anyOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                        maxLength: 500
                      name:
                        type: string
                        minLength: 1
                        maxLength: 500
                      domain:
                        type: string
                        minLength: 1
                        maxLength: 500
                    required:
                      - id
                      - name
                      - domain
                    additionalProperties: false
                  - type: 'null'
              participants:
                type: array
                items:
                  type: object
                  properties:
                    email:
                      anyOf:
                        - type: string
                          format: email
                          pattern: >-
                            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                        - type: 'null'
                    name:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                    role:
                      type: string
                      maxLength: 100
                    affiliation:
                      anyOf:
                        - type: string
                          enum:
                            - internal
                            - external
                            - unknown
                        - type: 'null'
                    resolvedUserId:
                      anyOf:
                        - type: string
                          maxLength: 500
                        - type: 'null'
                  required:
                    - email
                    - name
                    - role
                    - affiliation
                    - resolvedUserId
                  additionalProperties: false
              record:
                type: object
                propertyNames:
                  type: string
                additionalProperties: {}
            required:
              - sourceType
              - sourceId
              - occurredAt
              - title
              - summary
              - permalink
              - provider
              - customer
              - participants
              - record
            additionalProperties: false
        pagination:
          type: object
          properties:
            hasMore:
              type: boolean
            nextCursor:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - hasMore
            - nextCursor
          additionalProperties: false
      required:
        - items
        - pagination
      additionalProperties: false
    ToolOutput_outlit_search_customer_context:
      type: object
      properties:
        customer:
          anyOf:
            - type: object
              properties:
                id:
                  type: string
                name:
                  anyOf:
                    - type: string
                    - type: 'null'
                domain:
                  anyOf:
                    - type: string
                    - type: 'null'
              required:
                - id
                - name
                - domain
              additionalProperties: false
            - type: 'null'
        results:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  kind:
                    type: string
                    const: fact
                  score:
                    type: number
                  matchCount:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  matches:
                    maxItems: 2
                    type: array
                    items:
                      type: object
                      properties:
                        text:
                          type: string
                        occurredAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      required:
                        - text
                      additionalProperties: false
                  fact:
                    type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                        maxLength: 500
                      assertion:
                        type: string
                        minLength: 1
                        maxLength: 20000
                      reasoning:
                        anyOf:
                          - type: string
                            maxLength: 20000
                          - type: 'null'
                      factType:
                        type: string
                        minLength: 1
                        maxLength: 200
                      factCategory:
                        type: string
                        minLength: 1
                        maxLength: 200
                      status:
                        type: string
                        enum:
                          - ACTIVE
                          - ACKNOWLEDGED
                          - RESOLVED
                          - SNOOZED
                          - CANDIDATE
                      confidence:
                        type: number
                        minimum: 0
                        maximum: 1
                      priority:
                        anyOf:
                          - type: string
                            maxLength: 100
                          - type: 'null'
                      occurredAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      detectedAt:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      validFrom:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      validUntil:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      linkedSourceRef:
                        anyOf:
                          - type: object
                            properties:
                              sourceType:
                                type: string
                                enum:
                                  - EMAIL
                                  - CALL
                                  - CALENDAR_EVENT
                                  - SUPPORT_TICKET
                                  - OPPORTUNITY
                                  - SLACK
                              sourceId:
                                type: string
                                minLength: 1
                                maxLength: 500
                              occurredAt:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  - type: 'null'
                              permalink:
                                anyOf:
                                  - type: string
                                    maxLength: 2000
                                  - type: 'null'
                            required:
                              - sourceType
                              - sourceId
                              - occurredAt
                              - permalink
                            additionalProperties: false
                          - type: 'null'
                      sourceMetadata:
                        anyOf:
                          - type: object
                            properties:
                              sourceType:
                                anyOf:
                                  - type: string
                                    enum:
                                      - EMAIL
                                      - CALL
                                      - CALENDAR_EVENT
                                      - SUPPORT_TICKET
                                      - OPPORTUNITY
                                      - SLACK
                                  - type: 'null'
                              sourceId:
                                anyOf:
                                  - type: string
                                    maxLength: 500
                                  - type: 'null'
                              sourceOccurredAt:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  - type: 'null'
                              sourceQuote:
                                anyOf:
                                  - type: string
                                    maxLength: 20000
                                  - type: 'null'
                              permalink:
                                anyOf:
                                  - type: string
                                    maxLength: 2000
                                  - type: 'null'
                            required:
                              - sourceType
                              - sourceId
                              - sourceOccurredAt
                              - sourceQuote
                              - permalink
                            additionalProperties: false
                          - type: 'null'
                      evidenceCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      metricName:
                        anyOf:
                          - type: string
                            maxLength: 200
                          - type: 'null'
                      metricValue:
                        anyOf:
                          - type: number
                          - type: 'null'
                      metricPreviousValue:
                        anyOf:
                          - type: number
                          - type: 'null'
                      metricDelta:
                        anyOf:
                          - type: number
                          - type: 'null'
                      metricUnit:
                        anyOf:
                          - type: string
                            maxLength: 100
                          - type: 'null'
                      periodStart:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      periodEnd:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      changePointDate:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      occurrenceCount:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      lastDetectedAt:
                        anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: 'null'
                      severity:
                        anyOf:
                          - type: string
                            maxLength: 100
                          - type: 'null'
                      evidence:
                        anyOf:
                          - type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  maxLength: 500
                                sourceType:
                                  anyOf:
                                    - type: string
                                      enum:
                                        - EMAIL
                                        - CALL
                                        - CALENDAR_EVENT
                                        - SUPPORT_TICKET
                                        - OPPORTUNITY
                                        - SLACK
                                    - type: 'null'
                                sourceId:
                                  anyOf:
                                    - type: string
                                      maxLength: 500
                                    - type: 'null'
                                excerpt:
                                  anyOf:
                                    - type: string
                                      maxLength: 20000
                                    - type: 'null'
                                metadata:
                                  anyOf:
                                    - type: object
                                      propertyNames:
                                        type: string
                                      additionalProperties: {}
                                    - type: 'null'
                              required:
                                - id
                                - sourceType
                                - sourceId
                                - excerpt
                                - metadata
                              additionalProperties: false
                          - type: 'null'
                    required:
                      - id
                      - assertion
                      - reasoning
                      - factType
                      - factCategory
                      - status
                      - confidence
                      - priority
                      - occurredAt
                      - detectedAt
                      - validFrom
                      - validUntil
                      - evidenceCount
                      - metricName
                      - metricValue
                      - metricPreviousValue
                      - metricDelta
                      - metricUnit
                      - periodStart
                      - periodEnd
                      - changePointDate
                      - occurrenceCount
                      - lastDetectedAt
                      - severity
                    additionalProperties: false
                required:
                  - kind
                  - score
                  - matchCount
                  - matches
                  - fact
                additionalProperties: false
              - type: object
                properties:
                  kind:
                    type: string
                    const: source
                  score:
                    type: number
                  sourceType:
                    type: string
                    enum:
                      - EMAIL
                      - CALL
                      - CALENDAR_EVENT
                      - SUPPORT_TICKET
                      - OPPORTUNITY
                      - SLACK
                  sourceId:
                    type: string
                  occurredAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  title:
                    anyOf:
                      - type: string
                      - type: 'null'
                  permalink:
                    anyOf:
                      - type: string
                      - type: 'null'
                  matchCount:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  matches:
                    maxItems: 2
                    type: array
                    items:
                      type: object
                      properties:
                        text:
                          type: string
                        occurredAt:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      required:
                        - text
                      additionalProperties: false
                  context:
                    type: object
                    properties:
                      text:
                        type: string
                      sourceRef:
                        type: object
                        properties:
                          sourceType:
                            type: string
                            const: SLACK
                          sourceId:
                            type: string
                        required:
                          - sourceType
                          - sourceId
                        additionalProperties: false
                    required:
                      - text
                      - sourceRef
                    additionalProperties: false
                required:
                  - kind
                  - score
                  - sourceType
                  - sourceId
                  - occurredAt
                  - title
                  - permalink
                  - matchCount
                  - matches
                additionalProperties: false
      required:
        - customer
        - results
      additionalProperties: false
    ToolOutput_outlit_query:
      type: object
      properties:
        success:
          type: boolean
          const: true
        data:
          type: array
          items:
            type: object
            propertyNames:
              type: string
            additionalProperties: {}
        metadata:
          type: object
          properties:
            rowsReturned:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            executionTimeMs:
              type: number
              minimum: 0
            truncated:
              type: boolean
          required:
            - rowsReturned
            - executionTimeMs
            - truncated
          additionalProperties: false
      required:
        - success
        - data
        - metadata
      additionalProperties: false
    ToolOutput_outlit_schema:
      anyOf:
        - type: object
          properties:
            name:
              type: string
              enum:
                - activity
                - customers
                - users
                - revenue
            description:
              type: string
            columns:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  description:
                    type: string
                required:
                  - name
                  - type
                  - description
                additionalProperties: false
            exampleQueries:
              type: array
              items:
                type: string
          required:
            - name
            - description
            - columns
            - exampleQueries
          additionalProperties: false
        - type: object
          properties:
            views:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    enum:
                      - activity
                      - customers
                      - users
                      - revenue
                  description:
                    type: string
                  columns:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        type:
                          type: string
                        description:
                          type: string
                      required:
                        - name
                        - type
                        - description
                      additionalProperties: false
                  exampleQueries:
                    type: array
                    items:
                      type: string
                required:
                  - name
                  - description
                  - columns
                  - exampleQueries
                additionalProperties: false
            tables:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    enum:
                      - activity
                      - customers
                      - users
                      - revenue
                  description:
                    type: string
                  columns:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        type:
                          type: string
                        description:
                          type: string
                      required:
                        - name
                        - type
                        - description
                      additionalProperties: false
                  exampleQueries:
                    type: array
                    items:
                      type: string
                required:
                  - name
                  - description
                  - columns
                  - exampleQueries
                additionalProperties: false
          required:
            - views
            - tables
          additionalProperties: false
    ToolOutput_outlit_list_destinations:
      type: object
      properties:
        destinations:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  name:
                    type: string
                    minLength: 1
                  description:
                    anyOf:
                      - type: string
                      - type: 'null'
                  enabled:
                    type: boolean
                  syncStatus:
                    type: string
                    enum:
                      - PENDING_PROVIDER_SYNC
                      - SYNCED
                      - PROVIDER_ERROR
                      - DISABLED_BY_PROVIDER
                  lastSyncedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  isDefault:
                    type: boolean
                  archivedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  updatedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  provider:
                    type: string
                    const: SLACK
                  kind:
                    type: string
                    const: SLACK_CHANNEL
                  maskedConfig:
                    anyOf:
                      - type: object
                        properties:
                          channelId:
                            type: string
                          label:
                            type: string
                        required:
                          - channelId
                        additionalProperties: false
                      - type: 'null'
                required:
                  - id
                  - name
                  - description
                  - enabled
                  - syncStatus
                  - lastSyncedAt
                  - isDefault
                  - archivedAt
                  - createdAt
                  - updatedAt
                  - provider
                  - kind
                  - maskedConfig
                additionalProperties: false
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  name:
                    type: string
                    minLength: 1
                  description:
                    anyOf:
                      - type: string
                      - type: 'null'
                  enabled:
                    type: boolean
                  syncStatus:
                    type: string
                    enum:
                      - PENDING_PROVIDER_SYNC
                      - SYNCED
                      - PROVIDER_ERROR
                      - DISABLED_BY_PROVIDER
                  lastSyncedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  isDefault:
                    type: boolean
                  archivedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  updatedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  provider:
                    type: string
                    enum:
                      - OUTPOST
                      - WEBHOOK
                  kind:
                    type: string
                    const: WEBHOOK_ENDPOINT
                  maskedConfig:
                    type: 'null'
                required:
                  - id
                  - name
                  - description
                  - enabled
                  - syncStatus
                  - lastSyncedAt
                  - isDefault
                  - archivedAt
                  - createdAt
                  - updatedAt
                  - provider
                  - kind
                  - maskedConfig
                additionalProperties: false
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  name:
                    type: string
                    minLength: 1
                  description:
                    anyOf:
                      - type: string
                      - type: 'null'
                  enabled:
                    type: boolean
                  syncStatus:
                    type: string
                    enum:
                      - PENDING_PROVIDER_SYNC
                      - SYNCED
                      - PROVIDER_ERROR
                      - DISABLED_BY_PROVIDER
                  lastSyncedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  isDefault:
                    type: boolean
                  archivedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  createdAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  updatedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  provider:
                    type: string
                    const: EMAIL
                  kind:
                    type: string
                    const: EMAIL_RECIPIENTS
                  maskedConfig:
                    anyOf:
                      - type: object
                        properties:
                          recipientMode:
                            type: string
                            enum:
                              - org_admins
                              - explicit
                          recipientCount:
                            type: integer
                            minimum: 0
                            maximum: 50
                        required:
                          - recipientMode
                          - recipientCount
                        additionalProperties: false
                      - type: 'null'
                required:
                  - id
                  - name
                  - description
                  - enabled
                  - syncStatus
                  - lastSyncedAt
                  - isDefault
                  - archivedAt
                  - createdAt
                  - updatedAt
                  - provider
                  - kind
                  - maskedConfig
                additionalProperties: false
      required:
        - destinations
      additionalProperties: false
    ToolOutput_outlit_get_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_create_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_update_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_enable_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_disable_destination:
      type: object
      properties:
        destination:
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: SLACK
                kind:
                  type: string
                  const: SLACK_CHANNEL
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        channelId:
                          type: string
                        label:
                          type: string
                      required:
                        - channelId
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  enum:
                    - OUTPOST
                    - WEBHOOK
                kind:
                  type: string
                  const: WEBHOOK_ENDPOINT
                maskedConfig:
                  type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                name:
                  type: string
                  minLength: 1
                description:
                  anyOf:
                    - type: string
                    - type: 'null'
                enabled:
                  type: boolean
                syncStatus:
                  type: string
                  enum:
                    - PENDING_PROVIDER_SYNC
                    - SYNCED
                    - PROVIDER_ERROR
                    - DISABLED_BY_PROVIDER
                lastSyncedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                isDefault:
                  type: boolean
                archivedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    - type: 'null'
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                provider:
                  type: string
                  const: EMAIL
                kind:
                  type: string
                  const: EMAIL_RECIPIENTS
                maskedConfig:
                  anyOf:
                    - type: object
                      properties:
                        recipientMode:
                          type: string
                          enum:
                            - org_admins
                            - explicit
                        recipientCount:
                          type: integer
                          minimum: 0
                          maximum: 50
                      required:
                        - recipientMode
                        - recipientCount
                      additionalProperties: false
                    - type: 'null'
              required:
                - id
                - name
                - description
                - enabled
                - syncStatus
                - lastSyncedAt
                - isDefault
                - archivedAt
                - createdAt
                - updatedAt
                - provider
                - kind
                - maskedConfig
              additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_archive_destination:
      type: object
      properties:
        destination:
          type: object
          properties:
            id:
              type: string
              format: uuid
              pattern: >-
                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
            archivedAt:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          required:
            - id
            - archivedAt
          additionalProperties: false
      required:
        - destination
      additionalProperties: false
    ToolOutput_outlit_list_integrations:
      type: object
      properties:
        integrations:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
                minLength: 1
                maxLength: 80
              name:
                type: string
                minLength: 1
                maxLength: 120
              category:
                type: string
                enum:
                  - crm
                  - communication
                  - storage
                  - calls
                  - calendar
                  - analytics
                  - billing
                  - support
              status:
                type: string
                enum:
                  - available
                  - connected
                  - setup_required
              lastDataReceivedAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              syncStatus:
                anyOf:
                  - type: string
                    minLength: 1
                    maxLength: 80
                  - type: 'null'
              hasSyncError:
                type: boolean
            required:
              - provider
              - name
              - category
              - status
              - lastDataReceivedAt
              - syncStatus
              - hasSyncError
            additionalProperties: false
      required:
        - integrations
      additionalProperties: false
    ToolOutput_outlit_get_integration_capabilities:
      type: object
      properties:
        providers:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
                minLength: 1
                maxLength: 80
              name:
                type: string
                minLength: 1
                maxLength: 120
              category:
                type: string
                enum:
                  - crm
                  - communication
                  - storage
                  - calls
                  - calendar
                  - analytics
                  - billing
                  - support
              authType:
                type: string
                enum:
                  - oauth
                  - api_key
                  - basic_auth
              setupMode:
                type: string
                enum:
                  - browser_handoff
                  - human_controlled
              browserHandoffAvailable:
                type: boolean
            required:
              - provider
              - name
              - category
              - authType
              - setupMode
              - browserHandoffAvailable
            additionalProperties: false
      required:
        - providers
      additionalProperties: false
    ToolOutput_outlit_begin_integration_setup:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 80
        state:
          type: string
          enum:
            - handoff_ready
            - already_connected
        sessionId:
          anyOf:
            - type: string
              format: uuid
              pattern: >-
                ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
            - type: 'null'
        connectUrl:
          anyOf:
            - type: string
              format: uri
            - type: 'null'
        expiresAt:
          anyOf:
            - type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            - type: 'null'
      required:
        - provider
        - state
        - sessionId
        - connectUrl
        - expiresAt
      additionalProperties: false
    ToolOutput_outlit_get_integration_setup_status:
      type: object
      properties:
        provider:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 80
            - type: 'null'
        status:
          type: string
          enum:
            - expired
            - pending
            - connected
            - failed
      required:
        - provider
        - status
      additionalProperties: false
    ToolOutput_outlit_get_integration_sync_status:
      type: object
      properties:
        provider:
          type: string
          minLength: 1
          maxLength: 80
        name:
          type: string
          minLength: 1
          maxLength: 120
        category:
          type: string
          enum:
            - crm
            - communication
            - storage
            - calls
            - calendar
            - analytics
            - billing
            - support
        status:
          type: string
          enum:
            - not_connected
            - connected
        syncs:
          type: array
          items:
            type: object
            properties:
              model:
                type: string
                minLength: 1
                maxLength: 120
              status:
                type: string
                minLength: 1
                maxLength: 80
              lastSyncedAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              hasError:
                type: boolean
            required:
              - model
              - status
              - lastSyncedAt
              - hasError
            additionalProperties: false
      required:
        - provider
        - name
        - category
        - status
        - syncs
      additionalProperties: false
    ToolOutput_outlit_get_customer_activation:
      type: object
      properties:
        activation:
          type: object
          properties:
            eventName:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 191
                - type: 'null'
          required:
            - eventName
          additionalProperties: false
      required:
        - activation
      additionalProperties: false
    ToolOutput_outlit_preview_customer_activation:
      type: object
      properties:
        preview:
          type: object
          properties:
            eventName:
              type: string
              minLength: 1
              maxLength: 191
            evaluatedFrom:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            evaluatedTo:
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            evaluatedEventCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            matchedCustomerCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            alreadyActivatedCustomerCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            wouldActivateCustomerCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            evaluatedContactOccurrenceCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            matchedContactCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            alreadyActivatedContactCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            wouldActivateContactCount:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            contactTruncated:
              type: boolean
            customerTruncated:
              type: boolean
            truncated:
              type: boolean
            examples:
              type: array
              items:
                type: object
                properties:
                  customer:
                    type: object
                    properties:
                      id:
                        type: string
                        minLength: 1
                      name:
                        type: string
                        minLength: 1
                      domain:
                        type: string
                        minLength: 1
                    required:
                      - id
                      - name
                      - domain
                    additionalProperties: false
                  activatedAt:
                    anyOf:
                      - type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      - type: 'null'
                  firstMatchedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  eventId:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                required:
                  - customer
                  - activatedAt
                  - firstMatchedAt
                  - eventId
                additionalProperties: false
          required:
            - eventName
            - evaluatedFrom
            - evaluatedTo
            - evaluatedEventCount
            - matchedCustomerCount
            - alreadyActivatedCustomerCount
            - wouldActivateCustomerCount
            - evaluatedContactOccurrenceCount
            - matchedContactCount
            - alreadyActivatedContactCount
            - wouldActivateContactCount
            - contactTruncated
            - customerTruncated
            - truncated
            - examples
          additionalProperties: false
      required:
        - preview
      additionalProperties: false
    ToolOutput_outlit_update_customer_activation:
      type: object
      properties:
        activation:
          type: object
          properties:
            eventName:
              anyOf:
                - type: string
                  minLength: 1
                  maxLength: 191
                - type: 'null'
          required:
            - eventName
          additionalProperties: false
        changed:
          type: boolean
      required:
        - activation
        - changed
      additionalProperties: false
    ToolOutput_outlit_get_workspace_settings:
      type: object
      properties:
        settings:
          type: object
          properties:
            defaultTimezone:
              type: string
              minLength: 1
          required:
            - defaultTimezone
          additionalProperties: false
      required:
        - settings
      additionalProperties: false
    ToolOutput_outlit_update_workspace_settings:
      type: object
      properties:
        settings:
          type: object
          properties:
            defaultTimezone:
              type: string
              minLength: 1
          required:
            - defaultTimezone
          additionalProperties: false
      required:
        - settings
      additionalProperties: false
    ToolOutput_outlit_list_behavior_metric_sources:
      type: object
      properties:
        sources:
          type: array
          items:
            type: object
            properties:
              sourceKey:
                type: string
                pattern: ^metric_source_v1_[a-f0-9]{32}$
              provider:
                type: string
                enum:
                  - outlit_sdk
                  - posthog
                  - mixpanel
              label:
                type: string
                minLength: 1
                maxLength: 255
              readiness:
                type: string
                enum:
                  - READY
                  - WARMING
                  - BLOCKED
            required:
              - sourceKey
              - provider
              - label
              - readiness
            additionalProperties: false
      required:
        - sources
      additionalProperties: false
    ToolOutput_outlit_list_behavior_metric_events:
      type: object
      properties:
        events:
          type: array
          items:
            type: object
            properties:
              eventName:
                type: string
                minLength: 1
                maxLength: 191
              eventCount:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              distinctCustomers:
                type: integer
                minimum: 0
                maximum: 9007199254740991
              activeWeeks:
                type: integer
                minimum: 1
                maximum: 53
              propertyKeys:
                maxItems: 10
                type: array
                items:
                  type: string
                  minLength: 1
                  maxLength: 191
            required:
              - eventName
              - eventCount
              - distinctCustomers
              - activeWeeks
              - propertyKeys
            additionalProperties: false
        truncated:
          type: boolean
      required:
        - events
        - truncated
      additionalProperties: false
    ToolOutput_outlit_create_behavior_metric:
      type: object
      properties:
        created:
          type: boolean
        metric:
          type: object
          properties:
            sourceKey:
              type: string
              pattern: ^metric_source_v1_[a-f0-9]{32}$
            behaviorKey:
              type: string
              maxLength: 64
              pattern: ^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$
            label:
              type: string
              minLength: 1
              maxLength: 255
            eventSelection:
              oneOf:
                - type: object
                  properties:
                    mode:
                      type: string
                      const: exact_event_names
                    eventNames:
                      minItems: 1
                      maxItems: 1
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 191
                  required:
                    - mode
                    - eventNames
                  additionalProperties: false
                - type: object
                  properties:
                    mode:
                      type: string
                      const: configured_event
                    eventName:
                      type: string
                      minLength: 1
                      maxLength: 191
                    propertyFilters:
                      minItems: 1
                      maxItems: 5
                      type: array
                      items:
                        oneOf:
                          - type: object
                            properties:
                              property:
                                type: string
                                minLength: 1
                                maxLength: 191
                              operator:
                                type: string
                                const: equals
                              value:
                                oneOf:
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: string
                                      value:
                                        type: string
                                        maxLength: 191
                                    required:
                                      - type
                                      - value
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: number
                                      value:
                                        type: number
                                        minimum: -9007199254740991
                                        maximum: 9007199254740991
                                    required:
                                      - type
                                      - value
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      type:
                                        type: string
                                        const: boolean
                                      value:
                                        type: boolean
                                    required:
                                      - type
                                      - value
                                    additionalProperties: false
                            required:
                              - property
                              - operator
                              - value
                            additionalProperties: false
                          - type: object
                            properties:
                              property:
                                type: string
                                minLength: 1
                                maxLength: 191
                              operator:
                                type: string
                                const: exists
                            required:
                              - property
                              - operator
                            additionalProperties: false
                  required:
                    - mode
                    - eventName
                    - propertyFilters
                  additionalProperties: false
            status:
              type: string
              const: ENABLED
            evaluationMode:
              type: string
              const: SHADOW
            definitions:
              minItems: 2
              maxItems: 2
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                  metricKey:
                    type: string
                    minLength: 1
                    maxLength: 191
                  aggregation:
                    type: string
                    enum:
                      - active_days
                      - event_count
                required:
                  - id
                  - metricKey
                  - aggregation
                additionalProperties: false
          required:
            - sourceKey
            - behaviorKey
            - label
            - eventSelection
            - status
            - evaluationMode
            - definitions
          additionalProperties: false
      required:
        - created
        - metric
      additionalProperties: false
    GatewayError:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_JSON
            - INVALID_TOOL_CALL
            - INVALID_TOOL_INPUT
            - INVALID_CREDENTIALS
            - TOOL_CALL_FORBIDDEN
            - TOOL_BINDING_MISSING
            - TOOL_IMPLEMENTATION_ERROR
            - TOOL_OUTPUT_INVALID
            - TOOL_GATEWAY_ERROR
            - plan_api_limit_exceeded
            - plan_billing_action_required
        message:
          type: string
        retryable:
          type: boolean
        requestId:
          type: string
        plan:
          type: string
        feature:
          type: string
        resetAt:
          anyOf:
            - type: number
            - type: 'null'
      required:
        - code
        - message
        - retryable
        - requestId
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Outlit API key (ok_...).

````