National Basketball Association Capabilities

Naftiko 0.5 capability definitions for National Basketball Association - 100 capabilities showing integration workflows and service orchestrations.

Sort
Expand

Retrieves payroll summary data from ADP for league office employees by pay period.

naftiko: "0.5"
info:
  label: "ADP Payroll Summary"
  description: "Retrieves payroll summary data from ADP for league office employees by pay period."
  tags:
    - hr
    - payroll
    - adp
capability:
  exposes:
    - type: mcp
      namespace: payroll
      port: 8080
      tools:
        - name: get-payroll-summary
          description: "Retrieve ADP payroll summary for a pay period."
          inputParameters:
            - name: pay_period
              in: body
              type: string
              description: "The pay period identifier."
          call: "adp.get-payroll"
          with:
            pay_period: "{{pay_period}}"
  consumes:
    - type: http
      namespace: adp
      baseUri: "https://api.adp.com/hr/v2"
      authentication:
        type: bearer
        token: "$secrets.adp_token"
      resources:
        - name: payroll
          path: "/payroll-outputs?payPeriod={{pay_period}}"
          inputParameters:
            - name: pay_period
              in: query
          operations:
            - name: get-payroll
              method: GET

Retrieves payroll report data from ADP for team staff by department and pay period, returning gross pay, deductions, and net pay totals.

naftiko: "0.5"
info:
  label: "ADP Team Staff Payroll Report"
  description: "Retrieves payroll report data from ADP for team staff by department and pay period, returning gross pay, deductions, and net pay totals."
  tags:
    - hr
    - payroll
    - adp
capability:
  exposes:
    - type: mcp
      namespace: staff-payroll
      port: 8080
      tools:
        - name: get-staff-payroll
          description: "Retrieve staff payroll report by department and pay period."
          inputParameters:
            - name: department
              in: body
              type: string
              description: "The department name."
            - name: pay_period
              in: body
              type: string
              description: "The pay period identifier."
          call: "adp.get-payroll"
          with:
            department: "{{department}}"
            pay_period: "{{pay_period}}"
  consumes:
    - type: http
      namespace: adp
      baseUri: "https://api.adp.com/hr/v2"
      authentication:
        type: bearer
        token: "$secrets.adp_token"
      resources:
        - name: payroll
          path: "/payroll-outputs?department={{department}}&payPeriod={{pay_period}}"
          inputParameters:
            - name: department
              in: query
            - name: pay_period
              in: query
          operations:
            - name: get-payroll
              method: GET

Queries All-Star game voting results from Snowflake by season and conference, returning player vote totals, fan vs. media vs. player splits, and ranking positions.

naftiko: "0.5"
info:
  label: "All-Star Game Voting Results Query"
  description: "Queries All-Star game voting results from Snowflake by season and conference, returning player vote totals, fan vs. media vs. player splits, and ranking positions."
  tags:
    - all-star
    - analytics
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: allstar-voting
      port: 8080
      tools:
        - name: get-allstar-votes
          description: "Retrieve All-Star voting results by season and conference."
          inputParameters:
            - name: season
              in: body
              type: string
              description: "The NBA season."
            - name: conference
              in: body
              type: string
              description: "The conference (east, west)."
          call: "snowflake.get-allstar-votes"
          with:
            season: "{{season}}"
            conference: "{{conference}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-allstar-votes
              method: POST

Retrieves arena facility status from Salesforce by venue ID, returning maintenance status, seating capacity, upcoming events, and concession readiness.

naftiko: "0.5"
info:
  label: "Arena Facility Status Lookup"
  description: "Retrieves arena facility status from Salesforce by venue ID, returning maintenance status, seating capacity, upcoming events, and concession readiness."
  tags:
    - operations
    - facilities
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: arena-facilities
      port: 8080
      tools:
        - name: get-arena-status
          description: "Look up arena facility status by venue ID."
          inputParameters:
            - name: venue_id
              in: body
              type: string
              description: "The arena venue ID."
          call: "salesforce.get-venue-status"
          with:
            venue_id: "{{venue_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: venues
          path: "/query/?q=SELECT+Venue_Name__c,Capacity__c,Maintenance_Status__c,Concession_Ready__c+FROM+Arena__c+WHERE+Venue_ID__c='{{venue_id}}'"
          inputParameters:
            - name: venue_id
              in: query
          operations:
            - name: get-venue-status
              method: GET

Manages arena security incidents by logging the incident in Zendesk, creating a report in SharePoint, and escalating to the security operations team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Arena Security Incident Pipeline"
  description: "Manages arena security incidents by logging the incident in Zendesk, creating a report in SharePoint, and escalating to the security operations team via Microsoft Teams."
  tags:
    - security
    - operations
    - zendesk
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: security-incidents
      port: 8080
      tools:
        - name: report-security-incident
          description: "Given incident details, log and escalate an arena security incident."
          inputParameters:
            - name: venue_id
              in: body
              type: string
              description: "The arena venue ID."
            - name: incident_type
              in: body
              type: string
              description: "The incident type."
            - name: description
              in: body
              type: string
              description: "Incident description."
          steps:
            - name: create-ticket
              type: call
              call: "zendesk.create-ticket"
              with:
                subject: "Security incident: {{incident_type}} at {{venue_id}}"
                description: "{{description}}"
                priority: "high"
            - name: create-report
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "security_site"
                folder_path: "Incidents/{{venue_id}}/{{incident_type}}"
            - name: escalate-security
              type: call
              call: "msteams.post-message"
              with:
                team_id: "security-ops"
                channel_id: "incidents"
                message: "Security incident at {{venue_id}}: {{incident_type}}. Ticket: {{create-ticket.id}}. Report: {{create-report.webUrl}}."
  consumes:
    - type: http
      namespace: zendesk
      baseUri: "https://nba.zendesk.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.zendesk_token"
      resources:
        - name: tickets
          path: "/tickets.json"
          operations:
            - name: create-ticket
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 1"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-1
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-1"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "salesforce.create-account"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-1
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nationalbasketballassociation.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/accounts"
          operations:
            - name: create-account
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 10"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-10
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-10"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "sharepoint.upload-document"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-10
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://nationalbasketballassociation.sharepoint.com/_api/v2.0"
      authentication:
        type: bearer
        token: "$secrets.sharepoint_token"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: upload-document
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 11"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-11
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-11"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "hubspot.send-email"
              with:
                to: "{{process.email}}"
                subject: "Workflow 11 Complete"
                body: "{{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-11
              method: POST
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com/crm/v3"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: contacts
          path: "/contacts"
          operations:
            - name: send-email
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 12"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-12
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-12"
              with:
                identifier: "{{identifier}}"
            - name: push
              type: call
              call: "datadog.submit-metrics"
              with:
                metric_name: "basketball.workflow_12"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-12
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_token"
      resources:
        - name: metrics
          path: "/metrics"
          operations:
            - name: submit-metrics
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 13"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-13
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-13"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "salesforce.create-account"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-13
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nationalbasketballassociation.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/accounts"
          operations:
            - name: create-account
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 14"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-14
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-14"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-14
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nationalbasketballassociation.service-now.com/api/now/v1"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/incidents"
          operations:
            - name: create-incident
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 15"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - slack
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-15
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-15"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#basketball"
                text: "Completed workflow 15: {{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-15
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: post-message
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 16"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-16
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-16"
              with:
                identifier: "{{identifier}}"
            - name: publish
              type: call
              call: "confluence.create-page"
              with:
                space: "BASKET"
                title: "Report 16"
                content: "{{process.report}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-16
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://nationalbasketballassociation.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/pages"
          operations:
            - name: create-page
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 17"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - powerbi
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-17
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-17"
              with:
                identifier: "{{identifier}}"
            - name: refresh
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "workflow_17"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-17
              method: POST
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets"
          operations:
            - name: refresh-dataset
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 18"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - jira
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-18
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-18"
              with:
                identifier: "{{identifier}}"
            - name: create-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "BASK"
                summary: "Task from workflow 18"
                description: "{{process.details}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-18
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://nationalbasketballassociation.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issues"
          operations:
            - name: create-issue
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 19"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - teams
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-19
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-19"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "teams.send-message"
              with:
                channel_id: "basketball"
                message: "Workflow 19 complete: {{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-19
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: send-message
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 2"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-2
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-2"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nationalbasketballassociation.service-now.com/api/now/v1"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/incidents"
          operations:
            - name: create-incident
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 20"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-20
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-20"
              with:
                identifier: "{{identifier}}"
            - name: refresh
              type: call
              call: "tableau.publish-datasource"
              with:
                dataset_id: "workflow_20"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-20
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://nationalbasketballassociation-tableau.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: datasources
          path: "/datasources"
          operations:
            - name: publish-datasource
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 21"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - box
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-21
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-21"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "box.upload-file"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-21
              method: POST
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files"
          operations:
            - name: upload-file
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 22"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-22
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-22"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "sharepoint.upload-document"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-22
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://nationalbasketballassociation.sharepoint.com/_api/v2.0"
      authentication:
        type: bearer
        token: "$secrets.sharepoint_token"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: upload-document
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 23"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-23
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-23"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "hubspot.send-email"
              with:
                to: "{{process.email}}"
                subject: "Workflow 23 Complete"
                body: "{{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-23
              method: POST
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com/crm/v3"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: contacts
          path: "/contacts"
          operations:
            - name: send-email
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 24"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-24
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-24"
              with:
                identifier: "{{identifier}}"
            - name: push
              type: call
              call: "datadog.submit-metrics"
              with:
                metric_name: "basketball.workflow_24"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-24
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_token"
      resources:
        - name: metrics
          path: "/metrics"
          operations:
            - name: submit-metrics
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 25"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-25
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-25"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "salesforce.create-account"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-25
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nationalbasketballassociation.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: accounts
          path: "/accounts"
          operations:
            - name: create-account
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 26"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-26
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-26"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-26
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nationalbasketballassociation.service-now.com/api/now/v1"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: incidents
          path: "/incidents"
          operations:
            - name: create-incident
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 27"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - slack
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-27
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-27"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#basketball"
                text: "Completed workflow 27: {{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-27
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: post-message
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 28"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-28
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-28"
              with:
                identifier: "{{identifier}}"
            - name: publish
              type: call
              call: "confluence.create-page"
              with:
                space: "BASKET"
                title: "Report 28"
                content: "{{process.report}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-28
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://nationalbasketballassociation.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/pages"
          operations:
            - name: create-page
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 29"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - powerbi
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-29
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-29"
              with:
                identifier: "{{identifier}}"
            - name: refresh
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "workflow_29"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-29
              method: POST
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets"
          operations:
            - name: refresh-dataset
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 3"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - slack
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-3
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-3"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#basketball"
                text: "Completed workflow 3: {{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-3
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: post-message
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 30"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - jira
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-30
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-30"
              with:
                identifier: "{{identifier}}"
            - name: create-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "BASK"
                summary: "Task from workflow 30"
                description: "{{process.details}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-30
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://nationalbasketballassociation.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issues"
          operations:
            - name: create-issue
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 31"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - teams
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-31
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-31"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "teams.send-message"
              with:
                channel_id: "basketball"
                message: "Workflow 31 complete: {{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-31
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: send-message
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 32"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-32
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-32"
              with:
                identifier: "{{identifier}}"
            - name: refresh
              type: call
              call: "tableau.publish-datasource"
              with:
                dataset_id: "workflow_32"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-32
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://nationalbasketballassociation-tableau.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: datasources
          path: "/datasources"
          operations:
            - name: publish-datasource
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 33"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - box
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-33
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-33"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "box.upload-file"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-33
              method: POST
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files"
          operations:
            - name: upload-file
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 34"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-34
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-34"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "sharepoint.upload-document"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-34
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://nationalbasketballassociation.sharepoint.com/_api/v2.0"
      authentication:
        type: bearer
        token: "$secrets.sharepoint_token"
      resources:
        - name: documents
          path: "/documents"
          operations:
            - name: upload-document
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 35"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-35
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-35"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "hubspot.send-email"
              with:
                to: "{{process.email}}"
                subject: "Workflow 35 Complete"
                body: "{{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-35
              method: POST
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com/crm/v3"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: contacts
          path: "/contacts"
          operations:
            - name: send-email
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 4"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-4
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-4"
              with:
                identifier: "{{identifier}}"
            - name: publish
              type: call
              call: "confluence.create-page"
              with:
                space: "BASKET"
                title: "Report 4"
                content: "{{process.report}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-4
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://nationalbasketballassociation.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/pages"
          operations:
            - name: create-page
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 5"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - powerbi
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-5
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-5"
              with:
                identifier: "{{identifier}}"
            - name: refresh
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "workflow_5"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-5
              method: POST
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets"
          operations:
            - name: refresh-dataset
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 6"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - jira
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-6
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-6"
              with:
                identifier: "{{identifier}}"
            - name: create-ticket
              type: call
              call: "jira.create-issue"
              with:
                project: "BASK"
                summary: "Task from workflow 6"
                description: "{{process.details}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-6
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://nationalbasketballassociation.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issues"
          operations:
            - name: create-issue
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 7"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - teams
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-7
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-7"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "teams.send-message"
              with:
                channel_id: "basketball"
                message: "Workflow 7 complete: {{process.summary}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-7
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: send-message
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 8"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-8
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-8"
              with:
                identifier: "{{identifier}}"
            - name: refresh
              type: call
              call: "tableau.publish-datasource"
              with:
                dataset_id: "workflow_8"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-8
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://nationalbasketballassociation-tableau.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: datasources
          path: "/datasources"
          operations:
            - name: publish-datasource
              method: POST

Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association.

naftiko: "0.5"
info:
  label: "National Basketball Association Workflow 9"
  description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
  tags:
    - basketball
    - operations
    - box
capability:
  exposes:
    - type: mcp
      namespace: basketball
      port: 8080
      tools:
        - name: national-basketball-association-workflow-9
          description: "Orchestrates basketball operations including data retrieval, processing, and automated notification for National Basketball Association."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nationalbasketballassociation-ops.run-workflow-9"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "box.upload-file"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-ops
      baseUri: "https://api.nba.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-9
              method: POST
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files"
          operations:
            - name: upload-file
              method: POST

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 1"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-1
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-1"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-1
          path: "/data-1/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-1
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 10"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-10
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-10"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-10
          path: "/data-10/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-10
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 11"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-11
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-11"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-11
          path: "/data-11/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-11
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 12"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-12
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-12"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-12
          path: "/data-12/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-12
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 13"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-13
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-13"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-13
          path: "/data-13/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-13
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 14"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-14
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-14"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-14
          path: "/data-14/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-14
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 15"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-15
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-15"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-15
          path: "/data-15/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-15
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 2"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-2
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-2"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-2
          path: "/data-2/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-2
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 3"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-3
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-3"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-3
          path: "/data-3/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-3
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 4"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-4
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-4"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-4
          path: "/data-4/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-4
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 5"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-5
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-5"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-5
          path: "/data-5/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-5
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 6"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-6
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-6"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-6
          path: "/data-6/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-6
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 7"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-7
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-7"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-7
          path: "/data-7/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-7
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 8"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-8
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-8"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-8
          path: "/data-8/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-8
              method: GET

Retrieves operational data for National Basketball Association basketball workflows.

naftiko: "0.5"
info:
  label: "National Basketball Association Data Lookup 9"
  description: "Retrieves operational data for National Basketball Association basketball workflows."
  tags:
    - basketball
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nationalbasketballassociation-data
      port: 8080
      tools:
        - name: get-data-9
          description: "Retrieves operational data for National Basketball Association basketball workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nationalbasketballassociation-data.get-data-9"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nationalbasketballassociation-data
      baseUri: "https://api.nba.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nba_api_token"
      resources:
        - name: data-9
          path: "/data-9/{{identifier}}"
          inputParameters:
            - name: identifier
              in: path
          operations:
            - name: get-data-9
              method: GET

Analyzes broadcast ratings by querying viewership data from Snowflake, pulling broadcast assignments from Salesforce, refreshing Power BI dashboards, and distributing the analysis to media partners via Microsoft Teams and SharePoint.

naftiko: "0.5"
info:
  label: "Broadcast Ratings Analysis Pipeline"
  description: "Analyzes broadcast ratings by querying viewership data from Snowflake, pulling broadcast assignments from Salesforce, refreshing Power BI dashboards, and distributing the analysis to media partners via Microsoft Teams and SharePoint."
  tags:
    - broadcast
    - analytics
    - snowflake
    - salesforce
    - power-bi
    - microsoft-teams
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: broadcast-analytics
      port: 8080
      tools:
        - name: analyze-broadcast-ratings
          description: "Given a date range and network, analyze broadcast viewership ratings."
          inputParameters:
            - name: network
              in: body
              type: string
              description: "The broadcast network."
            - name: start_date
              in: body
              type: string
              description: "Start date."
            - name: end_date
              in: body
              type: string
              description: "End date."
          steps:
            - name: pull-viewership
              type: call
              call: "snowflake.execute-query"
              with:
                network: "{{network}}"
                start_date: "{{start_date}}"
                end_date: "{{end_date}}"
            - name: get-broadcast-schedule
              type: call
              call: "salesforce.get-broadcast-schedule"
              with:
                network: "{{network}}"
                start_date: "{{start_date}}"
                end_date: "{{end_date}}"
            - name: refresh-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "broadcast-ratings-dataset"
            - name: upload-analysis
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "media_site"
                folder_path: "BroadcastRatings/{{network}}/{{start_date}}_{{end_date}}"
            - name: notify-media-team
              type: call
              call: "msteams.post-message"
              with:
                team_id: "media-team"
                channel_id: "broadcast-ratings"
                message: "Broadcast ratings for {{network}} ({{start_date}} to {{end_date}}): {{pull-viewership.total_viewers}} total viewers across {{get-broadcast-schedule.totalSize}} games. Dashboard refreshed. Report: {{upload-analysis.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: broadcast-schedule
          path: "/query/?q=SELECT+Game_ID__c,Network__c,Viewers__c+FROM+Broadcast_Right__c+WHERE+Network__c='{{network}}'+AND+Game_Date__c>={{start_date}}+AND+Game_Date__c<={{end_date}}"
          inputParameters:
            - name: network
              in: query
            - name: start_date
              in: query
            - name: end_date
              in: query
          operations:
            - name: get-broadcast-schedule
              method: GET
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Retrieves broadcast rights assignments from Salesforce for a game or series, returning network, territory, and window details.

naftiko: "0.5"
info:
  label: "Broadcast Rights Lookup"
  description: "Retrieves broadcast rights assignments from Salesforce for a game or series, returning network, territory, and window details."
  tags:
    - broadcast
    - rights
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: broadcast-rights
      port: 8080
      tools:
        - name: get-broadcast-rights
          description: "Look up broadcast rights for a game by game ID."
          inputParameters:
            - name: game_id
              in: body
              type: string
              description: "The game event ID."
          call: "salesforce.get-broadcast"
          with:
            game_id: "{{game_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: broadcasts
          path: "/query/?q=SELECT+Network__c,Territory__c,Window_Start__c,Window_End__c+FROM+Broadcast_Right__c+WHERE+Game_ID__c='{{game_id}}'"
          inputParameters:
            - name: game_id
              in: query
          operations:
            - name: get-broadcast
              method: GET

Queries coach performance analytics from Snowflake by coach ID and season, returning win-loss record, offensive/defensive ratings, and player development metrics.

naftiko: "0.5"
info:
  label: "Coach Performance Analytics Query"
  description: "Queries coach performance analytics from Snowflake by coach ID and season, returning win-loss record, offensive/defensive ratings, and player development metrics."
  tags:
    - analytics
    - coaching
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: coach-analytics
      port: 8080
      tools:
        - name: get-coach-performance
          description: "Retrieve coach performance analytics by coach ID and season."
          inputParameters:
            - name: coach_id
              in: body
              type: string
              description: "The coach identifier."
            - name: season
              in: body
              type: string
              description: "The season (e.g., 2025-26)."
          call: "snowflake.get-coach-stats"
          with:
            coach_id: "{{coach_id}}"
            season: "{{season}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-coach-stats
              method: POST

Manages community outreach events by creating events in Salesforce, setting up tracking in Google Analytics, uploading materials to SharePoint, and announcing to the community team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Community Outreach Event Pipeline"
  description: "Manages community outreach events by creating events in Salesforce, setting up tracking in Google Analytics, uploading materials to SharePoint, and announcing to the community team via Microsoft Teams."
  tags:
    - community
    - events
    - salesforce
    - google-analytics
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: community-outreach
      port: 8080
      tools:
        - name: setup-outreach-event
          description: "Given event details, set up the community outreach workflow."
          inputParameters:
            - name: event_name
              in: body
              type: string
              description: "The event name."
            - name: team_code
              in: body
              type: string
              description: "The participating team."
            - name: event_date
              in: body
              type: string
              description: "The event date."
          steps:
            - name: create-event
              type: call
              call: "salesforce.create-event"
              with:
                event_name: "{{event_name}}"
                team_code: "{{team_code}}"
                event_date: "{{event_date}}"
            - name: setup-tracking
              type: call
              call: "ga.create-audience"
              with:
                campaign_name: "{{event_name}}"
                sponsor: "{{team_code}}"
            - name: create-materials-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "community_site"
                folder_path: "Events/{{team_code}}/{{event_name}}"
            - name: notify-community-team
              type: call
              call: "msteams.post-message"
              with:
                team_id: "community-team"
                channel_id: "events"
                message: "Community event set up: {{event_name}} ({{team_code}}, {{event_date}}). Materials: {{create-materials-folder.webUrl}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: events
          path: "/sobjects/Community_Event__c"
          operations:
            - name: create-event
              method: POST
    - type: http
      namespace: ga
      baseUri: "https://analyticsadmin.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: audiences
          path: "/properties/{{property_id}}/audiences"
          operations:
            - name: create-audience
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Retrieves concession revenue data from Snowflake by venue and game date, returning total revenue, per-capita spend, and top-selling items.

naftiko: "0.5"
info:
  label: "Concession Revenue Lookup"
  description: "Retrieves concession revenue data from Snowflake by venue and game date, returning total revenue, per-capita spend, and top-selling items."
  tags:
    - operations
    - concessions
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: concession-revenue
      port: 8080
      tools:
        - name: get-concession-revenue
          description: "Look up concession revenue by venue and game date."
          inputParameters:
            - name: venue_id
              in: body
              type: string
              description: "The arena venue ID."
            - name: game_date
              in: body
              type: string
              description: "The game date in YYYY-MM-DD format."
          call: "snowflake.get-concession-data"
          with:
            venue_id: "{{venue_id}}"
            game_date: "{{game_date}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-concession-data
              method: POST

Compiles draft prospect analytics by querying scouting data from Snowflake, pulling prospect profiles from Salesforce, generating reports in SharePoint, and distributing to the basketball operations team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Draft Prospect Analytics Pipeline"
  description: "Compiles draft prospect analytics by querying scouting data from Snowflake, pulling prospect profiles from Salesforce, generating reports in SharePoint, and distributing to the basketball operations team via Microsoft Teams."
  tags:
    - analytics
    - draft
    - snowflake
    - salesforce
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: draft-analytics
      port: 8080
      tools:
        - name: compile-draft-analytics
          description: "Given a draft year and position, compile prospect analytics."
          inputParameters:
            - name: draft_year
              in: body
              type: string
              description: "The draft year."
            - name: position
              in: body
              type: string
              description: "Position filter (guard, forward, center, all)."
          steps:
            - name: query-scouting-data
              type: call
              call: "snowflake.execute-query"
              with:
                draft_year: "{{draft_year}}"
                position: "{{position}}"
            - name: get-prospect-profiles
              type: call
              call: "salesforce.get-prospects"
              with:
                draft_year: "{{draft_year}}"
                position: "{{position}}"
            - name: upload-report
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "basketball_ops_site"
                folder_path: "Draft/{{draft_year}}/{{position}}"
            - name: notify-basketball-ops
              type: call
              call: "msteams.post-message"
              with:
                team_id: "basketball-ops-team"
                channel_id: "draft"
                message: "Draft prospect analytics ({{draft_year}}, {{position}}): {{query-scouting-data.rowCount}} prospects analyzed. {{get-prospect-profiles.totalSize}} profiles. Report: {{upload-report.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: prospects
          path: "/query/?q=SELECT+Name,Position__c,School__c,Projected_Pick__c+FROM+Draft_Prospect__c+WHERE+Draft_Year__c='{{draft_year}}'+AND+Position__c='{{position}}'"
          inputParameters:
            - name: draft_year
              in: query
            - name: position
              in: query
          operations:
            - name: get-prospects
              method: GET
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

On new hire at the NBA league office in Workday, opens a Zendesk IT ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message.

naftiko: "0.5"
info:
  label: "Employee Onboarding Orchestrator"
  description: "On new hire at the NBA league office in Workday, opens a Zendesk IT ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
  tags:
    - hr
    - onboarding
    - workday
    - zendesk
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: hr-onboarding
      port: 8080
      tools:
        - name: trigger-onboarding
          description: "Given a Workday employee ID and start date, orchestrate onboarding."
          inputParameters:
            - name: workday_employee_id
              in: body
              type: string
              description: "The Workday worker ID."
            - name: start_date
              in: body
              type: string
              description: "Start date in YYYY-MM-DD format."
            - name: department
              in: body
              type: string
              description: "The department."
          steps:
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{workday_employee_id}}"
            - name: open-it-ticket
              type: call
              call: "zendesk.create-ticket"
              with:
                subject: "New hire onboarding: {{get-employee.full_name}}"
                description: "IT setup for {{get-employee.full_name}} starting {{start_date}} in {{department}}."
                priority: "normal"
            - 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.post-message"
              with:
                team_id: "hr-team"
                channel_id: "new-hires"
                message: "Welcome to the NBA, {{get-employee.first_name}}! IT ticket: {{open-it-ticket.id}}. Documents: {{provision-folder.webUrl}}."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
    - type: http
      namespace: zendesk
      baseUri: "https://nba.zendesk.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.zendesk_token"
      resources:
        - name: tickets
          path: "/tickets"
          operations:
            - name: create-ticket
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Launches a fan engagement campaign by creating a Salesforce campaign, setting up Google Analytics tracking, uploading creative assets to SharePoint, and notifying the marketing team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Fan Engagement Campaign Pipeline"
  description: "Launches a fan engagement campaign by creating a Salesforce campaign, setting up Google Analytics tracking, uploading creative assets to SharePoint, and notifying the marketing team via Microsoft Teams."
  tags:
    - marketing
    - fan-engagement
    - salesforce
    - google-analytics
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: fan-campaigns
      port: 8080
      tools:
        - name: launch-fan-campaign
          description: "Given campaign details, set up the full fan engagement campaign."
          inputParameters:
            - name: campaign_name
              in: body
              type: string
              description: "The campaign name."
            - name: target_segment
              in: body
              type: string
              description: "Target fan segment (casual, avid, fantasy, international)."
            - name: start_date
              in: body
              type: string
              description: "Campaign start date."
          steps:
            - name: create-campaign
              type: call
              call: "salesforce.create-campaign"
              with:
                name: "{{campaign_name}}"
                segment: "{{target_segment}}"
                start_date: "{{start_date}}"
            - name: setup-tracking
              type: call
              call: "ga.create-audience"
              with:
                campaign_name: "{{campaign_name}}"
                segment: "{{target_segment}}"
            - name: upload-assets
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "marketing_site"
                folder_path: "Campaigns/{{campaign_name}}"
            - name: notify-marketing
              type: call
              call: "msteams.post-message"
              with:
                team_id: "marketing-team"
                channel_id: "campaigns"
                message: "Fan campaign '{{campaign_name}}' launched targeting {{target_segment}} fans. Start: {{start_date}}. Salesforce: {{create-campaign.id}}. Assets: {{upload-assets.webUrl}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: campaigns
          path: "/sobjects/Campaign"
          operations:
            - name: create-campaign
              method: POST
    - type: http
      namespace: ga
      baseUri: "https://analyticsadmin.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: audiences
          path: "/properties/{{property_id}}/audiences"
          operations:
            - name: create-audience
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Escalates fan support issues by pulling ticket details from Zendesk, creating an escalation record in Salesforce, notifying the fan experience team via Microsoft Teams, and sending an update to the fan via Microsoft Outlook.

naftiko: "0.5"
info:
  label: "Fan Support Escalation Pipeline"
  description: "Escalates fan support issues by pulling ticket details from Zendesk, creating an escalation record in Salesforce, notifying the fan experience team via Microsoft Teams, and sending an update to the fan via Microsoft Outlook."
  tags:
    - fan-support
    - escalation
    - zendesk
    - salesforce
    - microsoft-teams
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: fan-escalation
      port: 8080
      tools:
        - name: escalate-fan-issue
          description: "Given a Zendesk ticket ID, escalate the fan issue across systems."
          inputParameters:
            - name: ticket_id
              in: body
              type: string
              description: "The Zendesk ticket ID."
            - name: escalation_reason
              in: body
              type: string
              description: "Reason for escalation."
          steps:
            - name: get-ticket
              type: call
              call: "zendesk.get-ticket"
              with:
                ticket_id: "{{ticket_id}}"
            - name: create-escalation
              type: call
              call: "salesforce.create-escalation"
              with:
                ticket_id: "{{ticket_id}}"
                reason: "{{escalation_reason}}"
                description: "{{get-ticket.description}}"
            - name: notify-fan-experience
              type: call
              call: "msteams.post-message"
              with:
                team_id: "fan-experience-team"
                channel_id: "escalations"
                message: "Fan issue escalated: Zendesk #{{ticket_id}}. Reason: {{escalation_reason}}. Salesforce: {{create-escalation.id}}."
            - name: update-fan
              type: call
              call: "outlook.send-mail"
              with:
                recipient: "{{get-ticket.requester.email}}"
                subject: "NBA Fan Support Update - Ticket #{{ticket_id}}"
                body: "Your issue has been escalated to our senior team. Escalation: {{create-escalation.id}}. We will follow up within 24 hours."
  consumes:
    - type: http
      namespace: zendesk
      baseUri: "https://nba.zendesk.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.zendesk_token"
      resources:
        - name: tickets
          path: "/tickets/{{ticket_id}}"
          inputParameters:
            - name: ticket_id
              in: path
          operations:
            - name: get-ticket
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: escalations
          path: "/sobjects/Fan_Escalation__c"
          operations:
            - name: create-escalation
              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: post-message
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/fansupport@nba.com/sendMail"
          operations:
            - name: send-mail
              method: POST

Tracks G League player development metrics from Snowflake by player ID and G League season, returning per-game averages, call-up status, and two-way contract details.

naftiko: "0.5"
info:
  label: "G League Player Development Tracker"
  description: "Tracks G League player development metrics from Snowflake by player ID and G League season, returning per-game averages, call-up status, and two-way contract details."
  tags:
    - development
    - g-league
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: gleague-development
      port: 8080
      tools:
        - name: get-gleague-stats
          description: "Retrieve G League player development stats by player ID and season."
          inputParameters:
            - name: player_id
              in: body
              type: string
              description: "The player identifier."
            - name: gleague_season
              in: body
              type: string
              description: "The G League season."
          call: "snowflake.get-gleague-stats"
          with:
            player_id: "{{player_id}}"
            gleague_season: "{{gleague_season}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-gleague-stats
              method: POST

Orchestrates game day operations by pulling the game schedule from Salesforce, confirming broadcast assignments, checking ticket sales status, sending game day prep alerts to venue staff via Microsoft Teams, and logging the operations checklist in SharePoint.

naftiko: "0.5"
info:
  label: "Game Day Operations Orchestrator"
  description: "Orchestrates game day operations by pulling the game schedule from Salesforce, confirming broadcast assignments, checking ticket sales status, sending game day prep alerts to venue staff via Microsoft Teams, and logging the operations checklist in SharePoint."
  tags:
    - broadcast
    - ticketing
    - game-day
    - salesforce
    - microsoft-teams
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: game-day-ops
      port: 8080
      tools:
        - name: run-game-day-checklist
          description: "Given a game ID, run the full game day operations checklist."
          inputParameters:
            - name: game_id
              in: body
              type: string
              description: "The game event ID."
          steps:
            - name: get-game-details
              type: call
              call: "salesforce.get-game"
              with:
                game_id: "{{game_id}}"
            - name: check-ticket-status
              type: call
              call: "salesforce.get-ticket-sales"
              with:
                game_id: "{{game_id}}"
            - name: log-checklist
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "game_ops_site"
                folder_path: "GameDay/{{game_id}}"
            - name: alert-venue-staff
              type: call
              call: "msteams.post-message"
              with:
                team_id: "game-operations-team"
                channel_id: "game-day"
                message: "GAME DAY: {{get-game-details.Home_Team__c}} vs {{get-game-details.Away_Team__c}} at {{get-game-details.Venue__c}}. Tickets: {{check-ticket-status.Capacity_Percentage__c}}% sold. Broadcast: {{get-game-details.Broadcast__c}}. Checklist: {{log-checklist.webUrl}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: games
          path: "/sobjects/Game__c/{{game_id}}"
          inputParameters:
            - name: game_id
              in: path
          operations:
            - name: get-game
              method: GET
        - name: ticket-sales
          path: "/query/?q=SELECT+Tickets_Sold__c,Capacity_Percentage__c+FROM+Ticket_Summary__c+WHERE+Game_ID__c='{{game_id}}'"
          inputParameters:
            - name: game_id
              in: query
          operations:
            - name: get-ticket-sales
              method: GET
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Retrieves the game schedule for a specified date range and team from the Salesforce events system, returning game dates, opponents, venues, and broadcast assignments.

naftiko: "0.5"
info:
  label: "Game Schedule Lookup"
  description: "Retrieves the game schedule for a specified date range and team from the Salesforce events system, returning game dates, opponents, venues, and broadcast assignments."
  tags:
    - broadcast
    - scheduling
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: game-schedule
      port: 8080
      tools:
        - name: get-game-schedule
          description: "Look up NBA game schedule by team and date range."
          inputParameters:
            - name: team_code
              in: body
              type: string
              description: "The NBA team abbreviation (e.g., LAL, BOS)."
            - name: start_date
              in: body
              type: string
              description: "Start date in YYYY-MM-DD format."
            - name: end_date
              in: body
              type: string
              description: "End date in YYYY-MM-DD format."
          call: "salesforce.get-schedule"
          with:
            team_code: "{{team_code}}"
            start_date: "{{start_date}}"
            end_date: "{{end_date}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: schedule
          path: "/query/?q=SELECT+Game_Date__c,Home_Team__c,Away_Team__c,Venue__c,Broadcast__c+FROM+Game__c+WHERE+Team_Code__c='{{team_code}}'+AND+Game_Date__c>={{start_date}}+AND+Game_Date__c<={{end_date}}"
          inputParameters:
            - name: team_code
              in: query
            - name: start_date
              in: query
            - name: end_date
              in: query
          operations:
            - name: get-schedule
              method: GET

Retrieves NBA app engagement metrics from Google Analytics, returning daily active users, session duration, screen views, and conversion rates.

naftiko: "0.5"
info:
  label: "Google Analytics App Engagement Metrics"
  description: "Retrieves NBA app engagement metrics from Google Analytics, returning daily active users, session duration, screen views, and conversion rates."
  tags:
    - digital
    - analytics
    - google-analytics
capability:
  exposes:
    - type: mcp
      namespace: app-engagement
      port: 8080
      tools:
        - name: get-app-engagement
          description: "Retrieve NBA app engagement metrics by platform and date range."
          inputParameters:
            - name: platform
              in: body
              type: string
              description: "The app platform (ios, android, web)."
            - name: date_range
              in: body
              type: string
              description: "The date range."
          call: "ga.get-app-metrics"
          with:
            platform: "{{platform}}"
            date_range: "{{date_range}}"
  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-app-metrics
              method: POST

Retrieves digital engagement metrics from Google Analytics for NBA.com, including page views, unique users, and session duration by content section.

naftiko: "0.5"
info:
  label: "Google Analytics Digital Engagement"
  description: "Retrieves digital engagement metrics from Google Analytics for NBA.com, including page views, unique users, and session duration by content section."
  tags:
    - analytics
    - digital
    - google-analytics
capability:
  exposes:
    - type: mcp
      namespace: digital-analytics
      port: 8080
      tools:
        - name: get-digital-engagement
          description: "Query Google Analytics for NBA.com engagement metrics."
          inputParameters:
            - name: content_section
              in: body
              type: string
              description: "The content section (e.g., scores, news, fantasy)."
            - name: start_date
              in: body
              type: string
              description: "Start date."
            - name: end_date
              in: body
              type: string
              description: "End date."
          call: "ga.get-report"
          with:
            content_section: "{{content_section}}"
            start_date: "{{start_date}}"
            end_date: "{{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

Compiles injury reports by pulling player health data from Snowflake, updating injury status in Salesforce, uploading reports to SharePoint, and notifying the basketball operations team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Injury Report Compilation Pipeline"
  description: "Compiles injury reports by pulling player health data from Snowflake, updating injury status in Salesforce, uploading reports to SharePoint, and notifying the basketball operations team via Microsoft Teams."
  tags:
    - player-health
    - operations
    - snowflake
    - salesforce
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: injury-reports
      port: 8080
      tools:
        - name: compile-injury-report
          description: "Given a team code and game date, compile the injury report."
          inputParameters:
            - name: team_code
              in: body
              type: string
              description: "The NBA team abbreviation."
            - name: game_date
              in: body
              type: string
              description: "The game date in YYYY-MM-DD format."
          steps:
            - name: pull-health-data
              type: call
              call: "snowflake.execute-query"
              with:
                team_code: "{{team_code}}"
                game_date: "{{game_date}}"
            - name: update-status
              type: call
              call: "salesforce.update-injury-status"
              with:
                team_code: "{{team_code}}"
                game_date: "{{game_date}}"
                player_count: "{{pull-health-data.injured_count}}"
            - name: upload-report
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "basketball_ops_site"
                folder_path: "InjuryReports/{{team_code}}/{{game_date}}"
            - name: notify-ops
              type: call
              call: "msteams.post-message"
              with:
                team_id: "basketball-ops"
                channel_id: "injury-reports"
                message: "Injury report compiled for {{team_code}} ({{game_date}}): {{pull-health-data.injured_count}} players listed. Report: {{upload-report.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: injury-status
          path: "/sobjects/Injury_Report__c"
          operations:
            - name: update-injury-status
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Supports international business development by pulling market data from Snowflake, creating opportunity records in Salesforce, uploading market analysis to SharePoint, and notifying the global partnerships team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "International Business Development Pipeline"
  description: "Supports international business development by pulling market data from Snowflake, creating opportunity records in Salesforce, uploading market analysis to SharePoint, and notifying the global partnerships team via Microsoft Teams."
  tags:
    - sponsorship
    - international
    - snowflake
    - salesforce
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: intl-development
      port: 8080
      tools:
        - name: assess-international-market
          description: "Given a country and business category, assess the international market opportunity."
          inputParameters:
            - name: country
              in: body
              type: string
              description: "The target country."
            - name: business_category
              in: body
              type: string
              description: "Category (broadcast, sponsorship, merchandise, gaming)."
          steps:
            - name: pull-market-data
              type: call
              call: "snowflake.execute-query"
              with:
                country: "{{country}}"
                category: "{{business_category}}"
            - name: create-opportunity
              type: call
              call: "salesforce.create-opportunity"
              with:
                country: "{{country}}"
                category: "{{business_category}}"
                market_size: "{{pull-market-data.market_size}}"
            - name: upload-analysis
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "intl_business_site"
                folder_path: "Markets/{{country}}/{{business_category}}"
            - name: notify-global-team
              type: call
              call: "msteams.post-message"
              with:
                team_id: "global-partnerships-team"
                channel_id: "international"
                message: "International opportunity: {{business_category}} in {{country}}. Market size: {{pull-market-data.market_size}}. Opportunity: {{create-opportunity.id}}. Analysis: {{upload-analysis.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: opportunities
          path: "/sobjects/Opportunity"
          operations:
            - name: create-opportunity
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Generates league revenue reports by compiling ticket revenue, broadcast revenue, and sponsorship revenue from Snowflake and Salesforce, refreshing Power BI dashboards, and distributing to the executive team.

naftiko: "0.5"
info:
  label: "League Revenue Report Pipeline"
  description: "Generates league revenue reports by compiling ticket revenue, broadcast revenue, and sponsorship revenue from Snowflake and Salesforce, refreshing Power BI dashboards, and distributing to the executive team."
  tags:
    - analytics
    - revenue
    - snowflake
    - salesforce
    - power-bi
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: revenue-reporting
      port: 8080
      tools:
        - name: generate-revenue-report
          description: "Given a season and revenue stream, generate the comprehensive revenue report."
          inputParameters:
            - name: season
              in: body
              type: string
              description: "The NBA season."
            - name: revenue_stream
              in: body
              type: string
              description: "Revenue stream (tickets, broadcast, sponsorship, all)."
          steps:
            - name: query-revenue-data
              type: call
              call: "snowflake.execute-query"
              with:
                season: "{{season}}"
                stream: "{{revenue_stream}}"
            - name: get-deal-values
              type: call
              call: "salesforce.get-revenue-summary"
              with:
                season: "{{season}}"
                stream: "{{revenue_stream}}"
            - name: refresh-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "league-revenue-dataset"
            - name: upload-report
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "finance_site"
                folder_path: "Revenue/{{season}}/{{revenue_stream}}"
            - name: notify-executives
              type: call
              call: "msteams.post-message"
              with:
                team_id: "executive-team"
                channel_id: "revenue"
                message: "Revenue report for {{season}} ({{revenue_stream}}): ${{query-revenue-data.total_revenue}}. Dashboard refreshed. Report: {{upload-report.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: revenue-summary
          path: "/query/?q=SELECT+SUM(Deal_Value__c)+FROM+Revenue__c+WHERE+Season__c='{{season}}'+AND+Stream__c='{{stream}}'"
          inputParameters:
            - name: season
              in: query
            - name: stream
              in: query
          operations:
            - name: get-revenue-summary
              method: GET
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Retrieves merchandise sales data from Snowflake by team and product category, returning units sold, revenue, and top-selling items.

naftiko: "0.5"
info:
  label: "Merchandise Sales Tracker"
  description: "Retrieves merchandise sales data from Snowflake by team and product category, returning units sold, revenue, and top-selling items."
  tags:
    - merchandise
    - retail
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: merchandise-sales
      port: 8080
      tools:
        - name: get-merchandise-sales
          description: "Look up merchandise sales by team and category."
          inputParameters:
            - name: team_code
              in: body
              type: string
              description: "The NBA team abbreviation."
            - name: category
              in: body
              type: string
              description: "The product category (jerseys, hats, accessories)."
          call: "snowflake.get-merch-sales"
          with:
            team_code: "{{team_code}}"
            category: "{{category}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-merch-sales
              method: POST

Sends a formatted notification to a Microsoft Teams channel for cross-departmental NBA league office communication.

naftiko: "0.5"
info:
  label: "Microsoft Teams Channel Notification"
  description: "Sends a formatted notification to a Microsoft Teams channel for cross-departmental NBA league office communication."
  tags:
    - communications
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: team-notifications
      port: 8080
      tools:
        - name: send-teams-notification
          description: "Post a message to a Microsoft Teams channel."
          inputParameters:
            - name: team_id
              in: body
              type: string
              description: "The Teams team ID."
            - name: channel_id
              in: body
              type: string
              description: "The Teams channel ID."
            - name: message
              in: body
              type: string
              description: "The message body."
          call: "msteams.post-message"
          with:
            team_id: "{{team_id}}"
            channel_id: "{{channel_id}}"
            message: "{{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: post-message
              method: POST

Retrieves NBA 2K League esports statistics from Snowflake by player gamertag and season, returning wins, losses, average score, and tournament placements.

naftiko: "0.5"
info:
  label: "NBA 2K Gaming League Stats Lookup"
  description: "Retrieves NBA 2K League esports statistics from Snowflake by player gamertag and season, returning wins, losses, average score, and tournament placements."
  tags:
    - esports
    - gaming
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: nba2k-stats
      port: 8080
      tools:
        - name: get-2k-league-stats
          description: "Look up NBA 2K League player stats by gamertag and season."
          inputParameters:
            - name: gamertag
              in: body
              type: string
              description: "The player gamertag."
            - name: season
              in: body
              type: string
              description: "The 2K League season."
          call: "snowflake.get-2k-stats"
          with:
            gamertag: "{{gamertag}}"
            season: "{{season}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-2k-stats
              method: POST

Retrieves NBA Combine measurement data from Snowflake by prospect name or draft class year, returning height, wingspan, vertical leap, lane agility, and sprint times.

naftiko: "0.5"
info:
  label: "NBA Combine Measurements Lookup"
  description: "Retrieves NBA Combine measurement data from Snowflake by prospect name or draft class year, returning height, wingspan, vertical leap, lane agility, and sprint times."
  tags:
    - scouting
    - combine
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: combine-data
      port: 8080
      tools:
        - name: get-combine-measurements
          description: "Look up combine measurements by draft class year."
          inputParameters:
            - name: draft_year
              in: body
              type: string
              description: "The draft class year."
          call: "snowflake.get-combine-data"
          with:
            draft_year: "{{draft_year}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-combine-data
              method: POST

Queries League Pass subscription metrics from Snowflake, returning subscriber count, churn rate, average revenue per user, and geographic distribution.

naftiko: "0.5"
info:
  label: "NBA League Pass Subscription Analytics"
  description: "Queries League Pass subscription metrics from Snowflake, returning subscriber count, churn rate, average revenue per user, and geographic distribution."
  tags:
    - digital
    - subscriptions
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: league-pass-analytics
      port: 8080
      tools:
        - name: get-league-pass-metrics
          description: "Retrieve League Pass subscription analytics by region and period."
          inputParameters:
            - name: region
              in: body
              type: string
              description: "The geographic region."
            - name: period
              in: body
              type: string
              description: "The reporting period."
          call: "snowflake.get-league-pass"
          with:
            region: "{{region}}"
            period: "{{period}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-league-pass
              method: POST

Retrieves player statistics from the analytics data warehouse by player ID and season, returning points, rebounds, assists, and efficiency rating.

naftiko: "0.5"
info:
  label: "Player Statistics Lookup"
  description: "Retrieves player statistics from the analytics data warehouse by player ID and season, returning points, rebounds, assists, and efficiency rating."
  tags:
    - analytics
    - player-stats
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: player-analytics
      port: 8080
      tools:
        - name: get-player-stats
          description: "Look up player statistics by player ID and season."
          inputParameters:
            - name: player_id
              in: body
              type: string
              description: "The NBA player ID."
            - name: season
              in: body
              type: string
              description: "The season (e.g., 2025-26)."
          call: "snowflake.get-player-stats"
          with:
            player_id: "{{player_id}}"
            season: "{{season}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-player-stats
              method: POST

Generates player tracking analytics by querying Second Spectrum data from Snowflake, creating advanced stats visualizations in Tableau, uploading reports to SharePoint, and notifying the analytics team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Player Tracking Analytics Pipeline"
  description: "Generates player tracking analytics by querying Second Spectrum data from Snowflake, creating advanced stats visualizations in Tableau, uploading reports to SharePoint, and notifying the analytics team via Microsoft Teams."
  tags:
    - analytics
    - player-tracking
    - snowflake
    - tableau
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: player-tracking
      port: 8080
      tools:
        - name: generate-tracking-report
          description: "Given a player ID and game range, generate advanced tracking analytics."
          inputParameters:
            - name: player_id
              in: body
              type: string
              description: "The NBA player ID."
            - name: start_date
              in: body
              type: string
              description: "Start date for games."
            - name: end_date
              in: body
              type: string
              description: "End date for games."
          steps:
            - name: query-tracking-data
              type: call
              call: "snowflake.execute-query"
              with:
                player_id: "{{player_id}}"
                start_date: "{{start_date}}"
                end_date: "{{end_date}}"
            - name: refresh-viz
              type: call
              call: "tableau.refresh-workbook"
              with:
                workbook_id: "player-tracking-workbook"
            - name: upload-report
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "analytics_site"
                folder_path: "PlayerTracking/{{player_id}}/{{start_date}}_{{end_date}}"
            - name: notify-analytics
              type: call
              call: "msteams.post-message"
              with:
                team_id: "analytics-team"
                channel_id: "player-tracking"
                message: "Player tracking report for {{player_id}} ({{start_date}} to {{end_date}}): {{query-tracking-data.rowCount}} data points. Report: {{upload-report.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://nba.online.tableau.com/api/3.21"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/sites/{{site_id}}/workbooks/{{workbook_id}}/refresh"
          inputParameters:
            - name: workbook_id
              in: path
          operations:
            - name: refresh-workbook
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Generates the playoff bracket by pulling current standings from Snowflake, creating bracket visualizations in Tableau, uploading to SharePoint, and announcing via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Playoff Bracket Generation Pipeline"
  description: "Generates the playoff bracket by pulling current standings from Snowflake, creating bracket visualizations in Tableau, uploading to SharePoint, and announcing via Microsoft Teams."
  tags:
    - playoffs
    - analytics
    - snowflake
    - tableau
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: playoff-bracket
      port: 8080
      tools:
        - name: generate-playoff-bracket
          description: "Given a season and conference, generate the playoff bracket."
          inputParameters:
            - name: season
              in: body
              type: string
              description: "The NBA season."
            - name: conference
              in: body
              type: string
              description: "The conference (east, west, both)."
          steps:
            - name: pull-standings
              type: call
              call: "snowflake.execute-query"
              with:
                season: "{{season}}"
                conference: "{{conference}}"
            - name: refresh-bracket-viz
              type: call
              call: "tableau.refresh-extract"
              with:
                datasource_id: "playoff-bracket-ds"
            - name: upload-bracket
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "basketball_ops_site"
                folder_path: "Playoffs/{{season}}/Bracket"
            - name: announce-bracket
              type: call
              call: "msteams.post-message"
              with:
                team_id: "league-operations"
                channel_id: "playoffs"
                message: "Playoff bracket generated for {{season}} ({{conference}}). Top seed: {{pull-standings.top_seed}}. Bracket: {{upload-bracket.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://nba.online.tableau.com/api/3.21"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: datasources
          path: "/sites/{{site_id}}/datasources/{{datasource_id}}/refresh"
          inputParameters:
            - name: datasource_id
              in: path
          operations:
            - name: refresh-extract
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Triggers a dataset refresh in Power BI for league analytics dashboards covering ratings, attendance, and digital metrics.

naftiko: "0.5"
info:
  label: "Power BI Dashboard Refresh"
  description: "Triggers a dataset refresh in Power BI for league analytics dashboards covering ratings, attendance, and digital metrics."
  tags:
    - analytics
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: bi-refresh
      port: 8080
      tools:
        - name: refresh-dashboard
          description: "Trigger a Power BI dataset refresh."
          inputParameters:
            - name: dataset_id
              in: body
              type: string
              description: "The Power BI dataset ID."
          call: "powerbi.refresh-dataset"
          with:
            dataset_id: "{{dataset_id}}"
  consumes:
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST

Retrieves referee game assignments from Snowflake by game ID, returning crew chief, referee names, experience level, and historical team matchup stats.

naftiko: "0.5"
info:
  label: "Referee Assignment Lookup"
  description: "Retrieves referee game assignments from Snowflake by game ID, returning crew chief, referee names, experience level, and historical team matchup stats."
  tags:
    - officiating
    - scheduling
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: referee-assignments
      port: 8080
      tools:
        - name: get-referee-assignment
          description: "Look up referee assignment by game ID."
          inputParameters:
            - name: game_id
              in: body
              type: string
              description: "The game event ID."
          call: "snowflake.get-referee-assignment"
          with:
            game_id: "{{game_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-referee-assignment
              method: POST

Retrieves available salary cap exceptions from Salesforce for a team, returning mid-level exception, bi-annual exception, and trade exception amounts.

naftiko: "0.5"
info:
  label: "Salary Cap Exception Tracker"
  description: "Retrieves available salary cap exceptions from Salesforce for a team, returning mid-level exception, bi-annual exception, and trade exception amounts."
  tags:
    - salary-cap
    - transactions
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: cap-exceptions
      port: 8080
      tools:
        - name: get-cap-exceptions
          description: "Look up available salary cap exceptions by team code."
          inputParameters:
            - name: team_code
              in: body
              type: string
              description: "The NBA team abbreviation."
            - name: season
              in: body
              type: string
              description: "The season."
          call: "salesforce.get-exceptions"
          with:
            team_code: "{{team_code}}"
            season: "{{season}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: exceptions
          path: "/query/?q=SELECT+MLE_Amount__c,BAE_Amount__c,Trade_Exceptions__c+FROM+Cap_Exception__c+WHERE+Team_Code__c='{{team_code}}'+AND+Season__c='{{season}}'"
          inputParameters:
            - name: team_code
              in: query
            - name: season
              in: query
          operations:
            - name: get-exceptions
              method: GET

Generates season attendance reports by querying attendance data from Snowflake, pulling venue capacities from Salesforce, refreshing Power BI dashboards, uploading to SharePoint, and notifying the operations team.

naftiko: "0.5"
info:
  label: "Season Attendance Report Pipeline"
  description: "Generates season attendance reports by querying attendance data from Snowflake, pulling venue capacities from Salesforce, refreshing Power BI dashboards, uploading to SharePoint, and notifying the operations team."
  tags:
    - ticketing
    - analytics
    - snowflake
    - salesforce
    - power-bi
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: attendance-reporting
      port: 8080
      tools:
        - name: generate-attendance-report
          description: "Given a season and team, generate comprehensive attendance analytics."
          inputParameters:
            - name: season
              in: body
              type: string
              description: "The NBA season."
            - name: team_code
              in: body
              type: string
              description: "The team abbreviation (or ALL for league-wide)."
          steps:
            - name: query-attendance
              type: call
              call: "snowflake.execute-query"
              with:
                season: "{{season}}"
                team_code: "{{team_code}}"
            - name: get-venue-data
              type: call
              call: "salesforce.get-venues"
              with:
                team_code: "{{team_code}}"
            - name: refresh-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "attendance-dataset"
            - name: upload-report
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "operations_site"
                folder_path: "Attendance/{{season}}/{{team_code}}"
            - name: notify-ops
              type: call
              call: "msteams.post-message"
              with:
                team_id: "operations-team"
                channel_id: "attendance"
                message: "Attendance report for {{team_code}} ({{season}}): {{query-attendance.total_attendance}} total, {{query-attendance.avg_attendance}} avg per game. Dashboard refreshed. Report: {{upload-report.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: venues
          path: "/query/?q=SELECT+Venue__c,Capacity__c+FROM+Team__c+WHERE+Team_Code__c='{{team_code}}'"
          inputParameters:
            - name: team_code
              in: query
          operations:
            - name: get-venues
              method: GET
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Retrieves document metadata from SharePoint for league rules, broadcast contracts, and partnership agreements.

naftiko: "0.5"
info:
  label: "SharePoint Document Retrieval"
  description: "Retrieves document metadata from SharePoint for league rules, broadcast contracts, and partnership agreements."
  tags:
    - document-management
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: document-mgmt
      port: 8080
      tools:
        - name: get-document-metadata
          description: "Retrieve SharePoint document metadata by site and file path."
          inputParameters:
            - name: site_id
              in: body
              type: string
              description: "The SharePoint site ID."
            - name: file_path
              in: body
              type: string
              description: "The file path."
          call: "sharepoint.get-file"
          with:
            site_id: "{{site_id}}"
            file_path: "{{file_path}}"
  consumes:
    - 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}}"
          inputParameters:
            - name: site_id
              in: path
            - name: file_path
              in: path
          operations:
            - name: get-file
              method: GET

Executes a parameterized query against the Snowflake data warehouse for attendance, viewership, social media, and advanced basketball analytics data.

naftiko: "0.5"
info:
  label: "Snowflake League Data Query"
  description: "Executes a parameterized query against the Snowflake data warehouse for attendance, viewership, social media, and advanced basketball analytics data."
  tags:
    - analytics
    - snowflake
    - data
capability:
  exposes:
    - type: mcp
      namespace: league-data
      port: 8080
      tools:
        - name: query-league-data
          description: "Query Snowflake for league analytics data."
          inputParameters:
            - name: data_type
              in: body
              type: string
              description: "Type of data (attendance, viewership, social, player_tracking)."
            - name: season
              in: body
              type: string
              description: "The NBA season."
          call: "snowflake.execute-query"
          with:
            data_type: "{{data_type}}"
            season: "{{season}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST

Analyzes NBA social media performance by querying engagement data from Snowflake, pulling digital metrics from Google Analytics, refreshing Power BI dashboards, and distributing insights to the digital team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Social Media Analytics Pipeline"
  description: "Analyzes NBA social media performance by querying engagement data from Snowflake, pulling digital metrics from Google Analytics, refreshing Power BI dashboards, and distributing insights to the digital team via Microsoft Teams."
  tags:
    - analytics
    - social-media
    - snowflake
    - google-analytics
    - power-bi
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: social-analytics
      port: 8080
      tools:
        - name: analyze-social-media
          description: "Given a platform and date range, analyze social media engagement."
          inputParameters:
            - name: platform
              in: body
              type: string
              description: "Social platform (instagram, twitter, youtube, tiktok)."
            - name: start_date
              in: body
              type: string
              description: "Start date."
            - name: end_date
              in: body
              type: string
              description: "End date."
          steps:
            - name: query-social-data
              type: call
              call: "snowflake.execute-query"
              with:
                platform: "{{platform}}"
                start_date: "{{start_date}}"
                end_date: "{{end_date}}"
            - name: get-web-traffic
              type: call
              call: "ga.get-report"
              with:
                content_section: "social-{{platform}}"
                start_date: "{{start_date}}"
                end_date: "{{end_date}}"
            - name: refresh-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "social-media-dataset"
            - name: notify-digital
              type: call
              call: "msteams.post-message"
              with:
                team_id: "digital-team"
                channel_id: "social-analytics"
                message: "Social media report for {{platform}} ({{start_date}} to {{end_date}}): {{query-social-data.total_engagements}} engagements. Web referrals: {{get-web-traffic.sessions}}. Dashboard refreshed."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - 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
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              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: post-message
              method: POST

Activates a sponsorship deal by pulling deal details from Salesforce, creating an activation plan in SharePoint, setting up tracking in Google Analytics, and notifying the partnerships team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Sponsorship Activation Pipeline"
  description: "Activates a sponsorship deal by pulling deal details from Salesforce, creating an activation plan in SharePoint, setting up tracking in Google Analytics, and notifying the partnerships team via Microsoft Teams."
  tags:
    - sponsorship
    - activation
    - salesforce
    - sharepoint
    - google-analytics
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: sponsorship-activation
      port: 8080
      tools:
        - name: activate-sponsorship
          description: "Given a sponsor ID and activation type, set up the full activation workflow."
          inputParameters:
            - name: sponsor_id
              in: body
              type: string
              description: "The Salesforce sponsor account ID."
            - name: activation_type
              in: body
              type: string
              description: "Type of activation (in_arena, digital, broadcast, social)."
            - name: campaign_name
              in: body
              type: string
              description: "The activation campaign name."
          steps:
            - name: get-deal-details
              type: call
              call: "salesforce.get-sponsorship"
              with:
                sponsor_id: "{{sponsor_id}}"
            - name: create-activation-plan
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "partnerships_site"
                folder_path: "Activations/{{sponsor_id}}/{{campaign_name}}"
            - name: setup-tracking
              type: call
              call: "ga.create-audience"
              with:
                campaign_name: "{{campaign_name}}"
                sponsor: "{{sponsor_id}}"
            - name: notify-partnerships
              type: call
              call: "msteams.post-message"
              with:
                team_id: "partnerships-team"
                channel_id: "activations"
                message: "Sponsorship activation launched: {{campaign_name}} for {{sponsor_id}} ({{activation_type}}). Deal value: {{get-deal-details.Deal_Value__c}}. Plan: {{create-activation-plan.webUrl}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: sponsorships
          path: "/query/?q=SELECT+Deal_Value__c,Term__c,Activation_Rights__c+FROM+Sponsorship__c+WHERE+Sponsor_ID__c='{{sponsor_id}}'"
          inputParameters:
            - name: sponsor_id
              in: query
          operations:
            - name: get-sponsorship
              method: GET
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: ga
      baseUri: "https://analyticsadmin.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: audiences
          path: "/properties/{{property_id}}/audiences"
          operations:
            - name: create-audience
              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: post-message
              method: POST

Retrieves sponsorship deal details from Salesforce by sponsor account ID, returning deal value, term, activation rights, and renewal date.

naftiko: "0.5"
info:
  label: "Sponsorship Deal Lookup"
  description: "Retrieves sponsorship deal details from Salesforce by sponsor account ID, returning deal value, term, activation rights, and renewal date."
  tags:
    - sponsorship
    - partnerships
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: sponsorship
      port: 8080
      tools:
        - name: get-sponsorship-deal
          description: "Look up a sponsorship deal by sponsor account ID."
          inputParameters:
            - name: sponsor_id
              in: body
              type: string
              description: "The Salesforce sponsor account ID."
          call: "salesforce.get-sponsorship"
          with:
            sponsor_id: "{{sponsor_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: sponsorships
          path: "/query/?q=SELECT+Deal_Value__c,Term__c,Activation_Rights__c,Renewal_Date__c+FROM+Sponsorship__c+WHERE+Sponsor_ID__c='{{sponsor_id}}'"
          inputParameters:
            - name: sponsor_id
              in: query
          operations:
            - name: get-sponsorship
              method: GET

Generates sponsorship ROI reports by pulling activation data from Snowflake, brand exposure from Google Analytics, deal terms from Salesforce, and distributing the report to sponsors via SharePoint and Microsoft Outlook.

naftiko: "0.5"
info:
  label: "Sponsorship ROI Report Pipeline"
  description: "Generates sponsorship ROI reports by pulling activation data from Snowflake, brand exposure from Google Analytics, deal terms from Salesforce, and distributing the report to sponsors via SharePoint and Microsoft Outlook."
  tags:
    - sponsorship
    - analytics
    - snowflake
    - google-analytics
    - salesforce
    - sharepoint
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: sponsorship-roi
      port: 8080
      tools:
        - name: generate-sponsorship-roi
          description: "Given a sponsor ID and period, generate a comprehensive ROI report."
          inputParameters:
            - name: sponsor_id
              in: body
              type: string
              description: "The sponsor account ID."
            - name: period
              in: body
              type: string
              description: "The evaluation period."
          steps:
            - name: pull-activation-data
              type: call
              call: "snowflake.execute-query"
              with:
                sponsor_id: "{{sponsor_id}}"
                period: "{{period}}"
            - name: get-digital-exposure
              type: call
              call: "ga.get-report"
              with:
                campaign_name: "sponsor-{{sponsor_id}}"
                period: "{{period}}"
            - name: get-deal-terms
              type: call
              call: "salesforce.get-sponsorship"
              with:
                sponsor_id: "{{sponsor_id}}"
            - name: upload-roi-report
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "partnerships_site"
                folder_path: "ROI/{{sponsor_id}}/{{period}}"
            - name: send-to-sponsor
              type: call
              call: "outlook.send-mail"
              with:
                recipient: "{{get-deal-terms.Contact_Email__c}}"
                subject: "NBA Sponsorship ROI Report - {{period}}"
                body: "Your NBA sponsorship ROI report is ready. Impressions: {{pull-activation-data.total_impressions}}. Digital engagement: {{get-digital-exposure.sessions}}. Report: {{upload-roi-report.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - 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
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: sponsorships
          path: "/query/?q=SELECT+Deal_Value__c,Contact_Email__c+FROM+Sponsorship__c+WHERE+Sponsor_ID__c='{{sponsor_id}}'"
          inputParameters:
            - name: sponsor_id
              in: query
          operations:
            - name: get-sponsorship
              method: GET
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/partnerships@nba.com/sendMail"
          operations:
            - name: send-mail
              method: POST

Retrieves game performance visualization metadata from Tableau by workbook name, returning view names, last refresh time, and embed URLs.

naftiko: "0.5"
info:
  label: "Tableau Game Performance Workbook"
  description: "Retrieves game performance visualization metadata from Tableau by workbook name, returning view names, last refresh time, and embed URLs."
  tags:
    - analytics
    - visualization
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: game-performance-viz
      port: 8080
      tools:
        - name: get-game-performance-workbook
          description: "Retrieve Tableau workbook metadata for game performance."
          inputParameters:
            - name: workbook_name
              in: body
              type: string
              description: "The Tableau workbook name."
          call: "tableau.get-workbook"
          with:
            workbook_name: "{{workbook_name}}"
  consumes:
    - type: http
      namespace: tableau
      baseUri: "https://nba.online.tableau.com/api/3.21"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/sites/{{site_id}}/workbooks?filter=name:eq:{{workbook_name}}"
          inputParameters:
            - name: workbook_name
              in: query
          operations:
            - name: get-workbook
              method: GET

Retrieves metadata for a Tableau workbook used in basketball analytics including player tracking and shot charts.

naftiko: "0.5"
info:
  label: "Tableau Workbook Metadata"
  description: "Retrieves metadata for a Tableau workbook used in basketball analytics including player tracking and shot charts."
  tags:
    - analytics
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: bi-metadata
      port: 8080
      tools:
        - name: get-workbook-metadata
          description: "Retrieve Tableau workbook metadata by workbook ID."
          inputParameters:
            - name: workbook_id
              in: body
              type: string
              description: "The Tableau workbook ID."
          call: "tableau.get-workbook"
          with:
            workbook_id: "{{workbook_id}}"
  consumes:
    - type: http
      namespace: tableau
      baseUri: "https://nba.online.tableau.com/api/3.21"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/sites/{{site_id}}/workbooks/{{workbook_id}}"
          inputParameters:
            - name: workbook_id
              in: path
          operations:
            - name: get-workbook
              method: GET

Queries team salary cap data from Snowflake by team code and season, returning total payroll, cap room, luxury tax status, and exception amounts.

naftiko: "0.5"
info:
  label: "Team Salary Cap Query"
  description: "Queries team salary cap data from Snowflake by team code and season, returning total payroll, cap room, luxury tax status, and exception amounts."
  tags:
    - analytics
    - salary-cap
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: salary-cap
      port: 8080
      tools:
        - name: get-salary-cap
          description: "Look up team salary cap details by team code and season."
          inputParameters:
            - name: team_code
              in: body
              type: string
              description: "The NBA team abbreviation."
            - name: season
              in: body
              type: string
              description: "The season (e.g., 2025-26)."
          call: "snowflake.get-salary-cap"
          with:
            team_code: "{{team_code}}"
            season: "{{season}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-salary-cap
              method: POST

Manages team travel logistics by pulling schedule data from Salesforce, creating travel itinerary documents in SharePoint, and notifying the team operations staff via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Team Travel Logistics Pipeline"
  description: "Manages team travel logistics by pulling schedule data from Salesforce, creating travel itinerary documents in SharePoint, and notifying the team operations staff via Microsoft Teams."
  tags:
    - operations
    - travel
    - salesforce
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: team-travel
      port: 8080
      tools:
        - name: plan-team-travel
          description: "Given a team code and road trip dates, plan the travel logistics."
          inputParameters:
            - name: team_code
              in: body
              type: string
              description: "The NBA team abbreviation."
            - name: start_date
              in: body
              type: string
              description: "Trip start date."
            - name: end_date
              in: body
              type: string
              description: "Trip end date."
          steps:
            - name: get-road-schedule
              type: call
              call: "salesforce.get-road-games"
              with:
                team_code: "{{team_code}}"
                start_date: "{{start_date}}"
                end_date: "{{end_date}}"
            - name: create-itinerary
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "team_ops_site"
                folder_path: "Travel/{{team_code}}/{{start_date}}-{{end_date}}"
            - name: notify-staff
              type: call
              call: "msteams.post-message"
              with:
                team_id: "team-operations"
                channel_id: "travel"
                message: "Travel itinerary created for {{team_code}} road trip ({{start_date}} to {{end_date}}). {{get-road-schedule.totalSize}} games. Itinerary: {{create-itinerary.webUrl}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: road-games
          path: "/query/?q=SELECT+Game_Date__c,Away_Team__c,Venue__c+FROM+Game__c+WHERE+Away_Team__c='{{team_code}}'+AND+Game_Date__c>={{start_date}}+AND+Game_Date__c<={{end_date}}"
          inputParameters:
            - name: team_code
              in: query
            - name: start_date
              in: query
            - name: end_date
              in: query
          operations:
            - name: get-road-games
              method: GET
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: folders
          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: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Manages dynamic ticket pricing by pulling demand signals from Snowflake, checking current sales from Salesforce, updating pricing recommendations, and notifying the ticketing team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Ticket Dynamic Pricing Pipeline"
  description: "Manages dynamic ticket pricing by pulling demand signals from Snowflake, checking current sales from Salesforce, updating pricing recommendations, and notifying the ticketing team via Microsoft Teams."
  tags:
    - ticketing
    - pricing
    - snowflake
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: dynamic-pricing
      port: 8080
      tools:
        - name: update-ticket-pricing
          description: "Given a game ID, analyze demand and update pricing recommendations."
          inputParameters:
            - name: game_id
              in: body
              type: string
              description: "The game event ID."
            - name: days_until_game
              in: body
              type: string
              description: "Number of days until the game."
          steps:
            - name: analyze-demand
              type: call
              call: "snowflake.execute-query"
              with:
                game_id: "{{game_id}}"
                days_until: "{{days_until_game}}"
            - name: get-current-sales
              type: call
              call: "salesforce.get-ticket-sales"
              with:
                game_id: "{{game_id}}"
            - name: update-pricing
              type: call
              call: "salesforce.update-pricing"
              with:
                game_id: "{{game_id}}"
                demand_score: "{{analyze-demand.demand_score}}"
                current_capacity: "{{get-current-sales.Capacity_Percentage__c}}"
            - name: notify-ticketing
              type: call
              call: "msteams.post-message"
              with:
                team_id: "ticketing-team"
                channel_id: "pricing"
                message: "Pricing update for game {{game_id}}: {{get-current-sales.Capacity_Percentage__c}}% sold, {{days_until_game}} days out. Demand score: {{analyze-demand.demand_score}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nba.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: ticket-sales
          path: "/query/?q=SELECT+Capacity_Percentage__c,Tickets_Sold__c+FROM+Ticket_Summary__c+WHERE+Game_ID__c='{{game_id}}'"
          inputParameters:
            - name: game_id
              in: query
          operations:
            - name: get-ticket-sales
              method: GET
        - name: pricing
          path: "/sobjects/Ticket_Pricing__c/{{game_id}}"
          inputParameters:
            - name: game_id
              in: path
          operations:
            - name: update-pricing
              method: PATCH
    - 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: post-message
              method: POST

Retrieves ticket sales summary data from Salesforce for a specified game or event, returning total tickets sold, revenue, and sellout percentage.

naftiko: "0.5"
info:
  label: "Ticket Sales Summary"
  description: "Retrieves ticket sales summary data from Salesforce for a specified game or event, returning total tickets sold, revenue, and sellout percentage."
  tags:
    - ticketing
    - sales
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: ticketing
      port: 8080
      tools:
        - name: get-ticket-sales
          description: "Look up ticket sales data for a game by game ID."
          inputParameters:
            - name: game_id
              in: body
              type: string
              description: "The game event ID."
          call: "salesforce.get-ticket-sales"
          with:
            game_id: "{{game_id}}"
          outputParameters:
            - name: tickets_sold
              type: string
              mapping: "$.records[0].Tickets_Sold__c"
            - name: revenue
              type: string
              mapping: "$.records[0].Ticket_Revenue__c"
            - name: capacity_pct
              type: string
              mapping: "$.records[0].Capacity_Percentage__c"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nba.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: ticket-sales
          path: "/query/?q=SELECT+Tickets_Sold__c,Ticket_Revenue__c,Capacity_Percentage__c+FROM+Ticket_Summary__c+WHERE+Game_ID__c='{{game_id}}'"
          inputParameters:
            - name: game_id
              in: query
          operations:
            - name: get-ticket-sales
              method: GET

Retrieves benefits enrollment status from Workday for NBA league office employees by worker ID, returning current plan selections, dependent coverage, and enrollment window dates.

naftiko: "0.5"
info:
  label: "Workday Benefits Enrollment Status"
  description: "Retrieves benefits enrollment status from Workday for NBA league office employees by worker ID, returning current plan selections, dependent coverage, and enrollment window dates."
  tags:
    - hr
    - benefits
    - workday
capability:
  exposes:
    - type: mcp
      namespace: benefits-enrollment
      port: 8080
      tools:
        - name: get-benefits-status
          description: "Retrieve benefits enrollment status by worker ID."
          inputParameters:
            - name: worker_id
              in: body
              type: string
              description: "The Workday worker ID."
          call: "workday.get-benefits"
          with:
            worker_id: "{{worker_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl-services1.workday.com/ccx/api/v1/nba"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: benefits
          path: "/benefits?worker={{worker_id}}"
          inputParameters:
            - name: worker_id
              in: query
          operations:
            - name: get-benefits
              method: GET

Fetches an employee profile from Workday by worker ID for NBA league office HR operations.

naftiko: "0.5"
info:
  label: "Workday Employee Profile"
  description: "Fetches an employee profile from Workday by worker ID for NBA league office HR operations."
  tags:
    - hr
    - workday
capability:
  exposes:
    - type: mcp
      namespace: hr-employee
      port: 8080
      tools:
        - name: get-employee-profile
          description: "Retrieve a Workday employee profile by worker ID."
          inputParameters:
            - name: worker_id
              in: body
              type: string
              description: "The Workday worker ID."
          call: "workday.get-worker"
          with:
            worker_id: "{{worker_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET

Retrieves a summary of fan feedback and support tickets from Zendesk by category and date range, returning ticket counts, satisfaction scores, and common themes.

naftiko: "0.5"
info:
  label: "Zendesk Fan Feedback Summary"
  description: "Retrieves a summary of fan feedback and support tickets from Zendesk by category and date range, returning ticket counts, satisfaction scores, and common themes."
  tags:
    - fan-experience
    - support
    - zendesk
capability:
  exposes:
    - type: mcp
      namespace: fan-feedback
      port: 8080
      tools:
        - name: get-fan-feedback
          description: "Retrieve fan feedback summary by category and date range."
          inputParameters:
            - name: category
              in: body
              type: string
              description: "The feedback category (ticketing, merchandise, app, broadcast)."
            - name: date_range
              in: body
              type: string
              description: "The date range (e.g., 30d, 90d)."
          call: "zendesk.get-feedback-summary"
          with:
            category: "{{category}}"
            date_range: "{{date_range}}"
  consumes:
    - type: http
      namespace: zendesk
      baseUri: "https://nba.zendesk.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.zendesk_token"
      resources:
        - name: tickets
          path: "/search.json?query=type:ticket+tags:{{category}}+created>{{date_range}}"
          inputParameters:
            - name: category
              in: query
            - name: date_range
              in: query
          operations:
            - name: get-feedback-summary
              method: GET

Retrieves a fan support ticket from Zendesk by ticket ID, returning status, priority, and assigned agent.

naftiko: "0.5"
info:
  label: "Zendesk Support Ticket Lookup"
  description: "Retrieves a fan support ticket from Zendesk by ticket ID, returning status, priority, and assigned agent."
  tags:
    - fan-support
    - zendesk
capability:
  exposes:
    - type: mcp
      namespace: fan-support
      port: 8080
      tools:
        - name: get-support-ticket
          description: "Look up a Zendesk support ticket by ticket ID."
          inputParameters:
            - name: ticket_id
              in: body
              type: string
              description: "The Zendesk ticket ID."
          call: "zendesk.get-ticket"
          with:
            ticket_id: "{{ticket_id}}"
  consumes:
    - type: http
      namespace: zendesk
      baseUri: "https://nba.zendesk.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.zendesk_token"
      resources:
        - name: tickets
          path: "/tickets/{{ticket_id}}"
          inputParameters:
            - name: ticket_id
              in: path
          operations:
            - name: get-ticket
              method: GET