Nasdaq Capabilities

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

Sort
Expand

Processes AML alerts by pulling transaction patterns from Snowflake, checking entity details in Salesforce, creating a ServiceNow case, and escalating to the compliance team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Anti-Money Laundering Alert Pipeline"
  description: "Processes AML alerts by pulling transaction patterns from Snowflake, checking entity details in Salesforce, creating a ServiceNow case, and escalating to the compliance team via Microsoft Teams."
  tags:
    - compliance
    - aml
    - snowflake
    - salesforce
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: aml-alerts
      port: 8080
      tools:
        - name: process-aml-alert
          description: "Given an alert ID, investigate the AML alert and escalate."
          inputParameters:
            - name: alert_id
              in: body
              type: string
              description: "The AML alert ID."
            - name: entity_id
              in: body
              type: string
              description: "The entity under investigation."
          steps:
            - name: pull-transactions
              type: call
              call: "snowflake.execute-query"
              with:
                alert_id: "{{alert_id}}"
                entity_id: "{{entity_id}}"
            - name: get-entity-info
              type: call
              call: "salesforce.get-entity"
              with:
                entity_id: "{{entity_id}}"
            - name: create-case
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "AML investigation: Alert {{alert_id}} - {{get-entity-info.Name}}"
                category: "aml_compliance"
                description: "{{pull-transactions.rowCount}} suspicious transactions flagged."
            - name: escalate-compliance
              type: call
              call: "msteams.post-message"
              with:
                team_id: "compliance-team"
                channel_id: "aml-alerts"
                message: "AML alert {{alert_id}} for {{get-entity-info.Name}}: {{pull-transactions.rowCount}} transactions flagged. Case: {{create-case.number}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: entities
          path: "/query/?q=SELECT+Name,Entity_Type__c+FROM+Account+WHERE+Entity_ID__c='{{entity_id}}'"
          inputParameters:
            - name: entity_id
              in: query
          operations:
            - name: get-entity
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Triggers a deployment pipeline for the exchange platform in Azure DevOps and returns the deployment run status.

naftiko: "0.5"
info:
  label: "Azure DevOps Exchange Platform Deployment"
  description: "Triggers a deployment pipeline for the exchange platform in Azure DevOps and returns the deployment run status."
  tags:
    - ci-cd
    - exchange
    - azure-devops
capability:
  exposes:
    - type: mcp
      namespace: exchange-deployment
      port: 8080
      tools:
        - name: trigger-exchange-deploy
          description: "Trigger exchange platform deployment pipeline."
          inputParameters:
            - name: pipeline_id
              in: body
              type: string
              description: "The Azure DevOps pipeline ID."
            - name: environment
              in: body
              type: string
              description: "The target environment (staging, production)."
          call: "azuredevops.run-pipeline"
          with:
            pipeline_id: "{{pipeline_id}}"
            environment: "{{environment}}"
  consumes:
    - type: http
      namespace: azuredevops
      baseUri: "https://dev.azure.com/nasdaq"
      authentication:
        type: bearer
        token: "$secrets.azuredevops_token"
      resources:
        - name: pipelines
          path: "/exchange/_apis/pipelines/{{pipeline_id}}/runs?api-version=7.0"
          inputParameters:
            - name: pipeline_id
              in: path
          operations:
            - name: run-pipeline
              method: POST

Checks the latest build status for an Azure DevOps pipeline used by the exchange technology platform teams.

naftiko: "0.5"
info:
  label: "Azure DevOps Pipeline Status"
  description: "Checks the latest build status for an Azure DevOps pipeline used by the exchange technology platform teams."
  tags:
    - devops
    - azure-devops
capability:
  exposes:
    - type: mcp
      namespace: ci-cd
      port: 8080
      tools:
        - name: get-pipeline-status
          description: "Check the latest Azure DevOps build for a pipeline."
          inputParameters:
            - name: pipeline_id
              in: body
              type: string
              description: "The pipeline definition ID."
          call: "azuredevops.get-builds"
          with:
            pipeline_id: "{{pipeline_id}}"
  consumes:
    - type: http
      namespace: azuredevops
      baseUri: "https://dev.azure.com/nasdaq/ExchangePlatform/_apis/build"
      authentication:
        type: basic
        username: "$secrets.azdo_user"
        password: "$secrets.azdo_pat"
      resources:
        - name: builds
          path: "/builds?definitions={{pipeline_id}}&$top=1&api-version=7.0"
          inputParameters:
            - name: pipeline_id
              in: query
          operations:
            - name: get-builds
              method: GET

Retrieves market data from Bloomberg Enterprise Data for cross-listing reference data and competitive analysis.

naftiko: "0.5"
info:
  label: "Bloomberg Market Data Feed"
  description: "Retrieves market data from Bloomberg Enterprise Data for cross-listing reference data and competitive analysis."
  tags:
    - market-data
    - bloomberg-enterprise-data
capability:
  exposes:
    - type: mcp
      namespace: bloomberg-data
      port: 8080
      tools:
        - name: get-bloomberg-data
          description: "Fetch market data from Bloomberg by security identifier."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "The security identifier."
            - name: identifier_type
              in: body
              type: string
              description: "Type of identifier (ISIN, TICKER)."
          call: "bloomberg.get-pricing"
          with:
            identifier: "{{identifier}}"
            identifier_type: "{{identifier_type}}"
  consumes:
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/eap/catalogs/bbg/datasets"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: pricing
          path: "/pricing?identifier={{identifier}}&identifierType={{identifier_type}}"
          inputParameters:
            - name: identifier
              in: query
            - name: identifier_type
              in: query
          operations:
            - name: get-pricing
              method: GET

Retrieves reference data for a security from Bloomberg, including company name, sector, country, and market capitalization.

naftiko: "0.5"
info:
  label: "Bloomberg Reference Data Fetch"
  description: "Retrieves reference data for a security from Bloomberg, including company name, sector, country, and market capitalization."
  tags:
    - reference-data
    - bloomberg
capability:
  exposes:
    - type: mcp
      namespace: reference-data
      port: 8080
      tools:
        - name: get-reference-data
          description: "Fetch reference data by Bloomberg identifier."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "The Bloomberg identifier."
          call: "bloomberg.get-reference"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/eap/catalogs/bbg/datasets"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: reference
          path: "/reference?identifier={{identifier}}"
          inputParameters:
            - name: identifier
              in: query
          operations:
            - name: get-reference
              method: GET

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 1"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-1
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-1"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "salesforce.create-account"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-1
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 11"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-11
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 12"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-12
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-12"
              with:
                identifier: "{{identifier}}"
            - name: push
              type: call
              call: "datadog.submit-metrics"
              with:
                metric_name: "capital-markets.workflow_12"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 13"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-13
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-13"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "salesforce.create-account"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-13
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 14"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-14
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-14"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-14
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 15"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - slack
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-15
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-15"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#capital-markets"
                text: "Completed workflow 15: {{process.summary}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 17"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - powerbi
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-17
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 19"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - teams
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-19
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-19"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "teams.send-message"
              with:
                channel_id: "capital-markets"
                message: "Workflow 19 complete: {{process.summary}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 2"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-2
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-2"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-2
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 20"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-20
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-20
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://nasdaq-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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 21"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - box
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-21
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-21"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "box.upload-file"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 23"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-23
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 24"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-24
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-24"
              with:
                identifier: "{{identifier}}"
            - name: push
              type: call
              call: "datadog.submit-metrics"
              with:
                metric_name: "capital-markets.workflow_24"
                data: "{{process.metrics}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 25"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-25
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-25"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "salesforce.create-account"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-25
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 26"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-26
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-26"
              with:
                identifier: "{{identifier}}"
            - name: create
              type: call
              call: "servicenow.create-incident"
              with:
                data: "{{process.result}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-26
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 27"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - slack
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-27
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-27"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#capital-markets"
                text: "Completed workflow 27: {{process.summary}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 29"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - powerbi
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-29
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 3"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - slack
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-3
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-3"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "slack.post-message"
              with:
                channel: "#capital-markets"
                text: "Completed workflow 3: {{process.summary}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 31"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - teams
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-31
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-31"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "teams.send-message"
              with:
                channel_id: "capital-markets"
                message: "Workflow 31 complete: {{process.summary}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 32"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-32
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-32
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://nasdaq-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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 33"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - box
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-33
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-33"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "box.upload-file"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 35"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-35
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 5"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - powerbi
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-5
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

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

Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 7"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - teams
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-7
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-7"
              with:
                identifier: "{{identifier}}"
            - name: notify
              type: call
              call: "teams.send-message"
              with:
                channel_id: "capital-markets"
                message: "Workflow 7 complete: {{process.summary}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 8"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-8
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-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: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_api_token"
      resources:
        - name: operations
          path: "/operations"
          operations:
            - name: run-workflow-8
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://nasdaq-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 capital-markets operations including data retrieval, processing, and automated notification for Nasdaq.

naftiko: "0.5"
info:
  label: "Nasdaq Workflow 9"
  description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
  tags:
    - capital-markets
    - operations
    - box
capability:
  exposes:
    - type: mcp
      namespace: capital-markets
      port: 8080
      tools:
        - name: nasdaq-workflow-9
          description: "Orchestrates capital-markets operations including data retrieval, processing, and automated notification for Nasdaq."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Primary identifier for this workflow"
          steps:
            - name: process
              type: call
              call: "nasdaq-ops.run-workflow-9"
              with:
                identifier: "{{identifier}}"
            - name: upload
              type: call
              call: "box.upload-file"
              with:
                content: "{{process.document}}"
  consumes:
    - type: http
      namespace: nasdaq-ops
      baseUri: "https://api.nasdaq.com/operations/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 1"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-1
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-1"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 10"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-10
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-10"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 11"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-11
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-11"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 12"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-12
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-12"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 13"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-13
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-13"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 14"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-14
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-14"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 15"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-15
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-15"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 2"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-2
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-2"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 3"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-3
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-3"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 4"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-4
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-4"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 5"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-5
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-5"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 6"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-6
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-6"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 7"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-7
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-7"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

naftiko: "0.5"
info:
  label: "Nasdaq Data Lookup 8"
  description: "Retrieves operational data for Nasdaq capital-markets workflows."
  tags:
    - capital-markets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: nasdaq-data
      port: 8080
      tools:
        - name: get-data-8
          description: "Retrieves operational data for Nasdaq capital-markets workflows."
          inputParameters:
            - name: identifier
              in: body
              type: string
              description: "Resource identifier"
          call: "nasdaq-data.get-data-8"
          with:
            identifier: "{{identifier}}"
  consumes:
    - type: http
      namespace: nasdaq-data
      baseUri: "https://api.nasdaq.com/data/v1"
      authentication:
        type: bearer
        token: "$secrets.nasdaq_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 Nasdaq capital-markets workflows.

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

Provisions a new SaaS product subscription for a client by creating the subscription in Salesforce, setting up access in Snowflake, configuring monitoring in Datadog, and sending welcome credentials via Microsoft Outlook.

naftiko: "0.5"
info:
  label: "Client SaaS Product Provisioning"
  description: "Provisions a new SaaS product subscription for a client by creating the subscription in Salesforce, setting up access in Snowflake, configuring monitoring in Datadog, and sending welcome credentials via Microsoft Outlook."
  tags:
    - market-data
    - client-onboarding
    - salesforce
    - snowflake
    - datadog
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: saas-provisioning
      port: 8080
      tools:
        - name: provision-saas-product
          description: "Given client and product details, provision full SaaS access."
          inputParameters:
            - name: client_id
              in: body
              type: string
              description: "The client account ID."
            - name: product_name
              in: body
              type: string
              description: "The SaaS product name."
            - name: contact_email
              in: body
              type: string
              description: "The client contact email."
          steps:
            - name: create-subscription
              type: call
              call: "salesforce.create-subscription"
              with:
                client_id: "{{client_id}}"
                product: "{{product_name}}"
            - name: provision-data-access
              type: call
              call: "snowflake.execute-query"
              with:
                client_id: "{{client_id}}"
                product: "{{product_name}}"
            - name: setup-monitoring
              type: call
              call: "datadog.create-monitor"
              with:
                client_id: "{{client_id}}"
                product: "{{product_name}}"
            - name: send-credentials
              type: call
              call: "outlook.send-mail"
              with:
                recipient: "{{contact_email}}"
                subject: "Nasdaq {{product_name}} - Access Provisioned"
                body: "Your {{product_name}} subscription is active. Subscription: {{create-subscription.id}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: subscriptions
          path: "/sobjects/Subscription__c"
          operations:
            - name: create-subscription
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: monitors
          path: "/monitor"
          operations:
            - name: create-monitor
              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/onboarding@nasdaq.com/sendMail"
          operations:
            - name: send-mail
              method: POST

Retrieves corporate actions events from Snowflake for a security, including dividends, splits, mergers, and spin-offs.

naftiko: "0.5"
info:
  label: "Corporate Actions Event Lookup"
  description: "Retrieves corporate actions events from Snowflake for a security, including dividends, splits, mergers, and spin-offs."
  tags:
    - corporate-actions
    - market-data
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: corporate-actions
      port: 8080
      tools:
        - name: get-corporate-actions
          description: "Look up corporate actions for a security by ticker and date range."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The security ticker symbol."
            - name: start_date
              in: body
              type: string
              description: "Start date in YYYY-MM-DD format."
          call: "snowflake.get-corporate-actions"
          with:
            ticker: "{{ticker}}"
            start_date: "{{start_date}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-corporate-actions
              method: POST

Retrieves infrastructure metrics from Datadog for trading platform monitoring including latency, throughput, and error rates.

naftiko: "0.5"
info:
  label: "Datadog Infrastructure Metrics"
  description: "Retrieves infrastructure metrics from Datadog for trading platform monitoring including latency, throughput, and error rates."
  tags:
    - monitoring
    - datadog
    - trading
capability:
  exposes:
    - type: mcp
      namespace: infra-metrics
      port: 8080
      tools:
        - name: get-metrics
          description: "Query Datadog for infrastructure metrics."
          inputParameters:
            - name: metric_name
              in: body
              type: string
              description: "The Datadog metric name."
            - name: from_ts
              in: body
              type: string
              description: "Start timestamp (epoch seconds)."
            - name: to_ts
              in: body
              type: string
              description: "End timestamp (epoch seconds)."
          call: "datadog.query-metrics"
          with:
            metric_name: "{{metric_name}}"
            from_ts: "{{from_ts}}"
            to_ts: "{{to_ts}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query?query={{metric_name}}&from={{from_ts}}&to={{to_ts}}"
          inputParameters:
            - name: metric_name
              in: query
            - name: from_ts
              in: query
            - name: to_ts
              in: query
          operations:
            - name: query-metrics
              method: GET

Retrieves trading system latency metrics from Datadog, returning P50, P95, and P99 latencies for the matching engine and gateway.

naftiko: "0.5"
info:
  label: "Datadog Trading Latency Monitoring"
  description: "Retrieves trading system latency metrics from Datadog, returning P50, P95, and P99 latencies for the matching engine and gateway."
  tags:
    - monitoring
    - trading
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: trading-latency
      port: 8080
      tools:
        - name: get-trading-latency
          description: "Retrieve trading latency metrics from Datadog by service."
          inputParameters:
            - name: service_name
              in: body
              type: string
              description: "The trading service name."
          call: "datadog.get-latency"
          with:
            service_name: "{{service_name}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apikey
        header: "DD-API-KEY"
        key: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query?query=avg:trace.http.request.duration{service:{{service_name}}}"
          inputParameters:
            - name: service_name
              in: query
          operations:
            - name: get-latency
              method: GET

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

naftiko: "0.5"
info:
  label: "Employee Onboarding Orchestrator"
  description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
  tags:
    - hr
    - onboarding
    - workday
    - servicenow
    - 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 the full onboarding sequence."
          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-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "New hire onboarding: {{get-employee.full_name}}"
                category: "hr_onboarding"
                assigned_group: "IT_Onboarding"
                description: "Onboarding for {{get-employee.full_name}} starting {{start_date}} in {{department}}."
            - name: provision-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "hr_onboarding_site"
                folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
            - name: send-welcome
              type: call
              call: "msteams.post-message"
              with:
                team_id: "hr-team"
                channel_id: "new-hires"
                message: "Welcome to Nasdaq, {{get-employee.first_name}}! Onboarding ticket: {{open-ticket.number}}. 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: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: 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

Calculates listing fees for an ETF by pulling fund details from Salesforce and applying the fee schedule from Snowflake, returning annual listing fee and tier classification.

naftiko: "0.5"
info:
  label: "ETF Listing Fee Calculator"
  description: "Calculates listing fees for an ETF by pulling fund details from Salesforce and applying the fee schedule from Snowflake, returning annual listing fee and tier classification."
  tags:
    - listing
    - etf
    - salesforce
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: etf-fees
      port: 8080
      tools:
        - name: calculate-etf-fee
          description: "Given a fund ticker, calculate the ETF listing fee."
          inputParameters:
            - name: fund_ticker
              in: body
              type: string
              description: "The ETF fund ticker."
          steps:
            - name: get-fund-details
              type: call
              call: "salesforce.get-fund"
              with:
                fund_ticker: "{{fund_ticker}}"
            - name: calculate-fee
              type: call
              call: "snowflake.execute-query"
              with:
                aum: "{{get-fund-details.AUM__c}}"
                fund_ticker: "{{fund_ticker}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: funds
          path: "/query/?q=SELECT+AUM__c,Share_Count__c,Fund_Name__c+FROM+ETF__c+WHERE+Ticker__c='{{fund_ticker}}'"
          inputParameters:
            - name: fund_ticker
              in: query
          operations:
            - name: get-fund
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST

Retrieves exchange membership details from Salesforce by member firm ID, returning membership type, trading permissions, sponsored access status, and annual fee.

naftiko: "0.5"
info:
  label: "Exchange Membership Lookup"
  description: "Retrieves exchange membership details from Salesforce by member firm ID, returning membership type, trading permissions, sponsored access status, and annual fee."
  tags:
    - membership
    - exchange
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: exchange-membership
      port: 8080
      tools:
        - name: get-membership-details
          description: "Look up exchange membership by member firm ID."
          inputParameters:
            - name: firm_id
              in: body
              type: string
              description: "The member firm identifier."
          call: "salesforce.get-membership"
          with:
            firm_id: "{{firm_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: memberships
          path: "/query/?q=SELECT+Membership_Type__c,Trading_Permissions__c,Sponsored_Access__c,Annual_Fee__c+FROM+Member_Firm__c+WHERE+Firm_ID__c='{{firm_id}}'"
          inputParameters:
            - name: firm_id
              in: query
          operations:
            - name: get-membership
              method: GET

Analyzes fintech SaaS client usage by querying usage data from Snowflake, pulling subscription data from Salesforce, refreshing Power BI dashboards, and notifying account managers via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Fintech SaaS Client Usage Analytics"
  description: "Analyzes fintech SaaS client usage by querying usage data from Snowflake, pulling subscription data from Salesforce, refreshing Power BI dashboards, and notifying account managers via Microsoft Teams."
  tags:
    - market-data
    - analytics
    - snowflake
    - salesforce
    - power-bi
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: client-usage
      port: 8080
      tools:
        - name: analyze-client-usage
          description: "Given a client ID and period, analyze their SaaS product usage."
          inputParameters:
            - name: client_id
              in: body
              type: string
              description: "The client account ID."
            - name: period
              in: body
              type: string
              description: "The analysis period."
          steps:
            - name: query-usage
              type: call
              call: "snowflake.execute-query"
              with:
                client_id: "{{client_id}}"
                period: "{{period}}"
            - name: get-subscription
              type: call
              call: "salesforce.get-subscription"
              with:
                client_id: "{{client_id}}"
            - name: refresh-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "client-usage-dataset"
            - name: notify-account-mgr
              type: call
              call: "msteams.post-message"
              with:
                team_id: "account-management"
                channel_id: "usage-reports"
                message: "Client {{client_id}} usage report ({{period}}): {{query-usage.api_calls}} API calls. Subscription: {{get-subscription.Product__c}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: subscriptions
          path: "/query/?q=SELECT+Product__c,Tier__c+FROM+Subscription__c+WHERE+Account_ID__c='{{client_id}}'"
          inputParameters:
            - name: client_id
              in: query
          operations:
            - name: get-subscription
              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: 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 current composition of a Nasdaq index from Snowflake, returning constituent tickers, weights, and sector classifications.

naftiko: "0.5"
info:
  label: "Index Composition Lookup"
  description: "Retrieves the current composition of a Nasdaq index from Snowflake, returning constituent tickers, weights, and sector classifications."
  tags:
    - indices
    - market-data
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: index-composition
      port: 8080
      tools:
        - name: get-index-composition
          description: "Look up index constituents by index name."
          inputParameters:
            - name: index_name
              in: body
              type: string
              description: "The index name (e.g., NASDAQ-100, NASDAQ Composite)."
          call: "snowflake.get-index-composition"
          with:
            index_name: "{{index_name}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-index-composition
              method: POST

Orchestrates a new IPO listing by creating the listing record in Salesforce, provisioning market data feeds in Snowflake, setting up surveillance rules, uploading regulatory docs to SharePoint, and notifying the listings team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "IPO Listing Orchestrator"
  description: "Orchestrates a new IPO listing by creating the listing record in Salesforce, provisioning market data feeds in Snowflake, setting up surveillance rules, uploading regulatory docs to SharePoint, and notifying the listings team via Microsoft Teams."
  tags:
    - listing
    - ipo
    - salesforce
    - snowflake
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: ipo-listing
      port: 8080
      tools:
        - name: process-ipo-listing
          description: "Given company and listing details, orchestrate the full IPO listing setup."
          inputParameters:
            - name: company_name
              in: body
              type: string
              description: "The company name."
            - name: ticker_symbol
              in: body
              type: string
              description: "The assigned ticker symbol."
            - name: listing_date
              in: body
              type: string
              description: "The listing date in YYYY-MM-DD format."
            - name: offering_price
              in: body
              type: string
              description: "The IPO offering price."
          steps:
            - name: create-listing-record
              type: call
              call: "salesforce.create-listing"
              with:
                company_name: "{{company_name}}"
                ticker: "{{ticker_symbol}}"
                listing_date: "{{listing_date}}"
                price: "{{offering_price}}"
            - name: provision-data-feeds
              type: call
              call: "snowflake.execute-query"
              with:
                ticker: "{{ticker_symbol}}"
                listing_date: "{{listing_date}}"
            - name: upload-docs
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "listings_site"
                folder_path: "IPOs/{{ticker_symbol}}_{{listing_date}}"
            - name: notify-listings-team
              type: call
              call: "msteams.post-message"
              with:
                team_id: "listings-team"
                channel_id: "new-listings"
                message: "IPO listing processed: {{company_name}} ({{ticker_symbol}}) on {{listing_date}} at ${{offering_price}}. Salesforce: {{create-listing-record.id}}. Docs: {{upload-docs.webUrl}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: listings
          path: "/sobjects/Listing__c"
          operations:
            - name: create-listing
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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: 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

Queries historical IPO pricing data from Snowflake by sector and year, returning offering prices, first-day closes, and underwriter details.

naftiko: "0.5"
info:
  label: "IPO Pricing History Query"
  description: "Queries historical IPO pricing data from Snowflake by sector and year, returning offering prices, first-day closes, and underwriter details."
  tags:
    - ipo
    - analytics
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: ipo-history
      port: 8080
      tools:
        - name: get-ipo-history
          description: "Query IPO pricing history by sector and year."
          inputParameters:
            - name: sector
              in: body
              type: string
              description: "The industry sector."
            - name: year
              in: body
              type: string
              description: "The year."
          call: "snowflake.get-ipo-history"
          with:
            sector: "{{sector}}"
            year: "{{year}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-ipo-history
              method: POST

Creates an IT change request in ServiceNow for exchange platform changes, links Confluence documentation, creates a Jira implementation task, and notifies the change advisory board.

naftiko: "0.5"
info:
  label: "IT Change Request Pipeline"
  description: "Creates an IT change request in ServiceNow for exchange platform changes, links Confluence documentation, creates a Jira implementation task, and notifies the change advisory board."
  tags:
    - it-service
    - change-management
    - servicenow
    - confluence
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: change-management
      port: 8080
      tools:
        - name: submit-change-request
          description: "Given change details, create records and notify the CAB."
          inputParameters:
            - name: change_summary
              in: body
              type: string
              description: "Summary of the change."
            - name: change_type
              in: body
              type: string
              description: "Type of change."
            - name: doc_page_id
              in: body
              type: string
              description: "Confluence page ID."
          steps:
            - name: create-change
              type: call
              call: "servicenow.create-change"
              with:
                short_description: "{{change_summary}}"
                type: "{{change_type}}"
            - name: get-doc
              type: call
              call: "confluence.get-page"
              with:
                page_id: "{{doc_page_id}}"
            - name: create-task
              type: call
              call: "jira.create-issue"
              with:
                project_key: "PLAT"
                summary: "Implement: {{change_summary}}"
                description: "Change: {{create-change.number}}. Docs: {{get-doc._links.webui}}."
                issue_type: "Task"
            - name: notify-cab
              type: call
              call: "msteams.post-message"
              with:
                team_id: "platform-ops-team"
                channel_id: "change-advisory"
                message: "Change request {{create-change.number}}: {{change_summary}}. Type: {{change_type}}. Jira: {{create-task.key}}."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: changes
          path: "/table/change_request"
          operations:
            - name: create-change
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://nasdaq.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: pages
          path: "/content/{{page_id}}"
          inputParameters:
            - name: page_id
              in: path
          operations:
            - name: get-page
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://nasdaq.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              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 status of exchange platform enhancement requests from Jira by project and sprint, returning issue summaries, priorities, and assignees.

naftiko: "0.5"
info:
  label: "Jira Exchange Enhancement Tracker"
  description: "Retrieves the status of exchange platform enhancement requests from Jira by project and sprint, returning issue summaries, priorities, and assignees."
  tags:
    - project-management
    - exchange
    - jira
capability:
  exposes:
    - type: mcp
      namespace: exchange-enhancements
      port: 8080
      tools:
        - name: get-enhancement-status
          description: "Look up exchange enhancement issues by project and sprint."
          inputParameters:
            - name: project_key
              in: body
              type: string
              description: "The Jira project key."
            - name: sprint_name
              in: body
              type: string
              description: "The sprint name."
          call: "jira.search-issues"
          with:
            project_key: "{{project_key}}"
            sprint_name: "{{sprint_name}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://nasdaq.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: search
          path: "/search?jql=project={{project_key}}+AND+sprint='{{sprint_name}}'"
          inputParameters:
            - name: project_key
              in: query
            - name: sprint_name
              in: query
          operations:
            - name: search-issues
              method: GET

Retrieves a Jira issue by key for technology platform and exchange operations project tracking.

naftiko: "0.5"
info:
  label: "Jira Issue Lookup"
  description: "Retrieves a Jira issue by key for technology platform and exchange operations project tracking."
  tags:
    - project-management
    - jira
capability:
  exposes:
    - type: mcp
      namespace: project-tracking
      port: 8080
      tools:
        - name: get-jira-issue
          description: "Look up a Jira issue by key."
          inputParameters:
            - name: issue_key
              in: body
              type: string
              description: "The Jira issue key."
          call: "jira.get-issue"
          with:
            issue_key: "{{issue_key}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://nasdaq.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue/{{issue_key}}"
          inputParameters:
            - name: issue_key
              in: path
          operations:
            - name: get-issue
              method: GET

Checks the status of a company's listing application in Salesforce, returning application state, review stage, and assigned analyst.

naftiko: "0.5"
info:
  label: "Listing Application Status"
  description: "Checks the status of a company's listing application in Salesforce, returning application state, review stage, and assigned analyst."
  tags:
    - listing
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: listing-services
      port: 8080
      tools:
        - name: get-listing-status
          description: "Look up a listing application by application ID."
          inputParameters:
            - name: application_id
              in: body
              type: string
              description: "The listing application ID."
          call: "salesforce.get-application"
          with:
            application_id: "{{application_id}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.records[0].Application_Status__c"
            - name: review_stage
              type: string
              mapping: "$.records[0].Review_Stage__c"
            - name: assigned_analyst
              type: string
              mapping: "$.records[0].Assigned_Analyst__c"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: applications
          path: "/query/?q=SELECT+Application_Status__c,Review_Stage__c,Assigned_Analyst__c+FROM+Listing_Application__c+WHERE+Application_ID__c='{{application_id}}'"
          inputParameters:
            - name: application_id
              in: query
          operations:
            - name: get-application
              method: GET

Reviews listed company compliance by pulling financial data from Snowflake, checking listing standards in Salesforce, creating a compliance review case in ServiceNow, and notifying the listings qualifications team.

naftiko: "0.5"
info:
  label: "Listing Compliance Review Pipeline"
  description: "Reviews listed company compliance by pulling financial data from Snowflake, checking listing standards in Salesforce, creating a compliance review case in ServiceNow, and notifying the listings qualifications team."
  tags:
    - listing
    - compliance
    - snowflake
    - salesforce
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: listing-compliance
      port: 8080
      tools:
        - name: review-listing-compliance
          description: "Given a listed company ticker, review compliance with listing standards."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The listed company ticker."
            - name: review_type
              in: body
              type: string
              description: "Type of review (annual, bid_price, market_cap)."
          steps:
            - name: pull-financial-data
              type: call
              call: "snowflake.execute-query"
              with:
                ticker: "{{ticker}}"
                review_type: "{{review_type}}"
            - name: check-listing-standards
              type: call
              call: "salesforce.get-listing-record"
              with:
                ticker: "{{ticker}}"
            - name: create-review-case
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Listing compliance: {{ticker}} - {{review_type}}"
                category: "listing_compliance"
                description: "{{review_type}} review for {{ticker}}. Market cap: {{pull-financial-data.market_cap}}. Bid price: {{pull-financial-data.bid_price}}."
            - name: notify-qualifications
              type: call
              call: "msteams.post-message"
              with:
                team_id: "listings-team"
                channel_id: "compliance-reviews"
                message: "Listing compliance review: {{ticker}} ({{review_type}}). Case: {{create-review-case.number}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: listing-records
          path: "/query/?q=SELECT+Listing_Status__c,Standards_Met__c+FROM+Listing__c+WHERE+Ticker__c='{{ticker}}'"
          inputParameters:
            - name: ticker
              in: query
          operations:
            - name: get-listing-record
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Checks a listed company's compliance with Nasdaq listing standards by querying financial metrics from Snowflake and returning compliance status for each requirement.

naftiko: "0.5"
info:
  label: "Listing Standards Compliance Check"
  description: "Checks a listed company's compliance with Nasdaq listing standards by querying financial metrics from Snowflake and returning compliance status for each requirement."
  tags:
    - listing
    - compliance
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: listing-compliance
      port: 8080
      tools:
        - name: check-listing-compliance
          description: "Check listing standards compliance by company ticker."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The listed company ticker."
          call: "snowflake.check-compliance"
          with:
            ticker: "{{ticker}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: check-compliance
              method: POST

Generates market analytics reports by querying trading data from Snowflake, enriching with Bloomberg reference data, refreshing Power BI dashboards, uploading to SharePoint, and notifying the analytics team.

naftiko: "0.5"
info:
  label: "Market Analytics Report Pipeline"
  description: "Generates market analytics reports by querying trading data from Snowflake, enriching with Bloomberg reference data, refreshing Power BI dashboards, uploading to SharePoint, and notifying the analytics team."
  tags:
    - market-data
    - analytics
    - snowflake
    - bloomberg-enterprise-data
    - power-bi
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: market-analytics
      port: 8080
      tools:
        - name: generate-market-analytics
          description: "Given a market segment and period, generate comprehensive market analytics."
          inputParameters:
            - name: market_segment
              in: body
              type: string
              description: "The market segment (equities, options, fixed_income)."
            - name: period
              in: body
              type: string
              description: "The analysis period."
          steps:
            - name: query-trading-data
              type: call
              call: "snowflake.execute-query"
              with:
                segment: "{{market_segment}}"
                period: "{{period}}"
            - name: enrich-with-reference
              type: call
              call: "bloomberg.get-pricing"
              with:
                identifier: "{{market_segment}}"
                identifier_type: "SEGMENT"
            - name: refresh-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "market-analytics-dataset"
            - name: upload-report
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "analytics_site"
                folder_path: "MarketAnalytics/{{market_segment}}/{{period}}"
            - name: notify-analytics
              type: call
              call: "msteams.post-message"
              with:
                team_id: "analytics-team"
                channel_id: "market-reports"
                message: "Market analytics for {{market_segment}} ({{period}}) complete. {{query-trading-data.rowCount}} data points. Report: {{upload-report.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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: bloomberg
      baseUri: "https://api.bloomberg.com/eap/catalogs/bbg/datasets"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: pricing
          path: "/pricing"
          operations:
            - name: get-pricing
              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

Provisions market data API keys for new fintech clients by creating credentials in Snowflake, logging the provisioning in Salesforce, and notifying the integrations team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Market Data API Key Provisioning"
  description: "Provisions market data API keys for new fintech clients by creating credentials in Snowflake, logging the provisioning in Salesforce, and notifying the integrations team via Microsoft Teams."
  tags:
    - fintech
    - provisioning
    - snowflake
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: api-provisioning
      port: 8080
      tools:
        - name: provision-api-key
          description: "Given a client ID and product tier, provision market data API access."
          inputParameters:
            - name: client_id
              in: body
              type: string
              description: "The client account ID."
            - name: product_tier
              in: body
              type: string
              description: "The product tier (basic, professional, enterprise)."
          steps:
            - name: create-credentials
              type: call
              call: "snowflake.execute-query"
              with:
                client_id: "{{client_id}}"
                tier: "{{product_tier}}"
            - name: log-provisioning
              type: call
              call: "salesforce.create-provisioning-log"
              with:
                client_id: "{{client_id}}"
                tier: "{{product_tier}}"
            - name: notify-integrations
              type: call
              call: "msteams.post-message"
              with:
                team_id: "integrations-team"
                channel_id: "provisioning"
                message: "API key provisioned for client {{client_id}} ({{product_tier}} tier)."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: provisioning-logs
          path: "/sobjects/Provisioning_Log__c"
          operations:
            - name: create-provisioning-log
              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

Delivers market data products to clients by extracting data from Snowflake, logging delivery in Salesforce, creating a ServiceNow ticket for tracking, and notifying the data services team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Market Data Product Delivery Pipeline"
  description: "Delivers market data products to clients by extracting data from Snowflake, logging delivery in Salesforce, creating a ServiceNow ticket for tracking, and notifying the data services team via Microsoft Teams."
  tags:
    - market-data
    - data-delivery
    - snowflake
    - salesforce
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: data-product-delivery
      port: 8080
      tools:
        - name: deliver-market-data
          description: "Given a client and data product, extract and deliver the market data feed."
          inputParameters:
            - name: client_id
              in: body
              type: string
              description: "The client account ID."
            - name: data_product
              in: body
              type: string
              description: "The data product name."
            - name: delivery_date
              in: body
              type: string
              description: "Delivery date."
          steps:
            - name: extract-data
              type: call
              call: "snowflake.execute-query"
              with:
                client_id: "{{client_id}}"
                product: "{{data_product}}"
                date: "{{delivery_date}}"
            - name: log-delivery
              type: call
              call: "salesforce.create-delivery-log"
              with:
                client_id: "{{client_id}}"
                product: "{{data_product}}"
                records: "{{extract-data.rowCount}}"
            - name: create-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Data delivery: {{data_product}} for {{client_id}}"
                category: "data_delivery"
                description: "Delivered {{extract-data.rowCount}} records of {{data_product}} to {{client_id}}."
            - name: notify-team
              type: call
              call: "msteams.post-message"
              with:
                team_id: "data-services-team"
                channel_id: "deliveries"
                message: "Market data delivered: {{data_product}} to {{client_id}}. {{extract-data.rowCount}} records. Ticket: {{create-ticket.number}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: delivery-logs
          path: "/sobjects/Data_Delivery__c"
          operations:
            - name: create-delivery-log
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Retrieves real-time market data for a security by ticker symbol, returning last price, bid/ask, volume, and market cap.

naftiko: "0.5"
info:
  label: "Market Data Quote Lookup"
  description: "Retrieves real-time market data for a security by ticker symbol, returning last price, bid/ask, volume, and market cap."
  tags:
    - market-data
    - trading
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: market-data
      port: 8080
      tools:
        - name: get-market-quote
          description: "Look up real-time market data for a security by ticker symbol."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The security ticker symbol."
          call: "snowflake.get-quote"
          with:
            ticker: "{{ticker}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-quote
              method: POST

Coordinates market trading halts by updating halt status in Snowflake, notifying listed companies via Salesforce, creating a ServiceNow incident for tracking, distributing halt notices via Bloomberg, and alerting all teams via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Market Halt Coordination Pipeline"
  description: "Coordinates market trading halts by updating halt status in Snowflake, notifying listed companies via Salesforce, creating a ServiceNow incident for tracking, distributing halt notices via Bloomberg, and alerting all teams via Microsoft Teams."
  tags:
    - trading
    - market-halt
    - snowflake
    - salesforce
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: market-halts
      port: 8080
      tools:
        - name: coordinate-market-halt
          description: "Given a ticker and halt reason, coordinate the full market halt process."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The ticker to halt."
            - name: halt_reason
              in: body
              type: string
              description: "Reason for the halt (news_pending, regulatory, volatility)."
            - name: halt_time
              in: body
              type: string
              description: "Halt time in ISO 8601 format."
          steps:
            - name: update-halt-status
              type: call
              call: "snowflake.execute-query"
              with:
                ticker: "{{ticker}}"
                halt_reason: "{{halt_reason}}"
                halt_time: "{{halt_time}}"
            - name: notify-issuer
              type: call
              call: "salesforce.create-halt-notification"
              with:
                ticker: "{{ticker}}"
                halt_reason: "{{halt_reason}}"
            - name: create-tracking-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Market halt: {{ticker}} - {{halt_reason}}"
                category: "market_operations"
                priority: "1"
                description: "Trading halt for {{ticker}} at {{halt_time}}. Reason: {{halt_reason}}."
            - name: alert-all-teams
              type: call
              call: "msteams.post-message"
              with:
                team_id: "market-ops-team"
                channel_id: "trading-halts"
                message: "TRADING HALT: {{ticker}} halted at {{halt_time}}. Reason: {{halt_reason}}. Incident: {{create-tracking-incident.number}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: halt-notifications
          path: "/sobjects/Halt_Notification__c"
          operations:
            - name: create-halt-notification
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Generates a market maker performance report by pulling quoting statistics from Snowflake, creating a Jira review task, and notifying the market quality team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Market Maker Performance Report"
  description: "Generates a market maker performance report by pulling quoting statistics from Snowflake, creating a Jira review task, and notifying the market quality team via Microsoft Teams."
  tags:
    - market-quality
    - market-maker
    - snowflake
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: market-maker-performance
      port: 8080
      tools:
        - name: generate-mm-report
          description: "Given a market maker ID and period, generate their performance report."
          inputParameters:
            - name: mm_id
              in: body
              type: string
              description: "The market maker identifier."
            - name: period
              in: body
              type: string
              description: "The reporting period."
          steps:
            - name: pull-performance-data
              type: call
              call: "snowflake.execute-query"
              with:
                mm_id: "{{mm_id}}"
                period: "{{period}}"
            - name: create-review-task
              type: call
              call: "jira.create-issue"
              with:
                project: "MKTQUAL"
                summary: "MM performance review: {{mm_id}} ({{period}})"
                issue_type: "Task"
            - name: notify-team
              type: call
              call: "msteams.post-message"
              with:
                team_id: "market-quality-team"
                channel_id: "reports"
                message: "Market maker {{mm_id}} performance report ({{period}}): Quoting time {{pull-performance-data.time_at_best_pct}}%. Review: {{create-review-task.key}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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: jira
      baseUri: "https://nasdaq.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              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

Sends a formatted notification to a Microsoft Teams channel for exchange operations and technology teams.

naftiko: "0.5"
info:
  label: "Microsoft Teams Channel Notification"
  description: "Sends a formatted notification to a Microsoft Teams channel for exchange operations and technology teams."
  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

Queries ESG data products from Snowflake for a company, returning ESG scores, controversy flags, and carbon disclosure metrics.

naftiko: "0.5"
info:
  label: "Nasdaq ESG Data Product Query"
  description: "Queries ESG data products from Snowflake for a company, returning ESG scores, controversy flags, and carbon disclosure metrics."
  tags:
    - esg
    - data-product
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: esg-data
      port: 8080
      tools:
        - name: get-esg-data
          description: "Retrieve ESG data product scores by company ticker."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The company ticker symbol."
          call: "snowflake.get-esg-scores"
          with:
            ticker: "{{ticker}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-esg-scores
              method: POST

Retrieves private market deal information from Salesforce by deal ID, returning company name, valuation, deal stage, and investor details.

naftiko: "0.5"
info:
  label: "Nasdaq Private Market Deal Lookup"
  description: "Retrieves private market deal information from Salesforce by deal ID, returning company name, valuation, deal stage, and investor details."
  tags:
    - private-market
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: private-market
      port: 8080
      tools:
        - name: get-private-deal
          description: "Look up private market deal by deal ID."
          inputParameters:
            - name: deal_id
              in: body
              type: string
              description: "The private market deal ID."
          call: "salesforce.get-private-deal"
          with:
            deal_id: "{{deal_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://nasdaq.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: private-deals
          path: "/query/?q=SELECT+Company_Name__c,Valuation__c,Stage__c,Lead_Investor__c+FROM+Private_Deal__c+WHERE+Deal_ID__c='{{deal_id}}'"
          inputParameters:
            - name: deal_id
              in: query
          operations:
            - name: get-private-deal
              method: GET

Retrieves real-time order book depth for a security from Snowflake, returning top-of-book bid/ask levels, depth at each price level, and aggregate volume.

naftiko: "0.5"
info:
  label: "Order Book Depth Lookup"
  description: "Retrieves real-time order book depth for a security from Snowflake, returning top-of-book bid/ask levels, depth at each price level, and aggregate volume."
  tags:
    - market-data
    - order-book
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: order-book
      port: 8080
      tools:
        - name: get-order-book
          description: "Look up order book depth by ticker symbol."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The security ticker symbol."
          call: "snowflake.get-order-book"
          with:
            ticker: "{{ticker}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-order-book
              method: POST

Triggers a dataset refresh in Power BI for trading analytics, surveillance, and market operations dashboards.

naftiko: "0.5"
info:
  label: "Power BI Dashboard Refresh"
  description: "Triggers a dataset refresh in Power BI for trading analytics, surveillance, and market operations dashboards."
  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

Triggers a refresh of the market analytics Power BI dataset and returns the refresh job status.

naftiko: "0.5"
info:
  label: "Power BI Market Analytics Refresh"
  description: "Triggers a refresh of the market analytics Power BI dataset and returns the refresh job status."
  tags:
    - analytics
    - dashboard
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: market-analytics-dashboard
      port: 8080
      tools:
        - name: refresh-market-analytics
          description: "Trigger a Power BI market analytics dataset refresh."
          inputParameters:
            - name: dataset_id
              in: body
              type: string
              description: "The Power BI dataset ID."
          call: "powerbi.refresh-market-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-market-dataset
              method: POST

Prepares SEC regulatory filings by extracting compliance data from Snowflake, generating filing documents in SharePoint, creating a review task in Jira, and notifying the compliance team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Regulatory Filing Preparation Pipeline"
  description: "Prepares SEC regulatory filings by extracting compliance data from Snowflake, generating filing documents in SharePoint, creating a review task in Jira, and notifying the compliance team via Microsoft Teams."
  tags:
    - compliance
    - regulatory
    - snowflake
    - sharepoint
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: regulatory-filing
      port: 8080
      tools:
        - name: prepare-regulatory-filing
          description: "Given a filing type and period, compile data, generate documents, and route for review."
          inputParameters:
            - name: filing_type
              in: body
              type: string
              description: "The regulatory filing type (e.g., Form_ATS, Rule_606, annual_report)."
            - name: reporting_period
              in: body
              type: string
              description: "The reporting period."
          steps:
            - name: extract-data
              type: call
              call: "snowflake.execute-query"
              with:
                filing_type: "{{filing_type}}"
                period: "{{reporting_period}}"
            - name: create-docs
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "regulatory_site"
                folder_path: "Filings/{{filing_type}}/{{reporting_period}}"
            - name: create-review
              type: call
              call: "jira.create-issue"
              with:
                project_key: "COMP"
                summary: "Regulatory filing: {{filing_type}} - {{reporting_period}}"
                description: "Data extracted: {{extract-data.rowCount}} records. Docs: {{create-docs.webUrl}}."
                issue_type: "Task"
            - name: notify-compliance
              type: call
              call: "msteams.post-message"
              with:
                team_id: "compliance-team"
                channel_id: "filings"
                message: "Regulatory filing {{filing_type}} for {{reporting_period}} ready. Jira: {{create-review.key}}. Docs: {{create-docs.webUrl}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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: 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: jira
      baseUri: "https://nasdaq.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              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

Prepares and submits regulatory filings by extracting filing data from Snowflake, generating documents in SharePoint, creating a ServiceNow tracking ticket, and notifying the regulatory team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "SEC Filing Submission Pipeline"
  description: "Prepares and submits regulatory filings by extracting filing data from Snowflake, generating documents in SharePoint, creating a ServiceNow tracking ticket, and notifying the regulatory team via Microsoft Teams."
  tags:
    - regulatory
    - compliance
    - snowflake
    - sharepoint
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: sec-filing
      port: 8080
      tools:
        - name: prepare-sec-filing
          description: "Given a filing type and period, prepare and submit the SEC filing."
          inputParameters:
            - name: filing_type
              in: body
              type: string
              description: "The SEC filing type (e.g., 10-K, 10-Q, 8-K)."
            - name: reporting_period
              in: body
              type: string
              description: "The reporting period."
          steps:
            - name: extract-filing-data
              type: call
              call: "snowflake.execute-query"
              with:
                filing_type: "{{filing_type}}"
                period: "{{reporting_period}}"
            - name: create-filing-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "regulatory_site"
                folder_path: "SEC/{{filing_type}}/{{reporting_period}}"
            - name: create-tracking-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "SEC filing: {{filing_type}} for {{reporting_period}}"
                category: "regulatory"
                description: "Filing data extracted. {{extract-filing-data.rowCount}} records."
            - name: notify-regulatory
              type: call
              call: "msteams.post-message"
              with:
                team_id: "regulatory-team"
                channel_id: "filings"
                message: "SEC {{filing_type}} filing prepared for {{reporting_period}}. Documents: {{create-filing-folder.webUrl}}. Ticket: {{create-tracking-ticket.number}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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: 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: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Retrieves exchange outage and maintenance records from ServiceNow, returning outage duration, affected systems, and root cause summary.

naftiko: "0.5"
info:
  label: "ServiceNow Exchange Outage Tracker"
  description: "Retrieves exchange outage and maintenance records from ServiceNow, returning outage duration, affected systems, and root cause summary."
  tags:
    - it-service
    - exchange
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: exchange-outages
      port: 8080
      tools:
        - name: get-outage-history
          description: "Look up exchange outage records by date range."
          inputParameters:
            - 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: "servicenow.get-outages"
          with:
            start_date: "{{start_date}}"
            end_date: "{{end_date}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: outages
          path: "/table/incident?sysparm_query=category=exchange^opened_at>={{start_date}}^opened_at<={{end_date}}"
          inputParameters:
            - name: start_date
              in: query
            - name: end_date
              in: query
          operations:
            - name: get-outages
              method: GET

Retrieves an IT incident from ServiceNow by incident number for platform operations and technology teams.

naftiko: "0.5"
info:
  label: "ServiceNow Incident Lookup"
  description: "Retrieves an IT incident from ServiceNow by incident number for platform operations and technology teams."
  tags:
    - it-service
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: it-incidents
      port: 8080
      tools:
        - name: get-incident
          description: "Look up a ServiceNow incident by number."
          inputParameters:
            - name: incident_number
              in: body
              type: string
              description: "The ServiceNow incident number."
          call: "servicenow.get-incident"
          with:
            incident_number: "{{incident_number}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident?sysparm_query=number={{incident_number}}"
          inputParameters:
            - name: incident_number
              in: query
          operations:
            - name: get-incident
              method: GET

Retrieves document metadata from SharePoint for regulatory filings, compliance documents, and exchange rules.

naftiko: "0.5"
info:
  label: "SharePoint Document Retrieval"
  description: "Retrieves document metadata from SharePoint for regulatory filings, compliance documents, and exchange rules."
  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

Retrieves regulatory document metadata from SharePoint by folder path, returning document names, last modified dates, and version history.

naftiko: "0.5"
info:
  label: "SharePoint Regulatory Document Archive"
  description: "Retrieves regulatory document metadata from SharePoint by folder path, returning document names, last modified dates, and version history."
  tags:
    - regulatory
    - document-management
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: regulatory-docs
      port: 8080
      tools:
        - name: list-regulatory-docs
          description: "List regulatory documents in a SharePoint folder."
          inputParameters:
            - name: folder_path
              in: body
              type: string
              description: "The SharePoint folder path."
          call: "sharepoint.list-documents"
          with:
            folder_path: "{{folder_path}}"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: documents
          path: "/regulatory_site/drive/root:/{{folder_path}}:/children"
          inputParameters:
            - name: folder_path
              in: path
          operations:
            - name: list-documents
              method: GET

Retrieves short interest data for a security from Snowflake, returning shares short, days to cover, and short interest ratio.

naftiko: "0.5"
info:
  label: "Short Interest Data Lookup"
  description: "Retrieves short interest data for a security from Snowflake, returning shares short, days to cover, and short interest ratio."
  tags:
    - market-data
    - short-interest
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: short-interest
      port: 8080
      tools:
        - name: get-short-interest
          description: "Look up short interest data by ticker."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The security ticker symbol."
          call: "snowflake.get-short-interest"
          with:
            ticker: "{{ticker}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-short-interest
              method: POST

Executes a parameterized query against the Snowflake data warehouse for trading volumes, order flow, and market microstructure data.

naftiko: "0.5"
info:
  label: "Snowflake Trading Data Query"
  description: "Executes a parameterized query against the Snowflake data warehouse for trading volumes, order flow, and market microstructure data."
  tags:
    - data
    - snowflake
    - trading
capability:
  exposes:
    - type: mcp
      namespace: trading-data
      port: 8080
      tools:
        - name: query-trading-data
          description: "Query Snowflake for trading data by security and date range."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The ticker symbol."
            - 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: "snowflake.execute-query"
          with:
            ticker: "{{ticker}}"
            start_date: "{{start_date}}"
            end_date: "{{end_date}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-query
              method: POST

Searches Splunk logs for trading platform events, matching engine activities, and system health metrics.

naftiko: "0.5"
info:
  label: "Splunk Log Search"
  description: "Searches Splunk logs for trading platform events, matching engine activities, and system health metrics."
  tags:
    - monitoring
    - splunk
    - trading
capability:
  exposes:
    - type: mcp
      namespace: log-search
      port: 8080
      tools:
        - name: search-logs
          description: "Search Splunk logs by query and time range."
          inputParameters:
            - name: search_query
              in: body
              type: string
              description: "The Splunk search query."
            - name: earliest_time
              in: body
              type: string
              description: "Earliest time for search."
            - name: latest_time
              in: body
              type: string
              description: "Latest time for search."
          call: "splunk.search"
          with:
            search_query: "{{search_query}}"
            earliest_time: "{{earliest_time}}"
            latest_time: "{{latest_time}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.nasdaq.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search-jobs
          path: "/search/jobs"
          operations:
            - name: search
              method: POST

Searches security events in Splunk by event type and time range, returning event details, source IPs, and severity levels.

naftiko: "0.5"
info:
  label: "Splunk Security Event Search"
  description: "Searches security events in Splunk by event type and time range, returning event details, source IPs, and severity levels."
  tags:
    - security
    - splunk
capability:
  exposes:
    - type: mcp
      namespace: security-events
      port: 8080
      tools:
        - name: search-security-events
          description: "Search security events in Splunk by type and time range."
          inputParameters:
            - name: event_type
              in: body
              type: string
              description: "The security event type."
            - name: time_range
              in: body
              type: string
              description: "The time range (e.g., -24h, -7d)."
          call: "splunk.search-events"
          with:
            event_type: "{{event_type}}"
            time_range: "{{time_range}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://nasdaq-splunk.splunkcloud.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search
          path: "/search/jobs"
          operations:
            - name: search-events
              method: POST

Retrieves trade surveillance alert details by alert ID from the monitoring system, including alert type, severity, and flagged trades.

naftiko: "0.5"
info:
  label: "Trade Surveillance Alert Lookup"
  description: "Retrieves trade surveillance alert details by alert ID from the monitoring system, including alert type, severity, and flagged trades."
  tags:
    - surveillance
    - compliance
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: trade-surveillance
      port: 8080
      tools:
        - name: get-surveillance-alert
          description: "Look up a trade surveillance alert by alert ID."
          inputParameters:
            - name: alert_id
              in: body
              type: string
              description: "The surveillance alert identifier."
          call: "snowflake.get-alert"
          with:
            alert_id: "{{alert_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-alert
              method: POST

Investigates a surveillance alert by pulling trade data from Snowflake, enriching with market data from Bloomberg, creating an investigation case in ServiceNow, and alerting the compliance team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Trade Surveillance Investigation Pipeline"
  description: "Investigates a surveillance alert by pulling trade data from Snowflake, enriching with market data from Bloomberg, creating an investigation case in ServiceNow, and alerting the compliance team via Microsoft Teams."
  tags:
    - surveillance
    - compliance
    - snowflake
    - bloomberg-enterprise-data
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: surveillance-investigation
      port: 8080
      tools:
        - name: investigate-surveillance-alert
          description: "Given an alert ID, pull trade data, enrich with market context, and create an investigation case."
          inputParameters:
            - name: alert_id
              in: body
              type: string
              description: "The surveillance alert ID."
            - name: ticker
              in: body
              type: string
              description: "The ticker symbol involved."
          steps:
            - name: pull-trade-data
              type: call
              call: "snowflake.execute-query"
              with:
                alert_id: "{{alert_id}}"
                ticker: "{{ticker}}"
            - name: get-market-context
              type: call
              call: "bloomberg.get-pricing"
              with:
                identifier: "{{ticker}}"
                identifier_type: "TICKER"
            - name: create-investigation
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Surveillance investigation: Alert {{alert_id}} - {{ticker}}"
                category: "surveillance"
                description: "Alert {{alert_id}} for {{ticker}}. {{pull-trade-data.rowCount}} flagged trades. Market price: {{get-market-context.last_price}}."
            - name: alert-compliance
              type: call
              call: "msteams.post-message"
              with:
                team_id: "compliance-team"
                channel_id: "surveillance"
                message: "Surveillance investigation opened: Alert {{alert_id}} for {{ticker}}. {{pull-trade-data.rowCount}} trades flagged. Case: {{create-investigation.number}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.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: bloomberg
      baseUri: "https://api.bloomberg.com/eap/catalogs/bbg/datasets"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: pricing
          path: "/pricing?identifier={{identifier}}&identifierType={{identifier_type}}"
          inputParameters:
            - name: identifier
              in: query
            - name: identifier_type
              in: query
          operations:
            - name: get-pricing
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: post-message
              method: POST

Responds to trading platform incidents by pulling system metrics from Datadog, checking logs in Splunk, creating a critical ServiceNow incident, creating a Jira task for engineering, and alerting operations via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Trading Platform Incident Response"
  description: "Responds to trading platform incidents by pulling system metrics from Datadog, checking logs in Splunk, creating a critical ServiceNow incident, creating a Jira task for engineering, and alerting operations via Microsoft Teams."
  tags:
    - trading
    - incident-response
    - datadog
    - splunk
    - servicenow
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: platform-incidents
      port: 8080
      tools:
        - name: respond-to-platform-incident
          description: "Given an incident description and affected system, orchestrate the full incident response."
          inputParameters:
            - name: incident_description
              in: body
              type: string
              description: "Description of the platform incident."
            - name: affected_system
              in: body
              type: string
              description: "The affected trading system component."
            - name: severity
              in: body
              type: string
              description: "Severity level (critical, high, medium)."
          steps:
            - name: get-system-metrics
              type: call
              call: "datadog.query-metrics"
              with:
                metric_name: "{{affected_system}}.latency"
                from_ts: "-3600"
                to_ts: "now"
            - name: search-logs
              type: call
              call: "splunk.search"
              with:
                search_query: "index=trading source={{affected_system}} error"
                earliest_time: "-1h"
                latest_time: "now"
            - name: create-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Platform incident: {{affected_system}} - {{severity}}"
                category: "platform_operations"
                priority: "{{severity}}"
                description: "{{incident_description}}. Latency: {{get-system-metrics.avg_latency}}ms. Log hits: {{search-logs.result_count}}."
            - name: create-eng-task
              type: call
              call: "jira.create-issue"
              with:
                project_key: "PLAT"
                summary: "Platform incident: {{affected_system}}"
                description: "{{incident_description}}. ServiceNow: {{create-incident.number}}."
                issue_type: "Bug"
            - name: alert-ops
              type: call
              call: "msteams.post-message"
              with:
                team_id: "platform-ops-team"
                channel_id: "incidents"
                message: "PLATFORM INCIDENT ({{severity}}): {{affected_system}} - {{incident_description}}. Latency: {{get-system-metrics.avg_latency}}ms. Case: {{create-incident.number}}. Jira: {{create-eng-task.key}}."
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query"
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: splunk
      baseUri: "https://splunk.nasdaq.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search-jobs
          path: "/search/jobs"
          operations:
            - name: search
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://nasdaq.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://nasdaq.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              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

Queries trading volume analytics from Snowflake for a security or market segment, returning daily volume, VWAP, and volume distribution by session.

naftiko: "0.5"
info:
  label: "Trading Volume Analytics Query"
  description: "Queries trading volume analytics from Snowflake for a security or market segment, returning daily volume, VWAP, and volume distribution by session."
  tags:
    - trading
    - analytics
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: volume-analytics
      port: 8080
      tools:
        - name: get-volume-analytics
          description: "Query trading volume analytics by ticker and date range."
          inputParameters:
            - name: ticker
              in: body
              type: string
              description: "The security ticker symbol."
            - name: date_range
              in: body
              type: string
              description: "The date range (e.g., 30d, 90d)."
          call: "snowflake.get-volume-analytics"
          with:
            ticker: "{{ticker}}"
            date_range: "{{date_range}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://nasdaq.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: get-volume-analytics
              method: POST

Fetches an employee profile from Workday by worker ID for HR and compliance operations.

naftiko: "0.5"
info:
  label: "Workday Employee Profile"
  description: "Fetches an employee profile from Workday by worker ID for HR and compliance 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 headcount summary from Workday by department, returning active employee count, open positions, and attrition rate.

naftiko: "0.5"
info:
  label: "Workday Headcount Report"
  description: "Retrieves headcount summary from Workday by department, returning active employee count, open positions, and attrition rate."
  tags:
    - hr
    - workday
capability:
  exposes:
    - type: mcp
      namespace: hr-headcount
      port: 8080
      tools:
        - name: get-headcount
          description: "Retrieve headcount report by department."
          inputParameters:
            - name: department
              in: body
              type: string
              description: "The department name."
          call: "workday.get-headcount"
          with:
            department: "{{department}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd5-impl-services1.workday.com/ccx/api/v1/nasdaq"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: headcount
          path: "/headcount?department={{department}}"
          inputParameters:
            - name: department
              in: query
          operations:
            - name: get-headcount
              method: GET