National Basketball Association Capabilities
Naftiko 0.5 capability definitions for National Basketball Association - 100 capabilities showing integration workflows and service orchestrations.
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