Southwest Airlines Capabilities

Naftiko 0.5 capability definitions for Southwest Airlines - 100 capabilities showing integration workflows and service orchestrations.

Sort
Expand

Retrieves aircraft configuration lookup data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Aircraft Configuration Lookup"
  description: "Retrieves aircraft configuration lookup data from the Southwest Airlines airline operations systems."
  tags:
    - aircraft
    - southwest-airlines
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: aircraft
      port: 8080
      tools:
        - name: aircraft-configuration-lookup
          description: "Retrieves aircraft configuration lookup data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.aircraft-configuration-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/aircraft/configuration/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: aircraft-configuration-lookup
              method: GET

Orchestrates aircraft heavy check pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Aircraft Heavy Check Pipeline"
  description: "Orchestrates aircraft heavy check pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - aircraft
    - southwest-airlines
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: aircraft
      port: 8080
      tools:
        - name: aircraft-heavy-check-pipeline
          description: "Orchestrates aircraft heavy check pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "snowflake.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "slack.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "jira.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/aircraft"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/aircraft"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/aircraft"
          operations:
            - name: execute-3
              method: POST

Orchestrates aircraft interior refurbishment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Aircraft Interior Refurbishment Pipeline"
  description: "Orchestrates aircraft interior refurbishment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - aircraft
    - southwest-airlines
    - workday
    - southwest
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: aircraft
      port: 8080
      tools:
        - name: aircraft-interior-refurbishment-pipeline
          description: "Orchestrates aircraft interior refurbishment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "workday.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "southwest.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "salesforce.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/aircraft"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/aircraft"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/aircraft"
          operations:
            - name: execute-3
              method: POST

Orchestrates aircraft lease return pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Aircraft Lease Return Pipeline"
  description: "Orchestrates aircraft lease return pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - aircraft
    - southwest-airlines
    - slack
    - jira
    - teams
capability:
  exposes:
    - type: mcp
      namespace: aircraft
      port: 8080
      tools:
        - name: aircraft-lease-return-pipeline
          description: "Orchestrates aircraft lease return pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "slack.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "jira.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "teams.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/aircraft"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/aircraft"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/aircraft"
          operations:
            - name: execute-3
              method: POST

Queries the maintenance tracking system for an aircraft's current maintenance status, next scheduled check, and any open discrepancies.

naftiko: "0.5"
info:
  label: "Aircraft Maintenance Status Lookup"
  description: "Queries the maintenance tracking system for an aircraft's current maintenance status, next scheduled check, and any open discrepancies."
  tags:
    - maintenance
    - flight-ops
    - safety
capability:
  exposes:
    - type: mcp
      namespace: maintenance
      port: 8080
      tools:
        - name: get-aircraft-maintenance-status
          description: "Look up the current maintenance status of an aircraft by tail number."
          inputParameters:
            - name: tail_number
              in: body
              type: string
              description: "The aircraft tail number (e.g., N8329B)."
          call: "maintenance-api.get-status"
          with:
            tail: "{{tail_number}}"
  consumes:
    - type: http
      namespace: maintenance-api
      baseUri: "https://api.southwest.com/maintenance/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_maintenance_token"
      resources:
        - name: aircraft
          path: "/aircraft/{{tail}}/status"
          inputParameters:
            - name: tail
              in: path
          operations:
            - name: get-status
              method: GET

Orchestrates aircraft swap orchestrator across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Aircraft Swap Orchestrator"
  description: "Orchestrates aircraft swap orchestrator across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - aircraft
    - southwest-airlines
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: aircraft
      port: 8080
      tools:
        - name: aircraft-swap-orchestrator
          description: "Orchestrates aircraft swap orchestrator across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/aircraft"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/aircraft"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/aircraft"
          operations:
            - name: execute-3
              method: POST

Retrieves aircraft tail number lookup data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Aircraft Tail Number Lookup"
  description: "Retrieves aircraft tail number lookup data from the Southwest Airlines airline operations systems."
  tags:
    - aircraft
    - southwest-airlines
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: aircraft
      port: 8080
      tools:
        - name: aircraft-tail-number-lookup
          description: "Retrieves aircraft tail number lookup data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.aircraft-tail-number-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/aircraft/tail/number/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: aircraft-tail-number-lookup
              method: GET

Orchestrates airport concession management pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Airport Concession Management Pipeline"
  description: "Orchestrates airport concession management pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - airport
    - southwest-airlines
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: airport
      port: 8080
      tools:
        - name: airport-concession-management-pipeline
          description: "Orchestrates airport concession management pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/airport"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/airport"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/airport"
          operations:
            - name: execute-3
              method: POST

Orchestrates airport deicing operations pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Airport Deicing Operations Pipeline"
  description: "Orchestrates airport deicing operations pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - airport
    - southwest-airlines
    - salesforce
    - servicenow
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: airport
      port: 8080
      tools:
        - name: airport-deicing-operations-pipeline
          description: "Orchestrates airport deicing operations pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "salesforce.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "servicenow.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/airport"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/airport"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/airport"
          operations:
            - name: execute-3
              method: POST

Retrieves airport gate assignment list data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Airport Gate Assignment List"
  description: "Retrieves airport gate assignment list data from the Southwest Airlines airline operations systems."
  tags:
    - airport
    - southwest-airlines
    - list
capability:
  exposes:
    - type: mcp
      namespace: airport
      port: 8080
      tools:
        - name: airport-gate-assignment-list
          description: "Retrieves airport gate assignment list data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.airport-gate-assignment-list"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/airport/gate/assignment/list/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: airport-gate-assignment-list
              method: GET

Orchestrates airport operations dashboard pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Airport Operations Dashboard Pipeline"
  description: "Orchestrates airport operations dashboard pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - airport
    - southwest-airlines
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: airport
      port: 8080
      tools:
        - name: airport-operations-dashboard-pipeline
          description: "Orchestrates airport operations dashboard pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "snowflake.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "slack.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "jira.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/airport"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/airport"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/airport"
          operations:
            - name: execute-3
              method: POST

Retrieves airport staffing level check data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Airport Staffing Level Check"
  description: "Retrieves airport staffing level check data from the Southwest Airlines airline operations systems."
  tags:
    - airport
    - southwest-airlines
    - check
capability:
  exposes:
    - type: mcp
      namespace: airport
      port: 8080
      tools:
        - name: airport-staffing-level-check
          description: "Retrieves airport staffing level check data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.airport-staffing-level-check"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/airport/staffing/level/check/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: airport-staffing-level-check
              method: GET

Retrieves current weather conditions at a specified airport from the aviation weather service.

naftiko: "0.5"
info:
  label: "Airport Weather Conditions Lookup"
  description: "Retrieves current weather conditions at a specified airport from the aviation weather service."
  tags:
    - flight-ops
    - weather
    - safety
capability:
  exposes:
    - type: mcp
      namespace: weather
      port: 8080
      tools:
        - name: get-airport-weather
          description: "Get current weather conditions including visibility, wind, ceiling, and temperature at a specified airport."
          inputParameters:
            - name: airport_code
              in: body
              type: string
              description: "The IATA airport code."
          call: "weather-api.get-metar"
          with:
            station: "{{airport_code}}"
  consumes:
    - type: http
      namespace: weather-api
      baseUri: "https://aviationweather.gov/api/data"
      authentication:
        type: apiKey
        key: "$secrets.aviation_weather_key"
      resources:
        - name: metar
          path: "/metar?ids={{station}}&format=json"
          inputParameters:
            - name: station
              in: query
          operations:
            - name: get-metar
              method: GET

Orchestrates ancillary revenue optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Ancillary Revenue Optimization Pipeline"
  description: "Orchestrates ancillary revenue optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - ancillary
    - southwest-airlines
    - sendgrid
    - datadog
    - workday
capability:
  exposes:
    - type: mcp
      namespace: ancillary
      port: 8080
      tools:
        - name: ancillary-revenue-optimization-pipeline
          description: "Orchestrates ancillary revenue optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "sendgrid.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "workday.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/ancillary"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/ancillary"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/ancillary"
          operations:
            - name: execute-3
              method: POST

Queries the ancillary revenue system for EarlyBird Check-In, upgraded boarding, and other add-on revenue for a date range.

naftiko: "0.5"
info:
  label: "Ancillary Revenue Tracker"
  description: "Queries the ancillary revenue system for EarlyBird Check-In, upgraded boarding, and other add-on revenue for a date range."
  tags:
    - revenue
    - ancillary
    - finance
capability:
  exposes:
    - type: mcp
      namespace: ancillary-revenue
      port: 8080
      tools:
        - name: get-ancillary-revenue
          description: "Get ancillary revenue breakdown including EarlyBird, upgraded boarding, and other products for a date range."
          inputParameters:
            - name: start_date
              in: body
              type: string
              description: "The start date in YYYY-MM-DD format."
            - name: end_date
              in: body
              type: string
              description: "The end date in YYYY-MM-DD format."
          call: "revenue-api.get-ancillary"
          with:
            from: "{{start_date}}"
            to: "{{end_date}}"
  consumes:
    - type: http
      namespace: revenue-api
      baseUri: "https://api.southwest.com/revenue/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_revenue_token"
      resources:
        - name: ancillary
          path: "/ancillary?from={{from}}&to={{to}}"
          inputParameters:
            - name: from
              in: query
            - name: to
              in: query
          operations:
            - name: get-ancillary
              method: GET

Checks the latest build status for a specified Azure DevOps pipeline and returns build result, duration, and triggered-by information.

naftiko: "0.5"
info:
  label: "Azure DevOps Build Status"
  description: "Checks the latest build status for a specified Azure DevOps pipeline and returns build result, duration, and triggered-by information."
  tags:
    - devops
    - ci-cd
    - azure-devops
capability:
  exposes:
    - type: mcp
      namespace: devops
      port: 8080
      tools:
        - name: get-build-status
          description: "Get the latest build status for an Azure DevOps pipeline."
          inputParameters:
            - name: project_name
              in: body
              type: string
              description: "The Azure DevOps project name."
            - name: pipeline_id
              in: body
              type: string
              description: "The pipeline definition ID."
          call: "azdo.get-latest-build"
          with:
            project: "{{project_name}}"
            definition_id: "{{pipeline_id}}"
  consumes:
    - type: http
      namespace: azdo
      baseUri: "https://dev.azure.com/southwest"
      authentication:
        type: basic
        username: ""
        password: "$secrets.azdo_pat"
      resources:
        - name: builds
          path: "/{{project}}/_apis/build/builds?definitions={{definition_id}}&$top=1&api-version=7.0"
          inputParameters:
            - name: project
              in: path
            - name: definition_id
              in: query
          operations:
            - name: get-latest-build
              method: GET

Orchestrates bag handling exception pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Bag Handling Exception Pipeline"
  description: "Orchestrates bag handling exception pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - bag
    - southwest-airlines
    - southwest
    - salesforce
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: bag
      port: 8080
      tools:
        - name: bag-handling-exception-pipeline
          description: "Orchestrates bag handling exception pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "southwest.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "salesforce.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/bag"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/bag"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/bag"
          operations:
            - name: execute-3
              method: POST

Queries the baggage handling system for the current location and status of a checked bag using the bag tag number.

naftiko: "0.5"
info:
  label: "Baggage Tracking Status"
  description: "Queries the baggage handling system for the current location and status of a checked bag using the bag tag number."
  tags:
    - baggage
    - customer-service
    - operations
capability:
  exposes:
    - type: mcp
      namespace: baggage
      port: 8080
      tools:
        - name: track-bag
          description: "Look up the current status and location of a checked bag by its tag number."
          inputParameters:
            - name: bag_tag
              in: body
              type: string
              description: "The 10-digit bag tag number."
          call: "baggage-api.get-status"
          with:
            tag: "{{bag_tag}}"
  consumes:
    - type: http
      namespace: baggage-api
      baseUri: "https://api.southwest.com/baggage/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_baggage_token"
      resources:
        - name: bags
          path: "/bags/{{tag}}"
          inputParameters:
            - name: tag
              in: path
          operations:
            - name: get-status
              method: GET

Retrieves real-time boarding progress for a specific flight at a gate, showing the count of boarded vs. remaining passengers.

naftiko: "0.5"
info:
  label: "Boarding Process Monitor"
  description: "Retrieves real-time boarding progress for a specific flight at a gate, showing the count of boarded vs. remaining passengers."
  tags:
    - flight-ops
    - boarding
    - real-time
capability:
  exposes:
    - type: mcp
      namespace: boarding-ops
      port: 8080
      tools:
        - name: get-boarding-progress
          description: "Get real-time boarding progress for a flight showing boarded and remaining passenger counts."
          inputParameters:
            - name: flight_number
              in: body
              type: string
              description: "The Southwest flight number."
            - name: flight_date
              in: body
              type: string
              description: "The flight date in YYYY-MM-DD format."
          call: "gate-api.get-boarding-status"
          with:
            flight: "{{flight_number}}"
            date: "{{flight_date}}"
  consumes:
    - type: http
      namespace: gate-api
      baseUri: "https://api.southwest.com/gate-ops/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_gate_ops_token"
      resources:
        - name: boarding
          path: "/boarding?flight={{flight}}&date={{date}}"
          inputParameters:
            - name: flight
              in: query
            - name: date
              in: query
          operations:
            - name: get-boarding-status
              method: GET

Searches for documents in Box by keyword, returning file names, sizes, and sharing links.

naftiko: "0.5"
info:
  label: "Box Document Search"
  description: "Searches for documents in Box by keyword, returning file names, sizes, and sharing links."
  tags:
    - documents
    - box
    - search
capability:
  exposes:
    - type: mcp
      namespace: document-search
      port: 8080
      tools:
        - name: search-box-documents
          description: "Search for documents in Southwest's Box account by keyword."
          inputParameters:
            - name: search_query
              in: body
              type: string
              description: "The search keyword or phrase."
          call: "box.search-files"
          with:
            query: "{{search_query}}"
  consumes:
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: search
          path: "/search?query={{query}}"
          inputParameters:
            - name: query
              in: query
          operations:
            - name: search-files
              method: GET

Places a catering order for a flight by checking the manifest count, submitting the order to the catering vendor API, and logging the order in ServiceNow.

naftiko: "0.5"
info:
  label: "Catering Order Orchestrator"
  description: "Places a catering order for a flight by checking the manifest count, submitting the order to the catering vendor API, and logging the order in ServiceNow."
  tags:
    - flight-ops
    - catering
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: catering
      port: 8080
      tools:
        - name: place-catering-order
          description: "Place a catering order for a flight based on passenger count and route type."
          inputParameters:
            - name: flight_number
              in: body
              type: string
              description: "The Southwest flight number."
            - name: flight_date
              in: body
              type: string
              description: "The flight date in YYYY-MM-DD format."
            - name: catering_type
              in: body
              type: string
              description: "The catering package type (standard, premium)."
          steps:
            - name: get-manifest-count
              type: call
              call: "booking-api.get-flight-passengers"
              with:
                flight: "{{flight_number}}"
                date: "{{flight_date}}"
            - name: submit-order
              type: call
              call: "catering-api.create-order"
              with:
                flight: "{{flight_number}}"
                date: "{{flight_date}}"
                passenger_count: "{{get-manifest-count.count}}"
                package: "{{catering_type}}"
            - name: log-order
              type: call
              call: "servicenow.create-request"
              with:
                short_description: "Catering order for flight {{flight_number}} on {{flight_date}}"
                description: "Order {{submit-order.order_id}}: {{catering_type}} package for {{get-manifest-count.count}} passengers."
  consumes:
    - type: http
      namespace: booking-api
      baseUri: "https://api.southwest.com/reservations/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_booking_token"
      resources:
        - name: flight-passengers
          path: "/flights/{{flight}}/passengers?date={{date}}"
          inputParameters:
            - name: flight
              in: path
            - name: date
              in: query
          operations:
            - name: get-flight-passengers
              method: GET
    - type: http
      namespace: catering-api
      baseUri: "https://api.southwest.com/catering/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_catering_token"
      resources:
        - name: orders
          path: "/orders"
          operations:
            - name: create-order
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: requests
          path: "/table/sc_request"
          operations:
            - name: create-request
              method: POST

Purges the Cloudflare CDN cache for specified URL patterns on the Southwest Airlines website.

naftiko: "0.5"
info:
  label: "Cloudflare CDN Cache Purge"
  description: "Purges the Cloudflare CDN cache for specified URL patterns on the Southwest Airlines website."
  tags:
    - infrastructure
    - cloudflare
    - cdn
capability:
  exposes:
    - type: mcp
      namespace: cdn-ops
      port: 8080
      tools:
        - name: purge-cdn-cache
          description: "Purge the Cloudflare CDN cache for specified URL patterns on southwest.com."
          inputParameters:
            - name: url_patterns
              in: body
              type: array
              description: "List of URL patterns to purge from the CDN cache."
          call: "cloudflare.purge-cache"
          with:
            zone_id: "$secrets.cloudflare_zone_id"
            files: "{{url_patterns}}"
  consumes:
    - type: http
      namespace: cloudflare
      baseUri: "https://api.cloudflare.com/client/v4"
      authentication:
        type: bearer
        token: "$secrets.cloudflare_token"
      resources:
        - name: cache
          path: "/zones/{{zone_id}}/purge_cache"
          inputParameters:
            - name: zone_id
              in: path
          operations:
            - name: purge-cache
              method: POST

Retrieves companion pass eligibility data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Companion Pass Eligibility"
  description: "Retrieves companion pass eligibility data from the Southwest Airlines airline operations systems."
  tags:
    - companion
    - southwest-airlines
    - eligibility
capability:
  exposes:
    - type: mcp
      namespace: companion
      port: 8080
      tools:
        - name: companion-pass-eligibility
          description: "Retrieves companion pass eligibility data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.companion-pass-eligibility"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/companion/pass/eligibility/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: companion-pass-eligibility
              method: GET

Searches the Confluence knowledge base for articles matching a query, returning titles, excerpts, and links.

naftiko: "0.5"
info:
  label: "Confluence Knowledge Base Search"
  description: "Searches the Confluence knowledge base for articles matching a query, returning titles, excerpts, and links."
  tags:
    - knowledge-management
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: knowledge
      port: 8080
      tools:
        - name: search-confluence
          description: "Search Confluence for knowledge base articles matching a query term."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The search query string."
          call: "confluence.search"
          with:
            cql: "type=page AND text~\"{{query}}\""
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://southwest.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: search
          path: "/search?cql={{cql}}"
          inputParameters:
            - name: cql
              in: query
          operations:
            - name: search
              method: GET

Looks up crew assignments for a given flight number and date, returning pilot and flight attendant details from the crew management system.

naftiko: "0.5"
info:
  label: "Crew Assignment Viewer"
  description: "Looks up crew assignments for a given flight number and date, returning pilot and flight attendant details from the crew management system."
  tags:
    - crew
    - flight-ops
    - scheduling
capability:
  exposes:
    - type: mcp
      namespace: crew-mgmt
      port: 8080
      tools:
        - name: get-crew-assignment
          description: "Retrieve the crew roster for a specific flight number and date."
          inputParameters:
            - name: flight_number
              in: body
              type: string
              description: "The Southwest flight number."
            - name: flight_date
              in: body
              type: string
              description: "The flight date in YYYY-MM-DD format."
          call: "crew-api.get-assignment"
          with:
            flight: "{{flight_number}}"
            date: "{{flight_date}}"
  consumes:
    - type: http
      namespace: crew-api
      baseUri: "https://api.southwest.com/crew/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_crew_token"
      resources:
        - name: assignments
          path: "/assignments?flight={{flight}}&date={{date}}"
          inputParameters:
            - name: flight
              in: query
            - name: date
              in: query
          operations:
            - name: get-assignment
              method: GET

Orchestrates crew base optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Crew Base Optimization Pipeline"
  description: "Orchestrates crew base optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - crew
    - southwest-airlines
    - sendgrid
    - datadog
    - workday
capability:
  exposes:
    - type: mcp
      namespace: crew
      port: 8080
      tools:
        - name: crew-base-optimization-pipeline
          description: "Orchestrates crew base optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "sendgrid.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "workday.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/crew"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/crew"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/crew"
          operations:
            - name: execute-3
              method: POST

Validates a crew member's flight hours against FAA rest requirements by querying the crew scheduling system and returns compliance status.

naftiko: "0.5"
info:
  label: "Crew Fatigue Rule Checker"
  description: "Validates a crew member's flight hours against FAA rest requirements by querying the crew scheduling system and returns compliance status."
  tags:
    - crew
    - compliance
    - safety
capability:
  exposes:
    - type: mcp
      namespace: crew-compliance
      port: 8080
      tools:
        - name: check-crew-fatigue
          description: "Check whether a crew member's accumulated hours comply with FAA rest regulations."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The crew member employee ID."
            - name: check_date
              in: body
              type: string
              description: "The date to check compliance for in YYYY-MM-DD format."
          call: "crew-api.get-fatigue-status"
          with:
            employee: "{{employee_id}}"
            date: "{{check_date}}"
  consumes:
    - type: http
      namespace: crew-api
      baseUri: "https://api.southwest.com/crew/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_crew_token"
      resources:
        - name: fatigue
          path: "/fatigue?employee={{employee}}&date={{date}}"
          inputParameters:
            - name: employee
              in: query
            - name: date
              in: query
          operations:
            - name: get-fatigue-status
              method: GET

Orchestrates crew hotel accommodation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Crew Hotel Accommodation Pipeline"
  description: "Orchestrates crew hotel accommodation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - crew
    - southwest-airlines
    - teams
    - sendgrid
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: crew
      port: 8080
      tools:
        - name: crew-hotel-accommodation-pipeline
          description: "Orchestrates crew hotel accommodation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "teams.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "sendgrid.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/crew"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/crew"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/crew"
          operations:
            - name: execute-3
              method: POST

Retrieves crew pairing schedule data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Crew Pairing Schedule"
  description: "Retrieves crew pairing schedule data from the Southwest Airlines airline operations systems."
  tags:
    - crew
    - southwest-airlines
    - schedule
capability:
  exposes:
    - type: mcp
      namespace: crew
      port: 8080
      tools:
        - name: crew-pairing-schedule
          description: "Retrieves crew pairing schedule data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.crew-pairing-schedule"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/crew/pairing/schedule/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: crew-pairing-schedule
              method: GET

Orchestrates crew rebid assignment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Crew Rebid Assignment Pipeline"
  description: "Orchestrates crew rebid assignment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - crew
    - southwest-airlines
    - salesforce
    - servicenow
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: crew
      port: 8080
      tools:
        - name: crew-rebid-assignment-pipeline
          description: "Orchestrates crew rebid assignment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "salesforce.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "servicenow.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/crew"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/crew"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/crew"
          operations:
            - name: execute-3
              method: POST

Processes a crew swap request between two crew members, validates both schedules, updates assignments, and notifies both parties via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Crew Swap Request Handler"
  description: "Processes a crew swap request between two crew members, validates both schedules, updates assignments, and notifies both parties via Microsoft Teams."
  tags:
    - crew
    - scheduling
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: crew-swap
      port: 8080
      tools:
        - name: process-crew-swap
          description: "Validate and execute a crew swap between two employees, updating assignments and sending notifications."
          inputParameters:
            - name: requesting_employee_id
              in: body
              type: string
              description: "The employee ID of the crew member requesting the swap."
            - name: target_employee_id
              in: body
              type: string
              description: "The employee ID of the crew member accepting the swap."
            - name: flight_number
              in: body
              type: string
              description: "The flight number for the swap."
            - name: flight_date
              in: body
              type: string
              description: "The flight date in YYYY-MM-DD format."
          steps:
            - name: validate-swap
              type: call
              call: "crew-api.validate-swap"
              with:
                requester: "{{requesting_employee_id}}"
                target: "{{target_employee_id}}"
                flight: "{{flight_number}}"
                date: "{{flight_date}}"
            - name: execute-swap
              type: call
              call: "crew-api.execute-swap"
              with:
                swap_id: "{{validate-swap.swap_id}}"
            - name: notify-requester
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{validate-swap.requester_email}}"
                text: "Your crew swap for flight {{flight_number}} on {{flight_date}} has been approved and executed."
            - name: notify-target
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{validate-swap.target_email}}"
                text: "You have been assigned to flight {{flight_number}} on {{flight_date}} via a crew swap."
  consumes:
    - type: http
      namespace: crew-api
      baseUri: "https://api.southwest.com/crew/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_crew_token"
      resources:
        - name: swaps
          path: "/swaps"
          operations:
            - name: validate-swap
              method: POST
        - name: swap-execution
          path: "/swaps/{{swap_id}}/execute"
          inputParameters:
            - name: swap_id
              in: path
          operations:
            - name: execute-swap
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates customer accessibility services pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Accessibility Services Pipeline"
  description: "Orchestrates customer accessibility services pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - southwest-airlines
    - datadog
    - workday
    - southwest
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-accessibility-services-pipeline
          description: "Orchestrates customer accessibility services pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "datadog.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "workday.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "southwest.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

When a customer complaint is received in Salesforce, creates a ServiceNow incident, assigns a priority based on Rapid Rewards tier, and notifies the customer care team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Customer Complaint Escalation Orchestrator"
  description: "When a customer complaint is received in Salesforce, creates a ServiceNow incident, assigns a priority based on Rapid Rewards tier, and notifies the customer care team via Microsoft Teams."
  tags:
    - customer-service
    - salesforce
    - servicenow
    - microsoft-teams
    - rapid-rewards
capability:
  exposes:
    - type: mcp
      namespace: complaint-escalation
      port: 8080
      tools:
        - name: escalate-complaint
          description: "Given a Salesforce case ID, escalate the complaint by creating a ServiceNow incident and notifying the care team."
          inputParameters:
            - name: case_id
              in: body
              type: string
              description: "The Salesforce case ID for the customer complaint."
          steps:
            - name: get-case
              type: call
              call: "salesforce.get-case"
              with:
                case_id: "{{case_id}}"
            - name: get-loyalty
              type: call
              call: "rewards-api.get-member"
              with:
                member_id: "{{get-case.rapid_rewards_number}}"
            - name: create-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Customer complaint: {{get-case.subject}}"
                category: "customer_care"
                priority: "{{get-loyalty.tier_priority}}"
                description: "Complaint from {{get-case.contact_name}} (RR Tier: {{get-loyalty.tier}}). Details: {{get-case.description}}"
            - name: notify-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "customer_care"
                channel_id: "escalations"
                text: "Escalated complaint from {{get-case.contact_name}} ({{get-loyalty.tier}} member). Case: {{case_id}}, Incident: {{create-incident.number}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: cases
          path: "/sobjects/Case/{{case_id}}"
          inputParameters:
            - name: case_id
              in: path
          operations:
            - name: get-case
              method: GET
    - type: http
      namespace: rewards-api
      baseUri: "https://api.southwest.com/loyalty/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_loyalty_token"
      resources:
        - name: members
          path: "/members/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: get-member
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Orchestrates customer complaint trending pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Complaint Trending Pipeline"
  description: "Orchestrates customer complaint trending pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - southwest-airlines
    - salesforce
    - servicenow
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-complaint-trending-pipeline
          description: "Orchestrates customer complaint trending pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "salesforce.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "servicenow.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Orchestrates customer digital experience pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Digital Experience Pipeline"
  description: "Orchestrates customer digital experience pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - southwest-airlines
    - slack
    - jira
    - teams
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-digital-experience-pipeline
          description: "Orchestrates customer digital experience pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "slack.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "jira.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "teams.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Orchestrates customer group booking pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Group Booking Pipeline"
  description: "Orchestrates customer group booking pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - southwest-airlines
    - salesforce
    - servicenow
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-group-booking-pipeline
          description: "Orchestrates customer group booking pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "salesforce.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "servicenow.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "snowflake.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Orchestrates customer loyalty analytics pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Loyalty Analytics Pipeline"
  description: "Orchestrates customer loyalty analytics pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - southwest-airlines
    - southwest
    - salesforce
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-loyalty-analytics-pipeline
          description: "Orchestrates customer loyalty analytics pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "southwest.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "salesforce.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Orchestrates customer rebooking automation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Rebooking Automation Pipeline"
  description: "Orchestrates customer rebooking automation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - southwest-airlines
    - jira
    - teams
    - sendgrid
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-rebooking-automation-pipeline
          description: "Orchestrates customer rebooking automation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "jira.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "teams.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "sendgrid.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Orchestrates customer service recovery pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Service Recovery Pipeline"
  description: "Orchestrates customer service recovery pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - southwest-airlines
    - slack
    - jira
    - teams
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-service-recovery-pipeline
          description: "Orchestrates customer service recovery pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "slack.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "jira.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "teams.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Retrieves customer travel funds balance data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Customer Travel Funds Balance"
  description: "Retrieves customer travel funds balance data from the Southwest Airlines airline operations systems."
  tags:
    - customer
    - southwest-airlines
    - balance
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-travel-funds-balance
          description: "Retrieves customer travel funds balance data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.customer-travel-funds-balance"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/customer/travel/funds/balance/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: customer-travel-funds-balance
              method: GET

Queries Datadog for the current health status of a specified Southwest service, returning recent alerts and uptime metrics.

naftiko: "0.5"
info:
  label: "Datadog Service Health Check"
  description: "Queries Datadog for the current health status of a specified Southwest service, returning recent alerts and uptime metrics."
  tags:
    - monitoring
    - datadog
    - operations
capability:
  exposes:
    - type: mcp
      namespace: monitoring
      port: 8080
      tools:
        - name: get-service-health
          description: "Retrieve the current health status and recent alerts for a Southwest service monitored in Datadog."
          inputParameters:
            - name: service_name
              in: body
              type: string
              description: "The name of the service as registered in Datadog."
          call: "datadog.get-service-summary"
          with:
            service: "{{service_name}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      inputParameters:
        - name: DD-APPLICATION-KEY
          in: header
          value: "$secrets.datadog_app_key"
      resources:
        - name: services
          path: "/service_summary?service={{service}}"
          inputParameters:
            - name: service
              in: query
          operations:
            - name: get-service-summary
              method: GET

Queries Dynatrace for active infrastructure alerts impacting Southwest systems and returns problem details.

naftiko: "0.5"
info:
  label: "Dynatrace Infrastructure Alert Viewer"
  description: "Queries Dynatrace for active infrastructure alerts impacting Southwest systems and returns problem details."
  tags:
    - monitoring
    - dynatrace
    - infrastructure
capability:
  exposes:
    - type: mcp
      namespace: infra-monitoring
      port: 8080
      tools:
        - name: get-active-problems
          description: "Get all active Dynatrace problems affecting Southwest infrastructure."
          inputParameters:
            - name: severity_filter
              in: body
              type: string
              description: "Filter by severity (AVAILABILITY, ERROR, PERFORMANCE, RESOURCE_CONTENTION)."
          call: "dynatrace.get-problems"
          with:
            severity: "{{severity_filter}}"
  consumes:
    - type: http
      namespace: dynatrace
      baseUri: "https://southwest.live.dynatrace.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.dynatrace_token"
      resources:
        - name: problems
          path: "/problems?problemSelector=status(\"OPEN\")&severityLevel={{severity}}"
          inputParameters:
            - name: severity
              in: query
          operations:
            - name: get-problems
              method: GET

Retrieves earlybird checkin status data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Earlybird Checkin Status"
  description: "Retrieves earlybird checkin status data from the Southwest Airlines airline operations systems."
  tags:
    - earlybird
    - southwest-airlines
    - status
capability:
  exposes:
    - type: mcp
      namespace: earlybird
      port: 8080
      tools:
        - name: earlybird-checkin-status
          description: "Retrieves earlybird checkin status data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.earlybird-checkin-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/earlybird/checkin/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: earlybird-checkin-status
              method: GET

On new hire creation in PeopleSoft, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message.

naftiko: "0.5"
info:
  label: "Employee Onboarding Orchestrator"
  description: "On new hire creation in PeopleSoft, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
  tags:
    - hr
    - onboarding
    - peoplesoft
    - servicenow
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: hr-onboarding
      port: 8080
      tools:
        - name: trigger-onboarding
          description: "Given a PeopleSoft employee ID and start date, orchestrate the full onboarding sequence across ServiceNow, SharePoint, and Microsoft Teams."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The PeopleSoft employee ID for the new hire."
            - name: start_date
              in: body
              type: string
              description: "The employee start date in YYYY-MM-DD format."
            - name: department
              in: body
              type: string
              description: "The department the new hire is joining."
          steps:
            - name: get-employee
              type: call
              call: "peoplesoft.get-employee"
              with:
                employee_id: "{{employee_id}}"
            - name: open-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "New hire onboarding: {{get-employee.full_name}}"
                category: "hr_onboarding"
                assigned_group: "IT_Onboarding"
                description: "Onboarding for {{get-employee.full_name}} starting {{start_date}} in {{department}}."
            - name: provision-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "hr_onboarding_site"
                folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
            - name: send-welcome
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-employee.work_email}}"
                text: "Welcome to Southwest Airlines, {{get-employee.first_name}}! Your IT onboarding ticket is {{open-ticket.number}}. Documents are ready at {{provision-folder.url}}."
  consumes:
    - type: http
      namespace: peoplesoft
      baseUri: "https://peoplesoft.southwest.com/api/v1"
      authentication:
        type: basic
        username: "$secrets.peoplesoft_user"
        password: "$secrets.peoplesoft_password"
      resources:
        - name: employees
          path: "/employees/{{employee_id}}"
          inputParameters:
            - name: employee_id
              in: path
          operations:
            - name: get-employee
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: drive-items
          path: "/{{site_id}}/drive/root:/{{folder_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
          operations:
            - name: create-folder
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Pulls historical booking data from Oracle Cloud, runs a fare revenue forecast using Google Analytics trend data, and stores the forecast in a SharePoint report.

naftiko: "0.5"
info:
  label: "Fare Revenue Forecast Orchestrator"
  description: "Pulls historical booking data from Oracle Cloud, runs a fare revenue forecast using Google Analytics trend data, and stores the forecast in a SharePoint report."
  tags:
    - revenue
    - forecasting
    - oracle-cloud
    - google-analytics
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: revenue-forecast
      port: 8080
      tools:
        - name: generate-fare-forecast
          description: "Generate a fare revenue forecast by combining historical Oracle data with Google Analytics booking trends."
          inputParameters:
            - name: route
              in: body
              type: string
              description: "The route in ORIGIN-DESTINATION format."
            - name: forecast_period
              in: body
              type: string
              description: "The forecast period (e.g., 2026-Q2)."
          steps:
            - name: get-historical
              type: call
              call: "oracle-cloud.get-route-revenue"
              with:
                route: "{{route}}"
            - name: get-trends
              type: call
              call: "ga.get-booking-trends"
              with:
                route: "{{route}}"
                period: "{{forecast_period}}"
            - name: save-forecast
              type: call
              call: "sharepoint.update-file"
              with:
                site_id: "revenue_forecasts"
                file_path: "Forecasts/{{route}}_{{forecast_period}}.json"
                content:
                  historical: "{{get-historical}}"
                  trends: "{{get-trends}}"
  consumes:
    - type: http
      namespace: oracle-cloud
      baseUri: "https://oracle-cloud.southwest.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_cloud_token"
      resources:
        - name: revenue
          path: "/revenue/routes/{{route}}"
          inputParameters:
            - name: route
              in: path
          operations:
            - name: get-route-revenue
              method: GET
    - type: http
      namespace: ga
      baseUri: "https://analyticsdata.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: trends
          path: "/properties/{{property_id}}:runReport"
          operations:
            - name: get-booking-trends
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: files
          path: "/{{site_id}}/drive/root:/{{file_path}}:/content"
          inputParameters:
            - name: site_id
              in: path
            - name: file_path
              in: path
          operations:
            - name: update-file
              method: PUT

Retrieves flight availability lookup data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Flight Availability Lookup"
  description: "Retrieves flight availability lookup data from the Southwest Airlines airline operations systems."
  tags:
    - flight
    - southwest-airlines
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-availability-lookup
          description: "Retrieves flight availability lookup data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.flight-availability-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/flight/availability/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: flight-availability-lookup
              method: GET

Processes a flight cancellation by updating the flight status, generating refund requests in Oracle EBS, notifying passengers via WhatsApp, and logging a ServiceNow incident.

naftiko: "0.5"
info:
  label: "Flight Cancellation Processor"
  description: "Processes a flight cancellation by updating the flight status, generating refund requests in Oracle EBS, notifying passengers via WhatsApp, and logging a ServiceNow incident."
  tags:
    - flight-ops
    - disruptions
    - oracle-e-business-suite
    - whatsapp
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: flight-cancellation
      port: 8080
      tools:
        - name: cancel-flight
          description: "Execute the full cancellation process for a flight including passenger notification and refund initiation."
          inputParameters:
            - name: flight_number
              in: body
              type: string
              description: "The flight number to cancel."
            - name: flight_date
              in: body
              type: string
              description: "The flight date in YYYY-MM-DD format."
            - name: cancellation_reason
              in: body
              type: string
              description: "The reason for cancellation."
          steps:
            - name: cancel-in-system
              type: call
              call: "flight-api.cancel-flight"
              with:
                flight: "{{flight_number}}"
                date: "{{flight_date}}"
                reason: "{{cancellation_reason}}"
            - name: initiate-refunds
              type: call
              call: "oracle-ebs.create-refund-batch"
              with:
                flight: "{{flight_number}}"
                date: "{{flight_date}}"
                passenger_count: "{{cancel-in-system.affected_passengers}}"
            - name: notify-passengers
              type: call
              call: "whatsapp.send-bulk-message"
              with:
                recipients: "{{cancel-in-system.passenger_phones}}"
                template: "flight_cancelled"
                parameters:
                  flight: "{{flight_number}}"
                  reason: "{{cancellation_reason}}"
            - name: log-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Flight {{flight_number}} cancelled on {{flight_date}}"
                category: "flight_operations"
                description: "{{cancellation_reason}}. {{cancel-in-system.affected_passengers}} passengers affected. Refund batch: {{initiate-refunds.batch_id}}."
  consumes:
    - type: http
      namespace: flight-api
      baseUri: "https://api.southwest.com/flights/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_flight_api_token"
      resources:
        - name: cancellations
          path: "/flights/{{flight}}/cancel"
          inputParameters:
            - name: flight
              in: path
          operations:
            - name: cancel-flight
              method: POST
    - type: http
      namespace: oracle-ebs
      baseUri: "https://oracle-ebs.southwest.com/api/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_ebs_user"
        password: "$secrets.oracle_ebs_password"
      resources:
        - name: refunds
          path: "/refunds/batch"
          operations:
            - name: create-refund-batch
              method: POST
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_business_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: send-bulk-message
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST

Orchestrates flight crew duty compliance pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Flight Crew Duty Compliance Pipeline"
  description: "Orchestrates flight crew duty compliance pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - flight
    - southwest-airlines
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-crew-duty-compliance-pipeline
          description: "Orchestrates flight crew duty compliance pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/flight"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/flight"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/flight"
          operations:
            - name: execute-3
              method: POST

Orchestrates flight delay compensation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Flight Delay Compensation Pipeline"
  description: "Orchestrates flight delay compensation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - flight
    - southwest-airlines
    - datadog
    - workday
    - southwest
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-delay-compensation-pipeline
          description: "Orchestrates flight delay compensation pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "datadog.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "workday.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "southwest.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/flight"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/flight"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/flight"
          operations:
            - name: execute-3
              method: POST

When a flight delay is detected, retrieves affected passenger list from the reservation system, sends delay notifications via WhatsApp, and creates a ServiceNow incident for operations tracking.

naftiko: "0.5"
info:
  label: "Flight Delay Notification Orchestrator"
  description: "When a flight delay is detected, retrieves affected passenger list from the reservation system, sends delay notifications via WhatsApp, and creates a ServiceNow incident for operations tracking."
  tags:
    - flight-ops
    - notifications
    - whatsapp
    - servicenow
    - disruptions
capability:
  exposes:
    - type: mcp
      namespace: disruption-mgmt
      port: 8080
      tools:
        - name: notify-flight-delay
          description: "Given a delayed flight number and new estimated departure, notify all affected passengers and log a ServiceNow incident."
          inputParameters:
            - name: flight_number
              in: body
              type: string
              description: "The delayed Southwest flight number."
            - name: flight_date
              in: body
              type: string
              description: "The flight date in YYYY-MM-DD format."
            - name: new_departure_time
              in: body
              type: string
              description: "The new estimated departure time in HH:MM format."
            - name: delay_reason
              in: body
              type: string
              description: "The reason for the delay."
          steps:
            - name: get-passengers
              type: call
              call: "booking-api.get-flight-passengers"
              with:
                flight: "{{flight_number}}"
                date: "{{flight_date}}"
            - name: send-notifications
              type: call
              call: "whatsapp.send-bulk-message"
              with:
                recipients: "{{get-passengers.phone_numbers}}"
                template: "flight_delay"
                parameters:
                  flight: "{{flight_number}}"
                  new_time: "{{new_departure_time}}"
            - name: create-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Flight {{flight_number}} delayed on {{flight_date}}"
                category: "flight_operations"
                description: "Flight {{flight_number}} delayed to {{new_departure_time}}. Reason: {{delay_reason}}. {{get-passengers.count}} passengers affected."
  consumes:
    - type: http
      namespace: booking-api
      baseUri: "https://api.southwest.com/reservations/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_booking_token"
      resources:
        - name: flight-passengers
          path: "/flights/{{flight}}/passengers?date={{date}}"
          inputParameters:
            - name: flight
              in: path
            - name: date
              in: query
          operations:
            - name: get-flight-passengers
              method: GET
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_business_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: send-bulk-message
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST

Orchestrates flight dispatch risk assessment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Flight Dispatch Risk Assessment Pipeline"
  description: "Orchestrates flight dispatch risk assessment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - flight
    - southwest-airlines
    - southwest
    - salesforce
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-dispatch-risk-assessment-pipeline
          description: "Orchestrates flight dispatch risk assessment pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "southwest.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "salesforce.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/flight"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/flight"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/flight"
          operations:
            - name: execute-3
              method: POST

Retrieves flight misconnect probability data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Flight Misconnect Probability"
  description: "Retrieves flight misconnect probability data from the Southwest Airlines airline operations systems."
  tags:
    - flight
    - southwest-airlines
    - probability
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-misconnect-probability
          description: "Retrieves flight misconnect probability data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.flight-misconnect-probability"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/flight/misconnect/probability/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: flight-misconnect-probability
              method: GET

Orchestrates flight network planning pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Flight Network Planning Pipeline"
  description: "Orchestrates flight network planning pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - flight
    - southwest-airlines
    - slack
    - jira
    - teams
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-network-planning-pipeline
          description: "Orchestrates flight network planning pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "slack.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "jira.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "teams.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/flight"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/flight"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/flight"
          operations:
            - name: execute-3
              method: POST

Retrieves flight on time performance data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Flight On Time Performance"
  description: "Retrieves flight on time performance data from the Southwest Airlines airline operations systems."
  tags:
    - flight
    - southwest-airlines
    - performance
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-on-time-performance
          description: "Retrieves flight on time performance data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.flight-on-time-performance"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/flight/on/time/performance/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: flight-on-time-performance
              method: GET

Queries the flight operations system for a specific route and date, returning available flights, departure times, and seat availability.

naftiko: "0.5"
info:
  label: "Flight Schedule Lookup"
  description: "Queries the flight operations system for a specific route and date, returning available flights, departure times, and seat availability."
  tags:
    - flight-ops
    - scheduling
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: flight-ops
      port: 8080
      tools:
        - name: get-flight-schedule
          description: "Look up available Southwest flights for a given origin, destination, and travel date."
          inputParameters:
            - name: origin_code
              in: body
              type: string
              description: "The IATA airport code for the departure city."
            - name: destination_code
              in: body
              type: string
              description: "The IATA airport code for the arrival city."
            - name: travel_date
              in: body
              type: string
              description: "The travel date in YYYY-MM-DD format."
          call: "flight-api.get-schedules"
          with:
            origin: "{{origin_code}}"
            destination: "{{destination_code}}"
            date: "{{travel_date}}"
  consumes:
    - type: http
      namespace: flight-api
      baseUri: "https://api.southwest.com/flights/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_flight_api_token"
      resources:
        - name: schedules
          path: "/schedules?origin={{origin}}&destination={{destination}}&date={{date}}"
          inputParameters:
            - name: origin
              in: query
            - name: destination
              in: query
            - name: date
              in: query
          operations:
            - name: get-schedules
              method: GET

Orchestrates flight schedule optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Flight Schedule Optimization Pipeline"
  description: "Orchestrates flight schedule optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - flight
    - southwest-airlines
    - workday
    - southwest
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-schedule-optimization-pipeline
          description: "Orchestrates flight schedule optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "workday.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "southwest.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "salesforce.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/flight"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/flight"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/flight"
          operations:
            - name: execute-3
              method: POST

Retrieves flight wifi availability check data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Flight Wifi Availability Check"
  description: "Retrieves flight wifi availability check data from the Southwest Airlines airline operations systems."
  tags:
    - flight
    - southwest-airlines
    - check
capability:
  exposes:
    - type: mcp
      namespace: flight
      port: 8080
      tools:
        - name: flight-wifi-availability-check
          description: "Retrieves flight wifi availability check data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.flight-wifi-availability-check"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/flight/wifi/availability/check/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: flight-wifi-availability-check
              method: GET

Retrieves daily fuel prices from the fuel procurement system and logs them into Microsoft Excel via the Graph API for finance reporting.

naftiko: "0.5"
info:
  label: "Fuel Cost Tracker"
  description: "Retrieves daily fuel prices from the fuel procurement system and logs them into Microsoft Excel via the Graph API for finance reporting."
  tags:
    - fuel
    - finance
    - microsoft-excel
capability:
  exposes:
    - type: mcp
      namespace: fuel-ops
      port: 8080
      tools:
        - name: log-fuel-cost
          description: "Pull the current day's fuel cost per gallon and append it to the finance tracking spreadsheet."
          inputParameters:
            - name: report_date
              in: body
              type: string
              description: "The date in YYYY-MM-DD format."
          steps:
            - name: get-fuel-price
              type: call
              call: "fuel-api.get-daily-price"
              with:
                date: "{{report_date}}"
            - name: append-to-sheet
              type: call
              call: "excel.append-row"
              with:
                workbook_id: "fuel_cost_tracker"
                sheet_name: "DailyPrices"
                values:
                  - "{{report_date}}"
                  - "{{get-fuel-price.price_per_gallon}}"
                  - "{{get-fuel-price.supplier}}"
                  - "{{get-fuel-price.total_gallons}}"
  consumes:
    - type: http
      namespace: fuel-api
      baseUri: "https://api.southwest.com/fuel/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_fuel_token"
      resources:
        - name: prices
          path: "/prices/daily?date={{date}}"
          inputParameters:
            - name: date
              in: query
          operations:
            - name: get-daily-price
              method: GET
    - type: http
      namespace: excel
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: worksheets
          path: "/me/drive/items/{{workbook_id}}/workbook/worksheets/{{sheet_name}}/tables/1/rows/add"
          inputParameters:
            - name: workbook_id
              in: path
            - name: sheet_name
              in: path
          operations:
            - name: append-row
              method: POST

Retrieves fuel hedging position lookup data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Fuel Hedging Position Lookup"
  description: "Retrieves fuel hedging position lookup data from the Southwest Airlines airline operations systems."
  tags:
    - fuel
    - southwest-airlines
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: fuel
      port: 8080
      tools:
        - name: fuel-hedging-position-lookup
          description: "Retrieves fuel hedging position lookup data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.fuel-hedging-position-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/fuel/hedging/position/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: fuel-hedging-position-lookup
              method: GET

Orchestrates fuel tankering optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Fuel Tankering Optimization Pipeline"
  description: "Orchestrates fuel tankering optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - fuel
    - southwest-airlines
    - teams
    - sendgrid
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: fuel
      port: 8080
      tools:
        - name: fuel-tankering-optimization-pipeline
          description: "Orchestrates fuel tankering optimization pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "teams.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "sendgrid.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/fuel"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/fuel"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/fuel"
          operations:
            - name: execute-3
              method: POST

Queries the airport operations system for current gate assignment of a given flight.

naftiko: "0.5"
info:
  label: "Gate Assignment Checker"
  description: "Queries the airport operations system for current gate assignment of a given flight."
  tags:
    - flight-ops
    - airport
    - operations
capability:
  exposes:
    - type: mcp
      namespace: airport-ops
      port: 8080
      tools:
        - name: get-gate-assignment
          description: "Look up the current gate assignment for a Southwest flight at a specific airport."
          inputParameters:
            - name: flight_number
              in: body
              type: string
              description: "The Southwest flight number."
            - name: airport_code
              in: body
              type: string
              description: "The IATA airport code."
          call: "airport-api.get-gate"
          with:
            flight: "{{flight_number}}"
            airport: "{{airport_code}}"
  consumes:
    - type: http
      namespace: airport-api
      baseUri: "https://api.southwest.com/airport-ops/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_airport_ops_token"
      resources:
        - name: gates
          path: "/gates?flight={{flight}}&airport={{airport}}"
          inputParameters:
            - name: flight
              in: query
            - name: airport
              in: query
          operations:
            - name: get-gate
              method: GET

Orchestrates gate turnaround monitoring pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Gate Turnaround Monitoring Pipeline"
  description: "Orchestrates gate turnaround monitoring pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - gate
    - southwest-airlines
    - sendgrid
    - datadog
    - workday
capability:
  exposes:
    - type: mcp
      namespace: gate
      port: 8080
      tools:
        - name: gate-turnaround-monitoring-pipeline
          description: "Orchestrates gate turnaround monitoring pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "sendgrid.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "datadog.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "workday.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/gate"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/gate"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/gate"
          operations:
            - name: execute-3
              method: POST

Pulls campaign performance metrics from Google Analytics for Southwest marketing campaigns.

naftiko: "0.5"
info:
  label: "Google Analytics Campaign Performance"
  description: "Pulls campaign performance metrics from Google Analytics for Southwest marketing campaigns."
  tags:
    - marketing
    - analytics
    - google-analytics
capability:
  exposes:
    - type: mcp
      namespace: marketing-analytics
      port: 8080
      tools:
        - name: get-campaign-performance
          description: "Retrieve campaign performance metrics from Google Analytics for a specified date range."
          inputParameters:
            - name: campaign_name
              in: body
              type: string
              description: "The campaign name or UTM campaign parameter."
            - name: start_date
              in: body
              type: string
              description: "The start date in YYYY-MM-DD format."
            - name: end_date
              in: body
              type: string
              description: "The end date in YYYY-MM-DD format."
          call: "ga.get-report"
          with:
            campaign: "{{campaign_name}}"
            from: "{{start_date}}"
            to: "{{end_date}}"
  consumes:
    - type: http
      namespace: ga
      baseUri: "https://analyticsdata.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: reports
          path: "/properties/{{property_id}}:runReport"
          operations:
            - name: get-report
              method: POST

Uses the Google Maps Distance Matrix API to calculate travel time between a passenger location and the nearest Southwest airport.

naftiko: "0.5"
info:
  label: "Google Maps Station Distance Calculator"
  description: "Uses the Google Maps Distance Matrix API to calculate travel time between a passenger location and the nearest Southwest airport."
  tags:
    - customer-service
    - google-maps
    - travel
capability:
  exposes:
    - type: mcp
      namespace: travel-info
      port: 8080
      tools:
        - name: calculate-station-distance
          description: "Calculate driving time and distance from an address to a specified Southwest station."
          inputParameters:
            - name: origin_address
              in: body
              type: string
              description: "The passenger origin address."
            - name: airport_code
              in: body
              type: string
              description: "The IATA airport code for the Southwest station."
          call: "gmaps.get-distance"
          with:
            origin: "{{origin_address}}"
            destination: "{{airport_code}} airport"
  consumes:
    - type: http
      namespace: gmaps
      baseUri: "https://maps.googleapis.com/maps/api"
      authentication:
        type: apiKey
        key: "$secrets.google_maps_key"
      resources:
        - name: distance-matrix
          path: "/distancematrix/json?origins={{origin}}&destinations={{destination}}"
          inputParameters:
            - name: origin
              in: query
            - name: destination
              in: query
          operations:
            - name: get-distance
              method: GET

Orchestrates ground equipment maintenance pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Ground Equipment Maintenance Pipeline"
  description: "Orchestrates ground equipment maintenance pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - ground
    - southwest-airlines
    - jira
    - teams
    - sendgrid
capability:
  exposes:
    - type: mcp
      namespace: ground
      port: 8080
      tools:
        - name: ground-equipment-maintenance-pipeline
          description: "Orchestrates ground equipment maintenance pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "jira.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "teams.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "sendgrid.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/ground"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/ground"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/ground"
          operations:
            - name: execute-3
              method: POST

Searches for a contact in HubSpot CRM by email address, returning contact properties and recent activity.

naftiko: "0.5"
info:
  label: "HubSpot Contact Lookup"
  description: "Searches for a contact in HubSpot CRM by email address, returning contact properties and recent activity."
  tags:
    - crm
    - marketing
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: crm
      port: 8080
      tools:
        - name: search-hubspot-contact
          description: "Search for a HubSpot contact by email and return their profile and recent engagement history."
          inputParameters:
            - name: email
              in: body
              type: string
              description: "The contact email address to search."
          call: "hubspot.search-contact"
          with:
            email: "{{email}}"
  consumes:
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com/crm/v3"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: contacts
          path: "/objects/contacts/search"
          operations:
            - name: search-contact
              method: POST

Orchestrates irregular operations recovery pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Irregular Operations Recovery Pipeline"
  description: "Orchestrates irregular operations recovery pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - irregular
    - southwest-airlines
    - southwest
    - salesforce
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: irregular
      port: 8080
      tools:
        - name: irregular-operations-recovery-pipeline
          description: "Orchestrates irregular operations recovery pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "southwest.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "salesforce.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "servicenow.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/irregular"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/irregular"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/irregular"
          operations:
            - name: execute-3
              method: POST

Retrieves an approved job requisition from PeopleSoft and publishes it to LinkedIn Jobs.

naftiko: "0.5"
info:
  label: "LinkedIn Job Posting Publisher"
  description: "Retrieves an approved job requisition from PeopleSoft and publishes it to LinkedIn Jobs."
  tags:
    - hr
    - recruiting
    - peoplesoft
    - linkedin
capability:
  exposes:
    - type: mcp
      namespace: recruiting
      port: 8080
      tools:
        - name: publish-job-to-linkedin
          description: "Given a PeopleSoft requisition ID, pull the job details and post them to LinkedIn."
          inputParameters:
            - name: requisition_id
              in: body
              type: string
              description: "The PeopleSoft job requisition ID."
          steps:
            - name: get-requisition
              type: call
              call: "peoplesoft.get-requisition"
              with:
                req_id: "{{requisition_id}}"
            - name: post-to-linkedin
              type: call
              call: "linkedin.create-job-post"
              with:
                title: "{{get-requisition.title}}"
                description: "{{get-requisition.description}}"
                location: "{{get-requisition.location}}"
                department: "{{get-requisition.department}}"
  consumes:
    - type: http
      namespace: peoplesoft
      baseUri: "https://peoplesoft.southwest.com/api/v1"
      authentication:
        type: basic
        username: "$secrets.peoplesoft_user"
        password: "$secrets.peoplesoft_password"
      resources:
        - name: requisitions
          path: "/requisitions/{{req_id}}"
          inputParameters:
            - name: req_id
              in: path
          operations:
            - name: get-requisition
              method: GET
    - type: http
      namespace: linkedin
      baseUri: "https://api.linkedin.com/v2"
      authentication:
        type: bearer
        token: "$secrets.linkedin_token"
      resources:
        - name: job-posts
          path: "/simpleJobPostings"
          operations:
            - name: create-job-post
              method: POST

Pulls booking data from the reservation system and calculates load factor for a specific route and date range, posting results to a Salesforce opportunity for revenue tracking.

naftiko: "0.5"
info:
  label: "Load Factor Analyzer"
  description: "Pulls booking data from the reservation system and calculates load factor for a specific route and date range, posting results to a Salesforce opportunity for revenue tracking."
  tags:
    - revenue
    - analytics
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: revenue-analytics
      port: 8080
      tools:
        - name: analyze-load-factor
          description: "Calculate the load factor for a route over a date range and update the corresponding Salesforce opportunity."
          inputParameters:
            - name: origin_code
              in: body
              type: string
              description: "The IATA origin airport code."
            - name: destination_code
              in: body
              type: string
              description: "The IATA destination airport code."
            - name: start_date
              in: body
              type: string
              description: "The start date in YYYY-MM-DD format."
            - name: end_date
              in: body
              type: string
              description: "The end date in YYYY-MM-DD format."
            - name: opportunity_id
              in: body
              type: string
              description: "The Salesforce opportunity ID to update."
          steps:
            - name: get-bookings
              type: call
              call: "booking-api.get-route-bookings"
              with:
                origin: "{{origin_code}}"
                destination: "{{destination_code}}"
                from: "{{start_date}}"
                to: "{{end_date}}"
            - name: update-opportunity
              type: call
              call: "salesforce.update-opportunity"
              with:
                opportunity_id: "{{opportunity_id}}"
                load_factor: "{{get-bookings.load_factor}}"
                total_passengers: "{{get-bookings.total_passengers}}"
  consumes:
    - type: http
      namespace: booking-api
      baseUri: "https://api.southwest.com/reservations/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_booking_token"
      resources:
        - name: route-bookings
          path: "/routes/{{origin}}-{{destination}}/bookings?from={{from}}&to={{to}}"
          inputParameters:
            - name: origin
              in: path
            - name: destination
              in: path
            - name: from
              in: query
            - name: to
              in: query
          operations:
            - name: get-route-bookings
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: opportunities
          path: "/sobjects/Opportunity/{{opportunity_id}}"
          inputParameters:
            - name: opportunity_id
              in: path
          operations:
            - name: update-opportunity
              method: PATCH

Retrieves maintenance check due date data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Maintenance Check Due Date"
  description: "Retrieves maintenance check due date data from the Southwest Airlines airline operations systems."
  tags:
    - maintenance
    - southwest-airlines
    - date
capability:
  exposes:
    - type: mcp
      namespace: maintenance
      port: 8080
      tools:
        - name: maintenance-check-due-date
          description: "Retrieves maintenance check due date data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.maintenance-check-due-date"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/maintenance/check/due/date/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: maintenance-check-due-date
              method: GET

Orchestrates maintenance deferral tracking pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Maintenance Deferral Tracking Pipeline"
  description: "Orchestrates maintenance deferral tracking pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - maintenance
    - southwest-airlines
    - workday
    - southwest
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: maintenance
      port: 8080
      tools:
        - name: maintenance-deferral-tracking-pipeline
          description: "Orchestrates maintenance deferral tracking pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "workday.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "southwest.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "salesforce.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/maintenance"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/maintenance"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/maintenance"
          operations:
            - name: execute-3
              method: POST

Orchestrates maintenance planning pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Maintenance Planning Pipeline"
  description: "Orchestrates maintenance planning pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - maintenance
    - southwest-airlines
    - jira
    - teams
    - sendgrid
capability:
  exposes:
    - type: mcp
      namespace: maintenance
      port: 8080
      tools:
        - name: maintenance-planning-pipeline
          description: "Orchestrates maintenance planning pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "jira.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "teams.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "sendgrid.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/maintenance"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/maintenance"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/maintenance"
          operations:
            - name: execute-3
              method: POST

Triggers a specified Microsoft Power Automate flow by its flow ID, passing input parameters for automated workflow execution.

naftiko: "0.5"
info:
  label: "Microsoft Power Automate Flow Trigger"
  description: "Triggers a specified Microsoft Power Automate flow by its flow ID, passing input parameters for automated workflow execution."
  tags:
    - automation
    - microsoft-power-automate
capability:
  exposes:
    - type: mcp
      namespace: automation
      port: 8080
      tools:
        - name: trigger-power-automate-flow
          description: "Trigger a Microsoft Power Automate flow by ID with specified input parameters."
          inputParameters:
            - name: flow_id
              in: body
              type: string
              description: "The Power Automate flow ID."
            - name: flow_inputs
              in: body
              type: object
              description: "The input parameters for the flow."
          call: "power-automate.trigger-flow"
          with:
            flow_id: "{{flow_id}}"
            inputs: "{{flow_inputs}}"
  consumes:
    - type: http
      namespace: power-automate
      baseUri: "https://api.flow.microsoft.com/providers/Microsoft.ProcessSimple"
      authentication:
        type: bearer
        token: "$secrets.power_automate_token"
      resources:
        - name: flows
          path: "/environments/Default/flows/{{flow_id}}/triggers/manual/run"
          inputParameters:
            - name: flow_id
              in: path
          operations:
            - name: trigger-flow
              method: POST

Sends an operational alert message to the flight operations Microsoft Teams channel for time-critical communications.

naftiko: "0.5"
info:
  label: "Microsoft Teams Flight Ops Alert Broadcaster"
  description: "Sends an operational alert message to the flight operations Microsoft Teams channel for time-critical communications."
  tags:
    - flight-ops
    - microsoft-teams
    - alerts
capability:
  exposes:
    - type: mcp
      namespace: ops-alerts
      port: 8080
      tools:
        - name: broadcast-ops-alert
          description: "Send an urgent operational alert to the flight operations Teams channel."
          inputParameters:
            - name: alert_title
              in: body
              type: string
              description: "The alert title."
            - name: alert_message
              in: body
              type: string
              description: "The alert body text."
            - name: severity
              in: body
              type: string
              description: "The alert severity level (critical, high, medium, low)."
          call: "msteams.send-channel-message"
          with:
            team_id: "flight_operations"
            channel_id: "alerts"
            text: "[{{severity}}] {{alert_title}}: {{alert_message}}"
  consumes:
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Queries New Relic for application response time, error rate, and throughput for a specified Southwest application.

naftiko: "0.5"
info:
  label: "New Relic Application Performance Lookup"
  description: "Queries New Relic for application response time, error rate, and throughput for a specified Southwest application."
  tags:
    - monitoring
    - new-relic
    - performance
capability:
  exposes:
    - type: mcp
      namespace: apm
      port: 8080
      tools:
        - name: get-app-performance
          description: "Get current performance metrics for a Southwest application from New Relic."
          inputParameters:
            - name: app_name
              in: body
              type: string
              description: "The application name as registered in New Relic."
          call: "newrelic.get-app-summary"
          with:
            app: "{{app_name}}"
  consumes:
    - type: http
      namespace: newrelic
      baseUri: "https://api.newrelic.com/v2"
      authentication:
        type: apiKey
        key: "$secrets.newrelic_api_key"
      resources:
        - name: applications
          path: "/applications.json?filter[name]={{app}}"
          inputParameters:
            - name: app
              in: query
          operations:
            - name: get-app-summary
              method: GET

Aggregates on-time performance, cancellations, and completion factor from the flight ops system, updates a SharePoint dashboard, and posts a summary to Microsoft Teams.

naftiko: "0.5"
info:
  label: "Operational Performance Dashboard Updater"
  description: "Aggregates on-time performance, cancellations, and completion factor from the flight ops system, updates a SharePoint dashboard, and posts a summary to Microsoft Teams."
  tags:
    - flight-ops
    - analytics
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: ops-dashboard
      port: 8080
      tools:
        - name: update-ops-dashboard
          description: "Pull operational performance data, update the SharePoint dashboard file, and notify the ops leadership channel in Teams."
          inputParameters:
            - name: report_date
              in: body
              type: string
              description: "The date to report on in YYYY-MM-DD format."
          steps:
            - name: get-performance
              type: call
              call: "flight-api.get-performance-summary"
              with:
                date: "{{report_date}}"
            - name: update-dashboard
              type: call
              call: "sharepoint.update-file"
              with:
                site_id: "ops_dashboards"
                file_path: "DailyPerformance/{{report_date}}.json"
                content: "{{get-performance}}"
            - name: notify-ops
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "operations_leadership"
                channel_id: "daily_performance"
                text: "Ops report for {{report_date}}: On-time {{get-performance.on_time_pct}}%, Cancellations: {{get-performance.cancellations}}, Completion: {{get-performance.completion_factor}}%."
  consumes:
    - type: http
      namespace: flight-api
      baseUri: "https://api.southwest.com/flights/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_flight_api_token"
      resources:
        - name: performance
          path: "/performance/summary?date={{date}}"
          inputParameters:
            - name: date
              in: query
          operations:
            - name: get-performance-summary
              method: GET
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: files
          path: "/{{site_id}}/drive/root:/{{file_path}}:/content"
          inputParameters:
            - name: site_id
              in: path
            - name: file_path
              in: path
          operations:
            - name: update-file
              method: PUT
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Retrieves a specified financial report from Oracle Cloud Financials and returns the summary data.

naftiko: "0.5"
info:
  label: "Oracle Cloud Financial Report"
  description: "Retrieves a specified financial report from Oracle Cloud Financials and returns the summary data."
  tags:
    - finance
    - oracle-cloud
    - reporting
capability:
  exposes:
    - type: mcp
      namespace: finance-reports
      port: 8080
      tools:
        - name: get-financial-report
          description: "Pull a financial report from Oracle Cloud by report type and period."
          inputParameters:
            - name: report_type
              in: body
              type: string
              description: "The report type (e.g., income_statement, balance_sheet, cash_flow)."
            - name: period
              in: body
              type: string
              description: "The reporting period (e.g., 2026-Q1)."
          call: "oracle-cloud.get-report"
          with:
            type: "{{report_type}}"
            period: "{{period}}"
  consumes:
    - type: http
      namespace: oracle-cloud
      baseUri: "https://oracle-cloud.southwest.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_cloud_token"
      resources:
        - name: reports
          path: "/financials/reports?type={{type}}&period={{period}}"
          inputParameters:
            - name: type
              in: query
            - name: period
              in: query
          operations:
            - name: get-report
              method: GET

Initiates the check-in process for a passenger, assigns a boarding position, and sends the boarding pass via email through MailChimp.

naftiko: "0.5"
info:
  label: "Passenger Check-in Orchestrator"
  description: "Initiates the check-in process for a passenger, assigns a boarding position, and sends the boarding pass via email through MailChimp."
  tags:
    - reservations
    - check-in
    - mailchimp
    - boarding
capability:
  exposes:
    - type: mcp
      namespace: check-in
      port: 8080
      tools:
        - name: process-check-in
          description: "Given a confirmation number and passenger name, execute the check-in flow, assign boarding position, and email the boarding pass."
          inputParameters:
            - name: confirmation_number
              in: body
              type: string
              description: "The six-character Southwest confirmation number."
            - name: passenger_last_name
              in: body
              type: string
              description: "The passenger last name for verification."
          steps:
            - name: check-in
              type: call
              call: "checkin-api.initiate-checkin"
              with:
                confirmation: "{{confirmation_number}}"
                last_name: "{{passenger_last_name}}"
            - name: get-boarding
              type: call
              call: "checkin-api.get-boarding-position"
              with:
                checkin_id: "{{check-in.checkin_id}}"
            - name: send-boarding-pass
              type: call
              call: "mailchimp.send-transactional"
              with:
                template_name: "boarding_pass"
                to_email: "{{check-in.passenger_email}}"
                merge_vars:
                  passenger_name: "{{check-in.passenger_name}}"
                  boarding_group: "{{get-boarding.group}}"
                  boarding_position: "{{get-boarding.position}}"
                  flight_number: "{{check-in.flight_number}}"
  consumes:
    - type: http
      namespace: checkin-api
      baseUri: "https://api.southwest.com/checkin/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_checkin_token"
      resources:
        - name: checkins
          path: "/checkins"
          operations:
            - name: initiate-checkin
              method: POST
        - name: boarding
          path: "/checkins/{{checkin_id}}/boarding"
          inputParameters:
            - name: checkin_id
              in: path
          operations:
            - name: get-boarding-position
              method: GET
    - type: http
      namespace: mailchimp
      baseUri: "https://mandrillapp.com/api/1.0"
      authentication:
        type: apiKey
        key: "$secrets.mailchimp_transactional_key"
      resources:
        - name: messages
          path: "/messages/send-template"
          operations:
            - name: send-transactional
              method: POST

When a flight is cancelled, retrieves the passenger manifest, finds alternative flights, rebooks passengers, and sends confirmation via MailChimp.

naftiko: "0.5"
info:
  label: "Passenger Rebooking Orchestrator"
  description: "When a flight is cancelled, retrieves the passenger manifest, finds alternative flights, rebooks passengers, and sends confirmation via MailChimp."
  tags:
    - reservations
    - disruptions
    - rebooking
    - mailchimp
capability:
  exposes:
    - type: mcp
      namespace: rebooking
      port: 8080
      tools:
        - name: rebook-cancelled-flight
          description: "Given a cancelled flight, rebook all passengers onto the next available flights and send confirmations."
          inputParameters:
            - name: cancelled_flight
              in: body
              type: string
              description: "The cancelled flight number."
            - name: flight_date
              in: body
              type: string
              description: "The flight date in YYYY-MM-DD format."
          steps:
            - name: get-manifest
              type: call
              call: "booking-api.get-flight-passengers"
              with:
                flight: "{{cancelled_flight}}"
                date: "{{flight_date}}"
            - name: find-alternatives
              type: call
              call: "flight-api.find-alternatives"
              with:
                origin: "{{get-manifest.origin}}"
                destination: "{{get-manifest.destination}}"
                date: "{{flight_date}}"
            - name: rebook-passengers
              type: call
              call: "booking-api.bulk-rebook"
              with:
                passenger_ids: "{{get-manifest.passenger_ids}}"
                new_flights: "{{find-alternatives.available_flights}}"
            - name: send-confirmations
              type: call
              call: "mailchimp.send-bulk-transactional"
              with:
                template_name: "rebooking_confirmation"
                recipients: "{{rebook-passengers.rebooked_passengers}}"
  consumes:
    - type: http
      namespace: booking-api
      baseUri: "https://api.southwest.com/reservations/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_booking_token"
      resources:
        - name: flight-passengers
          path: "/flights/{{flight}}/passengers?date={{date}}"
          inputParameters:
            - name: flight
              in: path
            - name: date
              in: query
          operations:
            - name: get-flight-passengers
              method: GET
        - name: rebooking
          path: "/rebooking/bulk"
          operations:
            - name: bulk-rebook
              method: POST
    - type: http
      namespace: flight-api
      baseUri: "https://api.southwest.com/flights/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_flight_api_token"
      resources:
        - name: alternatives
          path: "/alternatives?origin={{origin}}&destination={{destination}}&date={{date}}"
          inputParameters:
            - name: origin
              in: query
            - name: destination
              in: query
            - name: date
              in: query
          operations:
            - name: find-alternatives
              method: GET
    - type: http
      namespace: mailchimp
      baseUri: "https://mandrillapp.com/api/1.0"
      authentication:
        type: apiKey
        key: "$secrets.mailchimp_transactional_key"
      resources:
        - name: messages
          path: "/messages/send-template"
          operations:
            - name: send-bulk-transactional
              method: POST

Searches the PeopleSoft HR system for an employee by name or ID and returns contact information, department, and role.

naftiko: "0.5"
info:
  label: "PeopleSoft Employee Directory Lookup"
  description: "Searches the PeopleSoft HR system for an employee by name or ID and returns contact information, department, and role."
  tags:
    - hr
    - peoplesoft
    - directory
capability:
  exposes:
    - type: mcp
      namespace: hr-directory
      port: 8080
      tools:
        - name: search-employee
          description: "Search for a Southwest Airlines employee in PeopleSoft by name or employee ID."
          inputParameters:
            - name: search_term
              in: body
              type: string
              description: "The employee name or ID to search for."
          call: "peoplesoft.search-employees"
          with:
            query: "{{search_term}}"
  consumes:
    - type: http
      namespace: peoplesoft
      baseUri: "https://peoplesoft.southwest.com/api/v1"
      authentication:
        type: basic
        username: "$secrets.peoplesoft_user"
        password: "$secrets.peoplesoft_password"
      resources:
        - name: employees
          path: "/employees/search?q={{query}}"
          inputParameters:
            - name: query
              in: query
          operations:
            - name: search-employees
              method: GET

Queries the Pluralsight training platform for a pilot's certification and recurrent training completion status.

naftiko: "0.5"
info:
  label: "Pilot Training Record Lookup"
  description: "Queries the Pluralsight training platform for a pilot's certification and recurrent training completion status."
  tags:
    - training
    - crew
    - pluralsight
capability:
  exposes:
    - type: mcp
      namespace: pilot-training
      port: 8080
      tools:
        - name: get-pilot-training-status
          description: "Look up a pilot's training records including certifications, recurrent training status, and upcoming requirements."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The pilot employee ID."
          call: "pluralsight.get-user-progress"
          with:
            user_id: "{{employee_id}}"
  consumes:
    - type: http
      namespace: pluralsight
      baseUri: "https://api.pluralsight.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pluralsight_token"
      resources:
        - name: users
          path: "/users/{{user_id}}/progress"
          inputParameters:
            - name: user_id
              in: path
          operations:
            - name: get-user-progress
              method: GET

Orchestrates pilot training records pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Pilot Training Records Pipeline"
  description: "Orchestrates pilot training records pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - pilot
    - southwest-airlines
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: pilot
      port: 8080
      tools:
        - name: pilot-training-records-pipeline
          description: "Orchestrates pilot training records pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/pilot"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/pilot"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/pilot"
          operations:
            - name: execute-3
              method: POST

Retrieves rapid rewards account summary data from the Southwest Airlines airline operations systems.

naftiko: "0.5"
info:
  label: "Rapid Rewards Account Summary"
  description: "Retrieves rapid rewards account summary data from the Southwest Airlines airline operations systems."
  tags:
    - rapid
    - southwest-airlines
    - summary
capability:
  exposes:
    - type: mcp
      namespace: rapid
      port: 8080
      tools:
        - name: rapid-rewards-account-summary
          description: "Retrieves rapid rewards account summary data from the Southwest Airlines airline operations systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "southwest.rapid-rewards-account-summary"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: resource
          path: "/rapid/rewards/account/summary/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: rapid-rewards-account-summary
              method: GET

Orchestrates rapid rewards partnership pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Rapid Rewards Partnership Pipeline"
  description: "Orchestrates rapid rewards partnership pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - rapid
    - southwest-airlines
    - datadog
    - workday
    - southwest
capability:
  exposes:
    - type: mcp
      namespace: rapid
      port: 8080
      tools:
        - name: rapid-rewards-partnership-pipeline
          description: "Orchestrates rapid rewards partnership pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "datadog.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "workday.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "southwest.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/rapid"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl.workday.com/southwest/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workday-resource
          path: "/api/rapid"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: southwest
      baseUri: "https://api.southwest.com/v2"
      authentication:
        type: bearer
        token: "$secrets.southwest_api_token"
      resources:
        - name: southwest-resource
          path: "/api/rapid"
          operations:
            - name: execute-3
              method: POST

Retrieves the current Rapid Rewards points balance and tier status for a loyalty member from the rewards system.

naftiko: "0.5"
info:
  label: "Rapid Rewards Points Lookup"
  description: "Retrieves the current Rapid Rewards points balance and tier status for a loyalty member from the rewards system."
  tags:
    - loyalty
    - rapid-rewards
    - customer-service
capability:
  exposes:
    - type: mcp
      namespace: loyalty
      port: 8080
      tools:
        - name: get-rewards-balance
          description: "Look up a Rapid Rewards member's current points balance and tier status."
          inputParameters:
            - name: member_number
              in: body
              type: string
              description: "The Rapid Rewards member account number."
          call: "rewards-api.get-member"
          with:
            member_id: "{{member_number}}"
  consumes:
    - type: http
      namespace: rewards-api
      baseUri: "https://api.southwest.com/loyalty/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_loyalty_token"
      resources:
        - name: members
          path: "/members/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: get-member
              method: GET

Retrieves a reservation from the booking system and sends a confirmation email to the passenger via MailChimp transactional email.

naftiko: "0.5"
info:
  label: "Reservation Confirmation Sender"
  description: "Retrieves a reservation from the booking system and sends a confirmation email to the passenger via MailChimp transactional email."
  tags:
    - reservations
    - notifications
    - mailchimp
capability:
  exposes:
    - type: mcp
      namespace: reservations
      port: 8080
      tools:
        - name: send-reservation-confirmation
          description: "Given a confirmation number, retrieve the reservation details and send a confirmation email to the passenger."
          inputParameters:
            - name: confirmation_number
              in: body
              type: string
              description: "The six-character Southwest confirmation number."
          steps:
            - name: get-reservation
              type: call
              call: "booking-api.get-reservation"
              with:
                confirmation: "{{confirmation_number}}"
            - name: send-email
              type: call
              call: "mailchimp.send-transactional"
              with:
                template_name: "reservation_confirmation"
                to_email: "{{get-reservation.passenger_email}}"
                merge_vars:
                  passenger_name: "{{get-reservation.passenger_name}}"
                  flight_number: "{{get-reservation.flight_number}}"
                  departure_date: "{{get-reservation.departure_date}}"
                  origin: "{{get-reservation.origin}}"
                  destination: "{{get-reservation.destination}}"
  consumes:
    - type: http
      namespace: booking-api
      baseUri: "https://api.southwest.com/reservations/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_booking_token"
      resources:
        - name: reservations
          path: "/reservations/{{confirmation}}"
          inputParameters:
            - name: confirmation
              in: path
          operations:
            - name: get-reservation
              method: GET
    - type: http
      namespace: mailchimp
      baseUri: "https://mandrillapp.com/api/1.0"
      authentication:
        type: apiKey
        key: "$secrets.mailchimp_transactional_key"
      resources:
        - name: messages
          path: "/messages/send-template"
          operations:
            - name: send-transactional
              method: POST

Pulls daily revenue figures from Oracle E-Business Suite and posts a summary to a designated Microsoft Teams channel for finance leadership.

naftiko: "0.5"
info:
  label: "Revenue Dashboard Reporter"
  description: "Pulls daily revenue figures from Oracle E-Business Suite and posts a summary to a designated Microsoft Teams channel for finance leadership."
  tags:
    - revenue
    - finance
    - oracle-e-business-suite
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: revenue-reporting
      port: 8080
      tools:
        - name: post-daily-revenue-report
          description: "Pull daily revenue data from Oracle EBS and post a formatted summary to the finance Microsoft Teams channel."
          inputParameters:
            - name: report_date
              in: body
              type: string
              description: "The date to report on in YYYY-MM-DD format."
          steps:
            - name: get-revenue
              type: call
              call: "oracle-ebs.get-daily-revenue"
              with:
                date: "{{report_date}}"
            - name: post-summary
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "finance_leadership"
                channel_id: "daily_revenue"
                text: "Revenue report for {{report_date}}: Total ${{get-revenue.total_revenue}}, Passenger count: {{get-revenue.passenger_count}}, Load factor: {{get-revenue.load_factor}}%."
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://oracle-ebs.southwest.com/api/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_ebs_user"
        password: "$secrets.oracle_ebs_password"
      resources:
        - name: revenue
          path: "/revenue/daily?date={{date}}"
          inputParameters:
            - name: date
              in: query
          operations:
            - name: get-daily-revenue
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Orchestrates revenue integrity pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Revenue Integrity Pipeline"
  description: "Orchestrates revenue integrity pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - revenue
    - southwest-airlines
    - teams
    - sendgrid
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: revenue
      port: 8080
      tools:
        - name: revenue-integrity-pipeline
          description: "Orchestrates revenue integrity pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "teams.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "sendgrid.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "datadog.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/revenue"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: sendgrid
      baseUri: "https://api.sendgrid.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sendgrid_api_key"
      resources:
        - name: sendgrid-resource
          path: "/api/revenue"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/api/revenue"
          operations:
            - name: execute-3
              method: POST

Orchestrates revenue management fare pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Revenue Management Fare Pipeline"
  description: "Orchestrates revenue management fare pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - revenue
    - southwest-airlines
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: revenue
      port: 8080
      tools:
        - name: revenue-management-fare-pipeline
          description: "Orchestrates revenue management fare pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "snowflake.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "slack.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "jira.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/revenue"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/revenue"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/revenue"
          operations:
            - name: execute-3
              method: POST

Retrieves marketing campaign leads from Salesforce and syncs them to MailChimp for email nurture sequences.

naftiko: "0.5"
info:
  label: "Salesforce Campaign Lead Sync"
  description: "Retrieves marketing campaign leads from Salesforce and syncs them to MailChimp for email nurture sequences."
  tags:
    - marketing
    - salesforce
    - mailchimp
capability:
  exposes:
    - type: mcp
      namespace: marketing-sync
      port: 8080
      tools:
        - name: sync-campaign-leads
          description: "Pull leads from a Salesforce campaign and add them to a MailChimp audience list for follow-up email sequences."
          inputParameters:
            - name: campaign_id
              in: body
              type: string
              description: "The Salesforce campaign ID."
            - name: mailchimp_list_id
              in: body
              type: string
              description: "The MailChimp audience list ID."
          steps:
            - name: get-leads
              type: call
              call: "salesforce.get-campaign-members"
              with:
                campaign_id: "{{campaign_id}}"
            - name: add-to-list
              type: call
              call: "mailchimp.batch-subscribe"
              with:
                list_id: "{{mailchimp_list_id}}"
                members: "{{get-leads.members}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: campaign-members
          path: "/sobjects/CampaignMember?campaign_id={{campaign_id}}"
          inputParameters:
            - name: campaign_id
              in: query
          operations:
            - name: get-campaign-members
              method: GET
    - type: http
      namespace: mailchimp
      baseUri: "https://us1.api.mailchimp.com/3.0"
      authentication:
        type: bearer
        token: "$secrets.mailchimp_api_key"
      resources:
        - name: lists
          path: "/lists/{{list_id}}/members"
          inputParameters:
            - name: list_id
              in: path
          operations:
            - name: batch-subscribe
              method: POST

Retrieves the current seat map and availability for a specific flight, showing open, occupied, and blocked seats.

naftiko: "0.5"
info:
  label: "Seat Map Availability Lookup"
  description: "Retrieves the current seat map and availability for a specific flight, showing open, occupied, and blocked seats."
  tags:
    - reservations
    - flight-ops
    - seat-map
capability:
  exposes:
    - type: mcp
      namespace: seat-map
      port: 8080
      tools:
        - name: get-seat-map
          description: "Get the current seat map and availability for a Southwest flight."
          inputParameters:
            - name: flight_number
              in: body
              type: string
              description: "The Southwest flight number."
            - name: flight_date
              in: body
              type: string
              description: "The flight date in YYYY-MM-DD format."
          call: "flight-api.get-seat-map"
          with:
            flight: "{{flight_number}}"
            date: "{{flight_date}}"
  consumes:
    - type: http
      namespace: flight-api
      baseUri: "https://api.southwest.com/flights/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_flight_api_token"
      resources:
        - name: seat-maps
          path: "/flights/{{flight}}/seats?date={{date}}"
          inputParameters:
            - name: flight
              in: path
            - name: date
              in: query
          operations:
            - name: get-seat-map
              method: GET

Retrieves the current status of a ServiceNow incident by number, returning state, priority, assigned group, and resolution notes.

naftiko: "0.5"
info:
  label: "ServiceNow Incident Status"
  description: "Retrieves the current status of a ServiceNow incident by number, returning state, priority, assigned group, and resolution notes."
  tags:
    - it-support
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: it-support
      port: 8080
      tools:
        - name: get-incident-status
          description: "Look up a ServiceNow incident by number and return its current status details."
          inputParameters:
            - name: incident_number
              in: body
              type: string
              description: "The ServiceNow incident number (e.g., INC0012345)."
          call: "servicenow.get-incident"
          with:
            number: "{{incident_number}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident?sysparm_query=number={{number}}"
          inputParameters:
            - name: number
              in: query
          operations:
            - name: get-incident
              method: GET

Retrieves a specific policy document from the Southwest Airlines SharePoint policy library by document name.

naftiko: "0.5"
info:
  label: "SharePoint Policy Document Retrieval"
  description: "Retrieves a specific policy document from the Southwest Airlines SharePoint policy library by document name."
  tags:
    - compliance
    - sharepoint
    - documents
capability:
  exposes:
    - type: mcp
      namespace: policy-docs
      port: 8080
      tools:
        - name: get-policy-document
          description: "Retrieve a policy document from the SharePoint policy library."
          inputParameters:
            - name: document_name
              in: body
              type: string
              description: "The name of the policy document to retrieve."
          call: "sharepoint.get-document"
          with:
            site_id: "corporate_policies"
            file_path: "Policies/{{document_name}}"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: documents
          path: "/{{site_id}}/drive/root:/{{file_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: file_path
              in: path
          operations:
            - name: get-document
              method: GET

Pulls engagement metrics from Twitter, Instagram, and Facebook for Southwest's social channels and consolidates into a Microsoft Excel report.

naftiko: "0.5"
info:
  label: "Social Media Engagement Report"
  description: "Pulls engagement metrics from Twitter, Instagram, and Facebook for Southwest's social channels and consolidates into a Microsoft Excel report."
  tags:
    - marketing
    - social-media
    - twitter
    - instagram
    - facebook
    - microsoft-excel
capability:
  exposes:
    - type: mcp
      namespace: social-reporting
      port: 8080
      tools:
        - name: generate-social-report
          description: "Aggregate engagement metrics from Twitter, Instagram, and Facebook and save to an Excel spreadsheet."
          inputParameters:
            - name: report_date
              in: body
              type: string
              description: "The date to report on in YYYY-MM-DD format."
          steps:
            - name: get-twitter
              type: call
              call: "twitter.get-engagement"
              with:
                date: "{{report_date}}"
            - name: get-instagram
              type: call
              call: "instagram.get-engagement"
              with:
                date: "{{report_date}}"
            - name: get-facebook
              type: call
              call: "facebook.get-engagement"
              with:
                date: "{{report_date}}"
            - name: save-report
              type: call
              call: "excel.append-row"
              with:
                workbook_id: "social_media_tracker"
                sheet_name: "DailyEngagement"
                values:
                  - "{{report_date}}"
                  - "{{get-twitter.impressions}}"
                  - "{{get-twitter.engagements}}"
                  - "{{get-instagram.impressions}}"
                  - "{{get-instagram.engagements}}"
                  - "{{get-facebook.impressions}}"
                  - "{{get-facebook.engagements}}"
  consumes:
    - type: http
      namespace: twitter
      baseUri: "https://api.twitter.com/2"
      authentication:
        type: bearer
        token: "$secrets.twitter_bearer_token"
      resources:
        - name: analytics
          path: "/tweets/search/recent"
          operations:
            - name: get-engagement
              method: GET
    - type: http
      namespace: instagram
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.instagram_token"
      resources:
        - name: insights
          path: "/me/insights"
          operations:
            - name: get-engagement
              method: GET
    - type: http
      namespace: facebook
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.facebook_page_token"
      resources:
        - name: insights
          path: "/me/insights"
          operations:
            - name: get-engagement
              method: GET
    - type: http
      namespace: excel
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: worksheets
          path: "/me/drive/items/{{workbook_id}}/workbook/worksheets/{{sheet_name}}/tables/1/rows/add"
          inputParameters:
            - name: workbook_id
              in: path
            - name: sheet_name
              in: path
          operations:
            - name: append-row
              method: POST

Queries SolarWinds for the health status of network devices at a specified airport station.

naftiko: "0.5"
info:
  label: "SolarWinds Network Health Lookup"
  description: "Queries SolarWinds for the health status of network devices at a specified airport station."
  tags:
    - infrastructure
    - solarwinds
    - network
capability:
  exposes:
    - type: mcp
      namespace: network-health
      port: 8080
      tools:
        - name: get-station-network-health
          description: "Get network device health status for all SolarWinds-monitored devices at a specified airport station."
          inputParameters:
            - name: station_code
              in: body
              type: string
              description: "The IATA airport code for the station."
          call: "solarwinds.get-node-status"
          with:
            group: "{{station_code}}"
  consumes:
    - type: http
      namespace: solarwinds
      baseUri: "https://solarwinds.southwest.com/SolarWinds/InformationService/v3/Json"
      authentication:
        type: basic
        username: "$secrets.solarwinds_user"
        password: "$secrets.solarwinds_password"
      resources:
        - name: nodes
          path: "/Query?query=SELECT+NodeName,Status+FROM+Orion.Nodes+WHERE+GroupName='{{group}}'"
          inputParameters:
            - name: group
              in: query
          operations:
            - name: get-node-status
              method: GET

Orchestrates sustainability fuel management pipeline across airline operations systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Sustainability Fuel Management Pipeline"
  description: "Orchestrates sustainability fuel management pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
  tags:
    - sustainability
    - southwest-airlines
    - snowflake
    - slack
    - jira
capability:
  exposes:
    - type: mcp
      namespace: sustainability
      port: 8080
      tools:
        - name: sustainability-fuel-management-pipeline
          description: "Orchestrates sustainability fuel management pipeline across airline operations systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "snowflake.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "slack.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "jira.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://southwest.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/sustainability"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/sustainability"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://southwest.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/sustainability"
          operations:
            - name: execute-3
              method: POST

Retrieves historical turnaround data for an aircraft at a specific station, analyzes patterns, and posts optimization recommendations to the ops team Confluence page.

naftiko: "0.5"
info:
  label: "Turnaround Time Optimizer"
  description: "Retrieves historical turnaround data for an aircraft at a specific station, analyzes patterns, and posts optimization recommendations to the ops team Confluence page."
  tags:
    - flight-ops
    - analytics
    - confluence
    - efficiency
capability:
  exposes:
    - type: mcp
      namespace: turnaround-optimization
      port: 8080
      tools:
        - name: analyze-turnaround
          description: "Analyze turnaround time patterns for a station and publish optimization recommendations to Confluence."
          inputParameters:
            - name: station_code
              in: body
              type: string
              description: "The IATA station code."
            - name: analysis_period
              in: body
              type: string
              description: "The analysis period (e.g., last_30_days, last_quarter)."
          steps:
            - name: get-turnaround-data
              type: call
              call: "ops-api.get-turnaround-history"
              with:
                station: "{{station_code}}"
                period: "{{analysis_period}}"
            - name: publish-analysis
              type: call
              call: "confluence.create-page"
              with:
                space_key: "OPS"
                title: "Turnaround Analysis: {{station_code}} - {{analysis_period}}"
                body: "Average turnaround: {{get-turnaround-data.avg_minutes}} min. Best: {{get-turnaround-data.best_minutes}} min. Bottleneck: {{get-turnaround-data.primary_bottleneck}}."
  consumes:
    - type: http
      namespace: ops-api
      baseUri: "https://api.southwest.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_ops_token"
      resources:
        - name: turnaround
          path: "/turnaround/history?station={{station}}&period={{period}}"
          inputParameters:
            - name: station
              in: query
            - name: period
              in: query
          operations:
            - name: get-turnaround-history
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://southwest.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: pages
          path: "/content"
          operations:
            - name: create-page
              method: POST

Receives a vendor invoice, validates it against the Oracle E-Business Suite purchase order, creates a ServiceNow approval request, and notifies the approver via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Vendor Invoice Processing Orchestrator"
  description: "Receives a vendor invoice, validates it against the Oracle E-Business Suite purchase order, creates a ServiceNow approval request, and notifies the approver via Microsoft Teams."
  tags:
    - procurement
    - finance
    - oracle-e-business-suite
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: invoice-processing
      port: 8080
      tools:
        - name: process-vendor-invoice
          description: "Validate a vendor invoice against the PO in Oracle EBS, create an approval request, and notify the approver."
          inputParameters:
            - name: invoice_number
              in: body
              type: string
              description: "The vendor invoice number."
            - name: po_number
              in: body
              type: string
              description: "The Oracle EBS purchase order number."
            - name: invoice_amount
              in: body
              type: string
              description: "The invoice total amount."
          steps:
            - name: get-po
              type: call
              call: "oracle-ebs.get-purchase-order"
              with:
                po_number: "{{po_number}}"
            - name: create-approval
              type: call
              call: "servicenow.create-request"
              with:
                short_description: "Invoice approval: {{invoice_number}} for PO {{po_number}}"
                description: "Invoice {{invoice_number}} for ${{invoice_amount}} against PO {{po_number}} (Vendor: {{get-po.vendor_name}}). PO total: ${{get-po.total_amount}}."
                assigned_to: "{{get-po.budget_owner}}"
            - name: notify-approver
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-po.budget_owner_email}}"
                text: "Invoice {{invoice_number}} for ${{invoice_amount}} requires your approval. ServiceNow request: {{create-approval.number}}."
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://oracle-ebs.southwest.com/api/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_ebs_user"
        password: "$secrets.oracle_ebs_password"
      resources:
        - name: purchase-orders
          path: "/purchase-orders/{{po_number}}"
          inputParameters:
            - name: po_number
              in: path
          operations:
            - name: get-purchase-order
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: requests
          path: "/table/sc_request"
          operations:
            - name: create-request
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

When weather disrupts a route, queries the flight operations system for affected flights, generates rerouting options, updates reservations, and notifies passengers via WhatsApp.

naftiko: "0.5"
info:
  label: "Weather Disruption Rerouting Orchestrator"
  description: "When weather disrupts a route, queries the flight operations system for affected flights, generates rerouting options, updates reservations, and notifies passengers via WhatsApp."
  tags:
    - flight-ops
    - disruptions
    - weather
    - whatsapp
    - reservations
capability:
  exposes:
    - type: mcp
      namespace: disruption-routing
      port: 8080
      tools:
        - name: handle-weather-reroute
          description: "Given a disrupted airport and date, identify affected flights, generate rerouting options, and notify passengers."
          inputParameters:
            - name: airport_code
              in: body
              type: string
              description: "The IATA code of the weather-affected airport."
            - name: disruption_date
              in: body
              type: string
              description: "The date of the disruption in YYYY-MM-DD format."
            - name: disruption_type
              in: body
              type: string
              description: "The type of weather event (e.g., thunderstorm, snow, fog)."
          steps:
            - name: get-affected-flights
              type: call
              call: "flight-api.get-affected-flights"
              with:
                airport: "{{airport_code}}"
                date: "{{disruption_date}}"
            - name: generate-reroutes
              type: call
              call: "flight-api.generate-rerouting"
              with:
                flight_ids: "{{get-affected-flights.flight_ids}}"
                avoid_airport: "{{airport_code}}"
            - name: notify-passengers
              type: call
              call: "whatsapp.send-bulk-message"
              with:
                recipients: "{{get-affected-flights.passenger_phones}}"
                template: "weather_reroute"
                parameters:
                  disruption_type: "{{disruption_type}}"
                  airport: "{{airport_code}}"
            - name: log-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Weather disruption at {{airport_code}} on {{disruption_date}}"
                category: "flight_operations"
                description: "{{disruption_type}} affecting {{get-affected-flights.count}} flights. Rerouting initiated."
  consumes:
    - type: http
      namespace: flight-api
      baseUri: "https://api.southwest.com/flights/v1"
      authentication:
        type: bearer
        token: "$secrets.southwest_flight_api_token"
      resources:
        - name: affected-flights
          path: "/disruptions?airport={{airport}}&date={{date}}"
          inputParameters:
            - name: airport
              in: query
            - name: date
              in: query
          operations:
            - name: get-affected-flights
              method: GET
        - name: rerouting
          path: "/rerouting"
          operations:
            - name: generate-rerouting
              method: POST
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_business_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: send-bulk-message
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://southwest.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST

Enriches a corporate travel prospect record by looking up company details in ZoomInfo and updating the Salesforce lead.

naftiko: "0.5"
info:
  label: "ZoomInfo Prospect Enrichment"
  description: "Enriches a corporate travel prospect record by looking up company details in ZoomInfo and updating the Salesforce lead."
  tags:
    - sales
    - zoominfo
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: prospect-enrichment
      port: 8080
      tools:
        - name: enrich-prospect
          description: "Look up a company in ZoomInfo and update the corresponding Salesforce lead with enriched data."
          inputParameters:
            - name: company_name
              in: body
              type: string
              description: "The prospect company name."
            - name: salesforce_lead_id
              in: body
              type: string
              description: "The Salesforce lead ID to update."
          steps:
            - name: lookup-company
              type: call
              call: "zoominfo.search-company"
              with:
                company: "{{company_name}}"
            - name: update-lead
              type: call
              call: "salesforce.update-lead"
              with:
                lead_id: "{{salesforce_lead_id}}"
                company_size: "{{lookup-company.employee_count}}"
                revenue: "{{lookup-company.revenue}}"
                industry: "{{lookup-company.industry}}"
  consumes:
    - type: http
      namespace: zoominfo
      baseUri: "https://api.zoominfo.com/lookup"
      authentication:
        type: bearer
        token: "$secrets.zoominfo_token"
      resources:
        - name: companies
          path: "/company/search"
          operations:
            - name: search-company
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://southwest.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: leads
          path: "/sobjects/Lead/{{lead_id}}"
          inputParameters:
            - name: lead_id
              in: path
          operations:
            - name: update-lead
              method: PATCH