Vanguard Capabilities

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

Sort
Expand

Manages annual compliance certifications by distributing attestations, tracking completion, and filing results.

naftiko: "0.5"
info:
  label: "Annual Compliance Certification Orchestrator"
  description: "Manages annual compliance certifications by distributing attestations, tracking completion, and filing results."
  tags:
    - compliance
    - hr
    - legal
capability:
  exposes:
    - type: mcp
      namespace: compliance
      port: 8080
      tools:
        - name: run-annual-compliance-certification-orchestrator
          description: "Manages annual compliance certifications by distributing attestations, tracking completion, and filing results."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Annual Compliance Certification Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Initiates annual performance review cycles in Workday and notifies department managers via Teams.

naftiko: "0.5"
info:
  title: Annual Performance Review Kickoff
  version: "1.0"
  description: Initiates annual performance review cycles in Workday and notifies department managers via Teams.
  tags: [hr, performance-management, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: kickoff_performance_review
        description: Starts performance review cycles in Workday and messages department managers.
        inputParameters:
          - name: department
            in: body
            required: true
            type: string
          - name: review_cycle
            in: body
            required: true
            type: string
        steps:
          - name: start-review-cycle
            call:
              operationId: initiatePerformanceReview
              input:
                department: "{{department}}"
                cycle: "{{review_cycle}}"
          - name: notify-managers
            call:
              operationId: sendTeamsMessage
              input:
                channelId: "{{department}}-managers"
                message: "Performance review cycle {{review_cycle}} is now open for {{department}}. Please complete evaluations by the deadline."
  consumes:
    - type: http
      baseUri: https://wd3-impl-services1.workday.com/ccx/service/vanguard
      authentication:
        type: bearer
        token: $secrets.workday_token
      resources:
        - path: /performanceReviews
          operations:
            - id: initiatePerformanceReview
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Receives an AML transaction alert, creates a ServiceNow compliance case, and notifies the Compliance team via Teams.

naftiko: "0.5"
info:
  title: Anti-Money Laundering Alert Triage
  version: "1.0"
  description: Receives an AML transaction alert, creates a ServiceNow compliance case, and notifies the Compliance team via Teams.
  tags: [compliance, security, finance, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: triage_aml_alert
        description: Logs an AML alert as a compliance case and notifies the Compliance team for review.
        inputParameters:
          - name: transaction_id
            in: body
            required: true
            type: string
          - name: alert_type
            in: body
            required: true
            type: string
          - name: risk_score
            in: body
            required: true
            type: number
        steps:
          - name: create-compliance-case
            call:
              operationId: createComplianceCase
              input:
                short_description: "AML alert: {{alert_type}} for transaction {{transaction_id}} (risk score: {{risk_score}})"
                category: aml
                urgency: "1"
          - name: notify-compliance
            call:
              operationId: sendTeamsMessage
              input:
                channelId: compliance-alerts
                message: "AML alert {{alert_type}} for transaction {{transaction_id}}. Risk score: {{risk_score}}. Case: {{create-compliance-case.number}}."
  consumes:
    - type: http
      baseUri: https://vanguard.service-now.com/api/now/v1
      authentication:
        type: basic
        username: $secrets.snow_user
        password: $secrets.snow_password
      resources:
        - path: /table/sn_si_incident
          operations:
            - id: createComplianceCase
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation.

naftiko: "0.5"
info:
  label: "API Lifecycle Management Orchestrator"
  description: "Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation."
  tags:
    - engineering
    - api
    - operations
capability:
  exposes:
    - type: mcp
      namespace: engineering
      port: 8080
      tools:
        - name: run-api-lifecycle-management-orchestrator
          description: "Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed API Lifecycle Management Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves Azure DevOps pipeline status.

naftiko: "0.5"
info:
  label: "Azure DevOps Pipeline Viewer"
  description: "Retrieves Azure DevOps pipeline status."
  tags:
    - engineering
    - azure-devops
capability:
  exposes:
    - type: mcp
      namespace: engineering
      port: 8080
      tools:
        - name: get-azure
          description: "Retrieves Azure DevOps pipeline status."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The azure devops pipeline viewer identifier."
          call: "engineering-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: engineering-api
      baseUri: "https://api.vanguard.com/engineering/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: azure
          path: "/azure/devops/pipeline/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-azure
              method: GET

Reads open enrollment elections from Workday and syncs benefit selections to the benefits administration platform.

naftiko: "0.5"
info:
  title: Benefits Enrollment Sync
  version: "1.0"
  description: Reads open enrollment elections from Workday and syncs benefit selections to the benefits administration platform.
  tags: [hr, benefits, finance]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: sync_benefits_enrollment
        description: Fetches enrollment elections from Workday and pushes them to the benefits platform.
        inputParameters:
          - name: enrollment_period
            in: query
            required: true
            type: string
        steps:
          - name: get-elections
            call:
              operationId: getBenefitElections
              input:
                period: "{{enrollment_period}}"
          - name: sync-to-platform
            call:
              operationId: upsertBenefitEnrollments
              input:
                elections: "{{get-elections.elections}}"
                period: "{{enrollment_period}}"
  consumes:
    - type: http
      baseUri: https://wd3-impl-services1.workday.com/ccx/service/vanguard
      authentication:
        type: bearer
        token: $secrets.workday_token
      resources:
        - path: /benefits/elections
          operations:
            - id: getBenefitElections
              method: GET
    - type: http
      baseUri: https://api.benefitsplatform.com/v2
      authentication:
        type: bearer
        token: $secrets.benefits_platform_token
      resources:
        - path: /enrollments
          operations:
            - id: upsertBenefitEnrollments
              method: PUT

Detects a failed GitHub Actions workflow, creates a Jira bug, and posts a failure notification in Teams.

naftiko: "0.5"
info:
  title: CI/CD Pipeline Failure Alert
  version: "1.0"
  description: Detects a failed GitHub Actions workflow, creates a Jira bug, and posts a failure notification in Teams.
  tags: [devops, cicd, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: handle_pipeline_failure
        description: Creates a Jira bug for a failed pipeline run and notifies the engineering team.
        inputParameters:
          - name: repo
            in: body
            required: true
            type: string
          - name: workflow_run_id
            in: body
            required: true
            type: string
        steps:
          - name: get-run-details
            call:
              operationId: getWorkflowRun
              input:
                repo: "{{repo}}"
                runId: "{{workflow_run_id}}"
          - name: create-jira-bug
            call:
              operationId: createJiraIssue
              input:
                project: ENG
                summary: "CI/CD failure in {{repo}}: {{get-run-details.workflow_name}}"
                issuetype: Bug
                priority: High
          - name: notify-team
            call:
              operationId: sendTeamsMessage
              input:
                channelId: engineering-alerts
                message: "Pipeline failure in {{repo}} — {{get-run-details.workflow_name}}. Jira: {{create-jira-bug.key}}."
  consumes:
    - type: http
      baseUri: https://api.github.com
      authentication:
        type: bearer
        token: $secrets.github_token
      resources:
        - path: /repos/Vanguard/{repo}/actions/runs/{runId}
          operations:
            - id: getWorkflowRun
              method: GET
    - type: http
      baseUri: https://vanguard.atlassian.net/rest/api/3
      authentication:
        type: basic
        username: $secrets.jira_user
        password: $secrets.jira_token
      resources:
        - path: /issue
          operations:
            - id: createJiraIssue
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Looks up an investor account in Salesforce CRM and enriches it with current portfolio allocation data.

naftiko: "0.5"
info:
  title: Client Account Enrichment
  version: "1.0"
  description: Looks up an investor account in Salesforce CRM and enriches it with current portfolio allocation data.
  tags: [crm, client-services, investments]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: enrich_client_account
        description: Retrieves and enriches a Salesforce account with current portfolio allocation.
        inputParameters:
          - name: account_id
            in: query
            required: true
            type: string
        steps:
          - name: lookup-sf-account
            call:
              operationId: getSalesforceAccount
              input:
                accountId: "{{account_id}}"
          - name: get-portfolio
            call:
              operationId: getPortfolioAllocation
              input:
                clientId: "{{lookup-sf-account.client_id}}"
          - name: update-sf-account
            call:
              operationId: updateSalesforceAccount
              input:
                accountId: "{{account_id}}"
                totalAum: "{{get-portfolio.total_aum}}"
                equityPct: "{{get-portfolio.equity_pct}}"
                fixedIncomePct: "{{get-portfolio.fixed_income_pct}}"
  consumes:
    - type: http
      baseUri: https://vanguard.my.salesforce.com/services/data/v58.0
      authentication:
        type: bearer
        token: $secrets.salesforce_token
      resources:
        - path: /sobjects/Account/{accountId}
          operations:
            - id: getSalesforceAccount
              method: GET
            - id: updateSalesforceAccount
              method: PATCH
    - type: http
      baseUri: https://api.vanguard.com/investments/v1
      authentication:
        type: bearer
        token: $secrets.vanguard_api_token
      resources:
        - path: /portfolios/{clientId}/allocation
          operations:
            - id: getPortfolioAllocation
              method: GET

Retrieves the risk profile for a client.

naftiko: "0.5"
info:
  label: "Client Risk Profile Lookup"
  description: "Retrieves the risk profile for a client."
  tags:
    - risk
    - wealth-management
capability:
  exposes:
    - type: mcp
      namespace: risk
      port: 8080
      tools:
        - name: get-client
          description: "Retrieves the risk profile for a client."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The client risk profile lookup identifier."
          call: "risk-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: risk-api
      baseUri: "https://api.vanguard.com/risk/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: client
          path: "/client/risk/profile/lookup/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-client
              method: GET

Checks compliance status for a transaction.

naftiko: "0.5"
info:
  label: "Compliance Check Status"
  description: "Checks compliance status for a transaction."
  tags:
    - compliance
    - risk
capability:
  exposes:
    - type: mcp
      namespace: compliance
      port: 8080
      tools:
        - name: get-compliance
          description: "Checks compliance status for a transaction."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The compliance check status identifier."
          call: "compliance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: compliance-api
      baseUri: "https://api.vanguard.com/compliance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: compliance
          path: "/compliance/check/status/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-compliance
              method: GET

Retrieves a Confluence wiki page.

naftiko: "0.5"
info:
  label: "Confluence Page Viewer"
  description: "Retrieves a Confluence wiki page."
  tags:
    - collaboration
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: collaboration
      port: 8080
      tools:
        - name: get-confluence
          description: "Retrieves a Confluence wiki page."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The confluence page viewer identifier."
          call: "collaboration-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: collaboration-api
      baseUri: "https://api.vanguard.com/collaboration/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: confluence
          path: "/confluence/page/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-confluence
              method: GET

Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters.

naftiko: "0.5"
info:
  label: "Cross-Functional Project Kickoff Orchestrator"
  description: "Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters."
  tags:
    - project-management
    - collaboration
    - operations
capability:
  exposes:
    - type: mcp
      namespace: project-management
      port: 8080
      tools:
        - name: run-cross-functional-project-kickoff-orchestrator
          description: "Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Cross-Functional Project Kickoff Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Handles customer data privacy requests by locating records, processing deletions, and confirming compliance.

naftiko: "0.5"
info:
  label: "Customer Data Privacy Request Handler"
  description: "Handles customer data privacy requests by locating records, processing deletions, and confirming compliance."
  tags:
    - compliance
    - privacy
    - customer-service
capability:
  exposes:
    - type: mcp
      namespace: compliance
      port: 8080
      tools:
        - name: run-customer-data-privacy-request-handler
          description: "Handles customer data privacy requests by locating records, processing deletions, and confirming compliance."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Customer Data Privacy Request Handler for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations.

naftiko: "0.5"
info:
  label: "Customer Journey Mapping Orchestrator"
  description: "Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations."
  tags:
    - customer-experience
    - analytics
    - product-management
capability:
  exposes:
    - type: mcp
      namespace: customer-experience
      port: 8080
      tools:
        - name: run-customer-journey-mapping-orchestrator
          description: "Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Customer Journey Mapping Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports.

naftiko: "0.5"
info:
  label: "Data Governance Review Orchestrator"
  description: "Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports."
  tags:
    - data-governance
    - compliance
    - analytics
capability:
  exposes:
    - type: mcp
      namespace: data-governance
      port: 8080
      tools:
        - name: run-data-governance-review-orchestrator
          description: "Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Data Governance Review Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves a Datadog monitor status.

naftiko: "0.5"
info:
  label: "Datadog Monitor Viewer"
  description: "Retrieves a Datadog monitor status."
  tags:
    - monitoring
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: monitoring
      port: 8080
      tools:
        - name: get-datadog
          description: "Retrieves a Datadog monitor status."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The datadog monitor viewer identifier."
          call: "monitoring-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: monitoring-api
      baseUri: "https://api.vanguard.com/monitoring/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: datadog
          path: "/datadog/monitor/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-datadog
              method: GET

Checks SLO error budget burn rates in Datadog and triggers a PagerDuty alert when thresholds are breached.

naftiko: "0.5"
info:
  title: Datadog SLO Compliance Monitor
  version: "1.0"
  description: Checks SLO error budget burn rates in Datadog and triggers a PagerDuty alert when thresholds are breached.
  tags: [observability, reliability, devops]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: check_slo_compliance
        description: Reads SLO burn rate and pages on-call if the error budget is critically consumed.
        inputParameters:
          - name: slo_id
            in: query
            required: true
            type: string
        steps:
          - name: get-slo-status
            call:
              operationId: getSloStatus
              input:
                sloId: "{{slo_id}}"
          - name: page-oncall
            call:
              operationId: createPagerDutyIncident
              input:
                title: "SLO breach: {{get-slo-status.name}} error budget at {{get-slo-status.remaining_budget_pct}}%"
                severity: critical
                serviceId: $secrets.pd_slo_service_id
  consumes:
    - type: http
      baseUri: https://api.datadoghq.com/api/v1
      authentication:
        type: apikey
        name: DD-API-KEY
        in: header
        key: $secrets.datadog_api_key
      resources:
        - path: /slo/{sloId}
          operations:
            - id: getSloStatus
              method: GET
    - type: http
      baseUri: https://api.pagerduty.com
      authentication:
        type: bearer
        token: $secrets.pagerduty_token
      resources:
        - path: /incidents
          operations:
            - id: createPagerDutyIncident
              method: POST

Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks.

naftiko: "0.5"
info:
  label: "Digital Transformation Progress Orchestrator"
  description: "Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks."
  tags:
    - strategy
    - analytics
    - project-management
capability:
  exposes:
    - type: mcp
      namespace: strategy
      port: 8080
      tools:
        - name: run-digital-transformation-progress-orchestrator
          description: "Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Digital Transformation Progress Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Executes disaster recovery tests by failing over systems, validating recovery, and documenting results.

naftiko: "0.5"
info:
  label: "Disaster Recovery Test Orchestrator"
  description: "Executes disaster recovery tests by failing over systems, validating recovery, and documenting results."
  tags:
    - infrastructure
    - operations
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: infrastructure
      port: 8080
      tools:
        - name: run-disaster-recovery-test-orchestrator
          description: "Executes disaster recovery tests by failing over systems, validating recovery, and documenting results."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Disaster Recovery Test Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews.

naftiko: "0.5"
info:
  label: "Employee Offboarding Orchestrator"
  description: "Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews."
  tags:
    - hr
    - identity
    - operations
capability:
  exposes:
    - type: mcp
      namespace: hr
      port: 8080
      tools:
        - name: run-employee-offboarding-orchestrator
          description: "Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Employee Offboarding Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Terminates employee access in Okta, updates Workday status to terminated, and creates a ServiceNow offboarding ticket.

naftiko: "0.5"
info:
  title: Employee Offboarding Workflow
  version: "1.0"
  description: Terminates employee access in Okta, updates Workday status to terminated, and creates a ServiceNow offboarding ticket.
  tags: [hr, offboarding, identity, itsm]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: offboard_employee
        description: Deactivates Okta account, terminates in Workday, and creates an IT offboarding ticket.
        inputParameters:
          - name: employee_id
            in: body
            required: true
            type: string
          - name: termination_date
            in: body
            required: true
            type: string
        steps:
          - name: deactivate-okta
            call:
              operationId: deactivateOktaUser
              input:
                employeeId: "{{employee_id}}"
          - name: terminate-workday
            call:
              operationId: terminateWorker
              input:
                employeeId: "{{employee_id}}"
                terminationDate: "{{termination_date}}"
          - name: create-snow-ticket
            call:
              operationId: createIncident
              input:
                short_description: "Offboarding: revoke all system access for employee {{employee_id}}"
                category: hr
  consumes:
    - type: http
      baseUri: https://vanguard.okta.com/api/v1
      authentication:
        type: bearer
        token: $secrets.okta_token
      resources:
        - path: /users/{employeeId}/lifecycle/deactivate
          operations:
            - id: deactivateOktaUser
              method: POST
    - type: http
      baseUri: https://wd3-impl-services1.workday.com/ccx/service/vanguard
      authentication:
        type: bearer
        token: $secrets.workday_token
      resources:
        - path: /workers/{employeeId}/termination
          operations:
            - id: terminateWorker
              method: POST
    - type: http
      baseUri: https://vanguard.service-now.com/api/now/v1
      authentication:
        type: basic
        username: $secrets.snow_user
        password: $secrets.snow_password
      resources:
        - path: /table/incident
          operations:
            - id: createIncident
              method: POST

Provisions new Vanguard employees across HR, identity, and collaboration systems.

naftiko: "0.5"
info:
  title: Employee Onboarding Orchestrator
  version: "1.0"
  description: Provisions new Vanguard employees across HR, identity, and collaboration systems.
  tags: [hr, onboarding, identity]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: onboard_employee
        description: Creates employee record in Workday, provisions Okta identity, and posts a welcome message in Teams.
        inputParameters:
          - name: employee_id
            in: body
            required: true
            type: string
          - name: department
            in: body
            required: true
            type: string
        steps:
          - name: create-workday-record
            call:
              operationId: createWorker
              input:
                employeeId: "{{employee_id}}"
                department: "{{department}}"
          - name: provision-okta
            call:
              operationId: createOktaUser
              input:
                login: "{{create-workday-record.email}}"
                firstName: "{{create-workday-record.firstName}}"
                lastName: "{{create-workday-record.lastName}}"
          - name: send-teams-welcome
            call:
              operationId: sendTeamsMessage
              input:
                channelId: "{{department}}-general"
                message: "Welcome {{create-workday-record.firstName}} {{create-workday-record.lastName}} to Vanguard!"
  consumes:
    - type: http
      baseUri: https://wd3-impl-services1.workday.com/ccx/service/vanguard
      authentication:
        type: bearer
        token: $secrets.workday_token
      resources:
        - path: /workers
          operations:
            - id: createWorker
              method: POST
    - type: http
      baseUri: https://vanguard.okta.com/api/v1
      authentication:
        type: bearer
        token: $secrets.okta_token
      resources:
        - path: /users
          operations:
            - id: createOktaUser
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI.

naftiko: "0.5"
info:
  label: "Executive Dashboard Refresh Orchestrator"
  description: "Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI."
  tags:
    - analytics
    - power-bi
    - business
capability:
  exposes:
    - type: mcp
      namespace: analytics
      port: 8080
      tools:
        - name: run-executive-dashboard-refresh-orchestrator
          description: "Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Executive Dashboard Refresh Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 1 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 1"
  description: "Orchestrates finance workflow 1 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-001
          description: "Orchestrates finance workflow 1 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 1 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 2 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 2"
  description: "Orchestrates finance workflow 2 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-002
          description: "Orchestrates finance workflow 2 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 2 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 3.

naftiko: "0.5"
info:
  label: "Finance Data Query 3"
  description: "Retrieves finance operational data for workflow 3."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-3
          description: "Query finance data for workflow 3."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-3
              method: GET

Orchestrates finance workflow 4 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 4"
  description: "Orchestrates finance workflow 4 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-004
          description: "Orchestrates finance workflow 4 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 4 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 5 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 5"
  description: "Orchestrates finance workflow 5 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-005
          description: "Orchestrates finance workflow 5 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 5 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 6.

naftiko: "0.5"
info:
  label: "Finance Data Query 6"
  description: "Retrieves finance operational data for workflow 6."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-6
          description: "Query finance data for workflow 6."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-6
              method: GET

Orchestrates finance workflow 7 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 7"
  description: "Orchestrates finance workflow 7 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-007
          description: "Orchestrates finance workflow 7 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 7 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 8 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 8"
  description: "Orchestrates finance workflow 8 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-008
          description: "Orchestrates finance workflow 8 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 8 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 9.

naftiko: "0.5"
info:
  label: "Finance Data Query 9"
  description: "Retrieves finance operational data for workflow 9."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-9
          description: "Query finance data for workflow 9."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-9
              method: GET

Orchestrates finance workflow 10 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 10"
  description: "Orchestrates finance workflow 10 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-010
          description: "Orchestrates finance workflow 10 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 10 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 11 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 11"
  description: "Orchestrates finance workflow 11 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-011
          description: "Orchestrates finance workflow 11 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 11 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 12.

naftiko: "0.5"
info:
  label: "Finance Data Query 12"
  description: "Retrieves finance operational data for workflow 12."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-12
          description: "Query finance data for workflow 12."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-12
              method: GET

Orchestrates finance workflow 13 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 13"
  description: "Orchestrates finance workflow 13 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-013
          description: "Orchestrates finance workflow 13 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 13 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 14 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 14"
  description: "Orchestrates finance workflow 14 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-014
          description: "Orchestrates finance workflow 14 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 14 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 15.

naftiko: "0.5"
info:
  label: "Finance Data Query 15"
  description: "Retrieves finance operational data for workflow 15."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-15
          description: "Query finance data for workflow 15."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-15
              method: GET

Orchestrates finance workflow 16 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 16"
  description: "Orchestrates finance workflow 16 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-016
          description: "Orchestrates finance workflow 16 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 16 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 17 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 17"
  description: "Orchestrates finance workflow 17 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-017
          description: "Orchestrates finance workflow 17 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 17 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 18.

naftiko: "0.5"
info:
  label: "Finance Data Query 18"
  description: "Retrieves finance operational data for workflow 18."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-18
          description: "Query finance data for workflow 18."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-18
              method: GET

Orchestrates finance workflow 19 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 19"
  description: "Orchestrates finance workflow 19 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-019
          description: "Orchestrates finance workflow 19 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 19 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 20 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 20"
  description: "Orchestrates finance workflow 20 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-020
          description: "Orchestrates finance workflow 20 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 20 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 21.

naftiko: "0.5"
info:
  label: "Finance Data Query 21"
  description: "Retrieves finance operational data for workflow 21."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-21
          description: "Query finance data for workflow 21."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-21
              method: GET

Orchestrates finance workflow 22 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 22"
  description: "Orchestrates finance workflow 22 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-022
          description: "Orchestrates finance workflow 22 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 22 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 23 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 23"
  description: "Orchestrates finance workflow 23 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-023
          description: "Orchestrates finance workflow 23 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 23 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 24.

naftiko: "0.5"
info:
  label: "Finance Data Query 24"
  description: "Retrieves finance operational data for workflow 24."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-24
          description: "Query finance data for workflow 24."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-24
              method: GET

Orchestrates finance workflow 25 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 25"
  description: "Orchestrates finance workflow 25 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-025
          description: "Orchestrates finance workflow 25 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 25 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 26 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 26"
  description: "Orchestrates finance workflow 26 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-026
          description: "Orchestrates finance workflow 26 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 26 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 27.

naftiko: "0.5"
info:
  label: "Finance Data Query 27"
  description: "Retrieves finance operational data for workflow 27."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-27
          description: "Query finance data for workflow 27."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-27
              method: GET

Orchestrates finance workflow 28 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 28"
  description: "Orchestrates finance workflow 28 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-028
          description: "Orchestrates finance workflow 28 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 28 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 29 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 29"
  description: "Orchestrates finance workflow 29 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-029
          description: "Orchestrates finance workflow 29 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 29 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 30.

naftiko: "0.5"
info:
  label: "Finance Data Query 30"
  description: "Retrieves finance operational data for workflow 30."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-30
          description: "Query finance data for workflow 30."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-30
              method: GET

Orchestrates finance workflow 31 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 31"
  description: "Orchestrates finance workflow 31 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-031
          description: "Orchestrates finance workflow 31 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 31 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Orchestrates finance workflow 32 by coordinating across systems, validating data, and sending notifications.

naftiko: "0.5"
info:
  label: "Finance Workflow 32"
  description: "Orchestrates finance workflow 32 by coordinating across systems, validating data, and sending notifications."
  tags:
    - finance
    - operations
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: run-finance-workflow-032
          description: "Orchestrates finance workflow 32 by coordinating across systems, validating data, and sending notifications."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Finance Workflow 32 for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves finance operational data for workflow 33.

naftiko: "0.5"
info:
  label: "Finance Data Query 33"
  description: "Retrieves finance operational data for workflow 33."
  tags:
    - finance
    - operations
capability:
  exposes:
    - type: mcp
      namespace: finance
      port: 8080
      tools:
        - name: get-data-33
          description: "Query finance data for workflow 33."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The entity identifier."
          call: "finance-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: finance-api
      baseUri: "https://api.vanguard.com/finance/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: data
          path: "/data/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-data-33
              method: GET

Detects AWS cloud cost spikes via Datadog, logs a ServiceNow task, and notifies the FinOps team via Teams.

naftiko: "0.5"
info:
  title: FinOps Cloud Cost Anomaly Responder
  version: "1.0"
  description: Detects AWS cloud cost spikes via Datadog, logs a ServiceNow task, and notifies the FinOps team via Teams.
  tags: [finops, cloud, observability, itsm]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: respond_cost_anomaly
        description: Handles a cloud cost anomaly by creating a task and notifying the FinOps team.
        inputParameters:
          - name: account_id
            in: body
            required: true
            type: string
          - name: threshold_pct
            in: body
            required: true
            type: number
        steps:
          - name: query-cost-metric
            call:
              operationId: queryCostMetric
              input:
                accountId: "{{account_id}}"
                thresholdPct: "{{threshold_pct}}"
          - name: create-snow-task
            call:
              operationId: createServiceNowTask
              input:
                short_description: "Cloud cost anomaly in account {{account_id}}: {{query-cost-metric.delta_pct}}% over threshold"
                category: cloud-cost
          - name: notify-finops
            call:
              operationId: sendTeamsMessage
              input:
                channelId: finops-alerts
                message: "Cost anomaly in AWS account {{account_id}}. Task {{create-snow-task.number}} created. Delta: {{query-cost-metric.delta_pct}}%."
  consumes:
    - type: http
      baseUri: https://api.datadoghq.com/api/v1
      authentication:
        type: apikey
        name: DD-API-KEY
        in: header
        key: $secrets.datadog_api_key
      resources:
        - path: /metrics/query
          operations:
            - id: queryCostMetric
              method: GET
    - type: http
      baseUri: https://vanguard.service-now.com/api/now/v1
      authentication:
        type: basic
        username: $secrets.snow_user
        password: $secrets.snow_password
      resources:
        - path: /table/sc_task
          operations:
            - id: createServiceNowTask
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Retrieves the net asset value (NAV) for a Vanguard fund from the internal pricing service.

naftiko: "0.5"
info:
  title: Fund NAV Lookup
  version: "1.0"
  description: Retrieves the net asset value (NAV) for a Vanguard fund from the internal pricing service.
  tags: [investments, finance, data]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: get_fund_nav
        description: Returns the current NAV, previous close, and YTD return for a given fund.
        inputParameters:
          - name: fund_id
            in: path
            required: true
            type: string
        call:
          operationId: getFundNav
          input:
            fundId: "{{fund_id}}"
        outputParameters:
          - name: nav
            type: number
          - name: previous_close
            type: number
          - name: ytd_return
            type: number
          - name: as_of_date
            type: string
  consumes:
    - type: http
      baseUri: https://api.vanguard.com/investments/v1
      authentication:
        type: bearer
        token: $secrets.vanguard_api_token
      resources:
        - path: /funds/{fundId}/nav
          operations:
            - id: getFundNav
              method: GET

Retrieves performance data for an investment fund.

naftiko: "0.5"
info:
  label: "Fund Performance Report"
  description: "Retrieves performance data for an investment fund."
  tags:
    - investments
    - analytics
capability:
  exposes:
    - type: mcp
      namespace: investments
      port: 8080
      tools:
        - name: get-fund
          description: "Retrieves performance data for an investment fund."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The fund performance report identifier."
          call: "investments-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: investments-api
      baseUri: "https://api.vanguard.com/investments/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: fund
          path: "/fund/performance/report/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-fund
              method: GET

Logs a GDPR data subject access request in ServiceNow and notifies the Privacy team via Teams.

naftiko: "0.5"
info:
  title: GDPR Data Subject Access Request Handler
  version: "1.0"
  description: Logs a GDPR data subject access request in ServiceNow and notifies the Privacy team via Teams.
  tags: [compliance, privacy, itsm, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: handle_dsar
        description: Creates a DSAR record in ServiceNow and alerts the privacy team for follow-up.
        inputParameters:
          - name: subject_name
            in: body
            required: true
            type: string
          - name: request_type
            in: body
            required: true
            type: string
          - name: submission_date
            in: body
            required: true
            type: string
        steps:
          - name: create-dsar
            call:
              operationId: createDsarRecord
              input:
                subject: "{{subject_name}}"
                type: "{{request_type}}"
                submitted: "{{submission_date}}"
          - name: notify-privacy
            call:
              operationId: sendTeamsMessage
              input:
                channelId: privacy-team
                message: "New DSAR from {{subject_name}} ({{request_type}}) on {{submission_date}}. Ticket: {{create-dsar.number}}."
  consumes:
    - type: http
      baseUri: https://vanguard.service-now.com/api/now/v1
      authentication:
        type: basic
        username: $secrets.snow_user
        password: $secrets.snow_password
      resources:
        - path: /table/sn_privacy_dsar
          operations:
            - id: createDsarRecord
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Retrieves GitHub repository information.

naftiko: "0.5"
info:
  label: "GitHub Repo Viewer"
  description: "Retrieves GitHub repository information."
  tags:
    - engineering
    - github
capability:
  exposes:
    - type: mcp
      namespace: engineering
      port: 8080
      tools:
        - name: get-github
          description: "Retrieves GitHub repository information."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The github repo viewer identifier."
          call: "engineering-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: engineering-api
      baseUri: "https://api.vanguard.com/engineering/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: github
          path: "/github/repo/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-github
              method: GET

Scans GitHub Dependabot alerts and creates Jira tickets for critical vulnerabilities in financial platform repositories.

naftiko: "0.5"
info:
  title: GitHub Security Vulnerability Triage
  version: "1.0"
  description: Scans GitHub Dependabot alerts and creates Jira tickets for critical vulnerabilities in financial platform repositories.
  tags: [security, devops, compliance]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: triage_security_vulnerabilities
        description: Fetches Dependabot alerts and creates Jira tickets for critical findings.
        inputParameters:
          - name: org
            in: query
            required: true
            type: string
          - name: repo
            in: query
            required: true
            type: string
        steps:
          - name: get-alerts
            call:
              operationId: getDependabotAlerts
              input:
                org: "{{org}}"
                repo: "{{repo}}"
                severity: critical
          - name: create-jira-ticket
            call:
              operationId: createJiraIssue
              input:
                project: SEC
                summary: "Critical vulnerability in {{repo}}: {{get-alerts.package_name}} {{get-alerts.vulnerable_version}}"
                issuetype: Bug
                priority: Critical
  consumes:
    - type: http
      baseUri: https://api.github.com
      authentication:
        type: bearer
        token: $secrets.github_token
      resources:
        - path: /repos/{org}/{repo}/dependabot/alerts
          operations:
            - id: getDependabotAlerts
              method: GET
    - type: http
      baseUri: https://vanguard.atlassian.net/rest/api/3
      authentication:
        type: basic
        username: $secrets.jira_user
        password: $secrets.jira_token
      resources:
        - path: /issue
          operations:
            - id: createJiraIssue
              method: POST

Triggers the general ledger period close in SAP S/4HANA and notifies the Finance team via Teams.

naftiko: "0.5"
info:
  title: GL Period Close Orchestrator
  version: "1.0"
  description: Triggers the general ledger period close in SAP S/4HANA and notifies the Finance team via Teams.
  tags: [finance, erp, period-close]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: run_period_close
        description: Closes the GL period in SAP and sends a completion notification to Finance.
        inputParameters:
          - name: fiscal_period
            in: body
            required: true
            type: string
          - name: company_code
            in: body
            required: true
            type: string
        steps:
          - name: close-period
            call:
              operationId: closeFiscalPeriod
              input:
                period: "{{fiscal_period}}"
                companyCode: "{{company_code}}"
          - name: notify-finance
            call:
              operationId: sendTeamsMessage
              input:
                channelId: finance-close
                message: "GL period {{fiscal_period}} closed for company code {{company_code}}. Status: {{close-period.status}}."
  consumes:
    - type: http
      baseUri: https://vanguard-sap.example.com/sap/opu/odata/sap
      authentication:
        type: basic
        username: $secrets.sap_user
        password: $secrets.sap_password
      resources:
        - path: /API_FISCALYEAR_PERIOD_SRV/PeriodClose
          operations:
            - id: closeFiscalPeriod
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Retrieves a file from Google Drive.

naftiko: "0.5"
info:
  label: "Google Drive File Viewer"
  description: "Retrieves a file from Google Drive."
  tags:
    - collaboration
    - google-drive
capability:
  exposes:
    - type: mcp
      namespace: collaboration
      port: 8080
      tools:
        - name: get-google
          description: "Retrieves a file from Google Drive."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The google drive file viewer identifier."
          call: "collaboration-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: collaboration-api
      baseUri: "https://api.vanguard.com/collaboration/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: google
          path: "/google/drive/file/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-google
              method: GET

Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests.

naftiko: "0.5"
info:
  label: "Infrastructure Capacity Planning Orchestrator"
  description: "Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests."
  tags:
    - infrastructure
    - planning
    - finance
capability:
  exposes:
    - type: mcp
      namespace: infrastructure
      port: 8080
      tools:
        - name: run-infrastructure-capacity-planning-orchestrator
          description: "Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Infrastructure Capacity Planning Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Queries Datadog for host and service health metrics and posts a daily infrastructure digest to the Ops Teams channel.

naftiko: "0.5"
info:
  title: Infrastructure Health Digest
  version: "1.0"
  description: Queries Datadog for host and service health metrics and posts a daily infrastructure digest to the Ops Teams channel.
  tags: [observability, reliability, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: post_infra_digest
        description: Retrieves infrastructure health summary from Datadog and posts a daily digest.
        inputParameters:
          - name: environment
            in: query
            required: true
            type: string
        steps:
          - name: get-host-metrics
            call:
              operationId: getHostMetrics
              input:
                env: "{{environment}}"
          - name: post-digest
            call:
              operationId: sendTeamsMessage
              input:
                channelId: ops-digest
                message: "Infrastructure digest ({{environment}}): {{get-host-metrics.healthy_hosts}} healthy, {{get-host-metrics.unhealthy_hosts}} unhealthy hosts."
  consumes:
    - type: http
      baseUri: https://api.datadoghq.com/api/v1
      authentication:
        type: apikey
        name: DD-API-KEY
        in: header
        key: $secrets.datadog_api_key
      resources:
        - path: /hosts
          operations:
            - id: getHostMetrics
              method: GET
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Retrieves a newly published internal investment research report and distributes it to relevant investment teams via Teams.

naftiko: "0.5"
info:
  title: Investment Research Report Distribution
  version: "1.0"
  description: Retrieves a newly published internal investment research report and distributes it to relevant investment teams via Teams.
  tags: [investments, analytics, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: distribute_research_report
        description: Fetches a research report and posts a summary with a link to relevant Teams channels.
        inputParameters:
          - name: report_id
            in: path
            required: true
            type: string
          - name: target_channel
            in: body
            required: true
            type: string
        steps:
          - name: get-report
            call:
              operationId: getResearchReport
              input:
                reportId: "{{report_id}}"
          - name: post-to-channel
            call:
              operationId: sendTeamsMessage
              input:
                channelId: "{{target_channel}}"
                message: "New research report: {{get-report.title}} by {{get-report.author}}. Summary: {{get-report.abstract}}. Link: {{get-report.url}}"
  consumes:
    - type: http
      baseUri: https://api.vanguard.com/research/v1
      authentication:
        type: bearer
        token: $secrets.vanguard_api_token
      resources:
        - path: /reports/{reportId}
          operations:
            - id: getResearchReport
              method: GET
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Detects market risk threshold breaches via Datadog, creates a ServiceNow incident, and alerts the Risk team via Teams.

naftiko: "0.5"
info:
  title: Investment Risk Incident Response
  version: "1.0"
  description: Detects market risk threshold breaches via Datadog, creates a ServiceNow incident, and alerts the Risk team via Teams.
  tags: [risk, observability, itsm, finance]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: respond_risk_incident
        description: Handles a market risk alert by creating a ServiceNow incident and notifying the Risk team.
        inputParameters:
          - name: monitor_id
            in: body
            required: true
            type: string
          - name: severity
            in: body
            required: true
            type: string
        steps:
          - name: get-monitor-alert
            call:
              operationId: getMonitor
              input:
                monitorId: "{{monitor_id}}"
          - name: create-snow-incident
            call:
              operationId: createIncident
              input:
                short_description: "Investment risk alert: {{get-monitor-alert.name}}"
                urgency: "{{severity}}"
                category: risk
          - name: notify-risk-team
            call:
              operationId: sendTeamsMessage
              input:
                channelId: risk-management
                message: "Risk incident {{create-snow-incident.number}} created: {{get-monitor-alert.name}} (severity: {{severity}})."
  consumes:
    - type: http
      baseUri: https://api.datadoghq.com/api/v1
      authentication:
        type: apikey
        name: DD-API-KEY
        in: header
        key: $secrets.datadog_api_key
      resources:
        - path: /monitor/{monitorId}
          operations:
            - id: getMonitor
              method: GET
    - type: http
      baseUri: https://vanguard.service-now.com/api/now/v1
      authentication:
        type: basic
        username: $secrets.snow_user
        password: $secrets.snow_password
      resources:
        - path: /table/incident
          operations:
            - id: createIncident
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Submits an IT change request in ServiceNow and notifies the Change Advisory Board via Teams.

naftiko: "0.5"
info:
  title: IT Change Management Approval
  version: "1.0"
  description: Submits an IT change request in ServiceNow and notifies the Change Advisory Board via Teams.
  tags: [itsm, change-management, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: submit_change_request
        description: Creates a change request in ServiceNow and alerts the CAB in Teams.
        inputParameters:
          - name: change_title
            in: body
            required: true
            type: string
          - name: risk_level
            in: body
            required: true
            type: string
          - name: planned_start
            in: body
            required: true
            type: string
        steps:
          - name: create-change
            call:
              operationId: createChangeRequest
              input:
                short_description: "{{change_title}}"
                risk: "{{risk_level}}"
                start_date: "{{planned_start}}"
          - name: notify-cab
            call:
              operationId: sendTeamsMessage
              input:
                channelId: change-advisory-board
                message: "New change request {{create-change.number}}: {{change_title}} (Risk: {{risk_level}}) scheduled for {{planned_start}}."
  consumes:
    - type: http
      baseUri: https://vanguard.service-now.com/api/now/v1
      authentication:
        type: basic
        username: $secrets.snow_user
        password: $secrets.snow_password
      resources:
        - path: /table/change_request
          operations:
            - id: createChangeRequest
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams.

naftiko: "0.5"
info:
  label: "IT Change Management Orchestrator"
  description: "Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams."
  tags:
    - it
    - servicenow
    - operations
capability:
  exposes:
    - type: mcp
      namespace: it
      port: 8080
      tools:
        - name: run-it-change-management-orchestrator
          description: "Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed IT Change Management Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Queries Jira for completed sprint stories and posts velocity metrics to the Engineering Teams channel.

naftiko: "0.5"
info:
  title: Jira Engineering Sprint Velocity Report
  version: "1.0"
  description: Queries Jira for completed sprint stories and posts velocity metrics to the Engineering Teams channel.
  tags: [devops, agile, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: get_sprint_velocity
        description: Fetches sprint completion data and posts velocity metrics.
        inputParameters:
          - name: board_id
            in: query
            required: true
            type: string
          - name: sprint_id
            in: query
            required: true
            type: string
        steps:
          - name: get-sprint-data
            call:
              operationId: getSprintReport
              input:
                boardId: "{{board_id}}"
                sprintId: "{{sprint_id}}"
          - name: post-velocity
            call:
              operationId: sendTeamsMessage
              input:
                channelId: engineering-metrics
                message: "Sprint {{sprint_id}} velocity: {{get-sprint-data.completed_points}} points completed of {{get-sprint-data.committed_points}} committed."
  consumes:
    - type: http
      baseUri: https://vanguard.atlassian.net/rest/agile/1.0
      authentication:
        type: basic
        username: $secrets.jira_user
        password: $secrets.jira_token
      resources:
        - path: /board/{boardId}/sprint/{sprintId}/report
          operations:
            - id: getSprintReport
              method: GET
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Retrieves a Jira ticket by issue key.

naftiko: "0.5"
info:
  label: "Jira Ticket Viewer"
  description: "Retrieves a Jira ticket by issue key."
  tags:
    - engineering
    - jira
capability:
  exposes:
    - type: mcp
      namespace: engineering
      port: 8080
      tools:
        - name: get-jira
          description: "Retrieves a Jira ticket by issue key."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The jira ticket viewer identifier."
          call: "engineering-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: engineering-api
      baseUri: "https://api.vanguard.com/engineering/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: jira
          path: "/jira/ticket/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-jira
              method: GET

Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates.

naftiko: "0.5"
info:
  label: "Knowledge Base Refresh Orchestrator"
  description: "Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates."
  tags:
    - knowledge-management
    - collaboration
    - operations
capability:
  exposes:
    - type: mcp
      namespace: knowledge-management
      port: 8080
      tools:
        - name: run-knowledge-base-refresh-orchestrator
          description: "Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Knowledge Base Refresh Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports.

naftiko: "0.5"
info:
  label: "Marketing Campaign Performance Orchestrator"
  description: "Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports."
  tags:
    - marketing
    - analytics
    - finance
capability:
  exposes:
    - type: mcp
      namespace: marketing
      port: 8080
      tools:
        - name: run-marketing-campaign-performance-orchestrator
          description: "Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Marketing Campaign Performance Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves email messages from Microsoft Outlook.

naftiko: "0.5"
info:
  label: "Microsoft Outlook Email Viewer"
  description: "Retrieves email messages from Microsoft Outlook."
  tags:
    - communications
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: communications
      port: 8080
      tools:
        - name: get-microsoft
          description: "Retrieves email messages from Microsoft Outlook."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The microsoft outlook email viewer identifier."
          call: "communications-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: communications-api
      baseUri: "https://api.vanguard.com/communications/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: microsoft
          path: "/microsoft/outlook/email/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-microsoft
              method: GET

Sends a message to a Microsoft Teams channel.

naftiko: "0.5"
info:
  label: "Microsoft Teams Message Sender"
  description: "Sends a message to a Microsoft Teams channel."
  tags:
    - communications
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: communications
      port: 8080
      tools:
        - name: get-microsoft
          description: "Sends a message to a Microsoft Teams channel."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The microsoft teams message sender identifier."
          call: "communications-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: communications-api
      baseUri: "https://api.vanguard.com/communications/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: microsoft
          path: "/microsoft/teams/message/sender/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-microsoft
              method: GET

Assigns or removes an Okta application entitlement for an employee based on a role change or access request.

naftiko: "0.5"
info:
  title: Okta Application Access Provisioning
  version: "1.0"
  description: Assigns or removes an Okta application entitlement for an employee based on a role change or access request.
  tags: [identity, hr, security]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: provision_app_access
        description: Assigns or revokes an Okta application entitlement for a given employee.
        inputParameters:
          - name: employee_id
            in: body
            required: true
            type: string
          - name: app_id
            in: body
            required: true
            type: string
          - name: action
            in: body
            required: true
            type: string
        call:
          operationId: assignOktaApp
          input:
            userId: "{{employee_id}}"
            appId: "{{app_id}}"
            action: "{{action}}"
        outputParameters:
          - name: assignment_id
            type: string
          - name: status
            type: string
  consumes:
    - type: http
      baseUri: https://vanguard.okta.com/api/v1
      authentication:
        type: bearer
        token: $secrets.okta_token
      resources:
        - path: /apps/{appId}/users
          operations:
            - id: assignOktaApp
              method: POST

Pulls active employee headcount and payroll cost summary from Workday for finance reporting.

naftiko: "0.5"
info:
  title: Payroll Headcount Snapshot
  version: "1.0"
  description: Pulls active employee headcount and payroll cost summary from Workday for finance reporting.
  tags: [hr, finance, payroll]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: get_payroll_snapshot
        description: Returns current headcount and total payroll cost broken down by business unit.
        inputParameters:
          - name: period
            in: query
            required: true
            type: string
        call:
          operationId: getPayrollSnapshot
          input:
            period: "{{period}}"
        outputParameters:
          - name: total_headcount
            type: integer
          - name: total_payroll_cost
            type: number
          - name: business_units
            type: array
  consumes:
    - type: http
      baseUri: https://wd3-impl-services1.workday.com/ccx/service/vanguard
      authentication:
        type: bearer
        token: $secrets.workday_token
      resources:
        - path: /payroll/snapshot
          operations:
            - id: getPayrollSnapshot
              method: GET

Retrieves portfolio holdings for a client account.

naftiko: "0.5"
info:
  label: "Portfolio Holdings Lookup"
  description: "Retrieves portfolio holdings for a client account."
  tags:
    - wealth-management
    - finance
capability:
  exposes:
    - type: mcp
      namespace: wealth-management
      port: 8080
      tools:
        - name: get-portfolio
          description: "Retrieves portfolio holdings for a client account."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The portfolio holdings lookup identifier."
          call: "wealth-management-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: wealth-management-api
      baseUri: "https://api.vanguard.com/wealth-management/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: portfolio
          path: "/portfolio/holdings/lookup/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-portfolio
              method: GET

Queries Snowflake for drift-triggered rebalancing candidates and posts a summary alert to the Investment Operations Teams channel.

naftiko: "0.5"
info:
  title: Portfolio Rebalancing Notification
  version: "1.0"
  description: Queries Snowflake for drift-triggered rebalancing candidates and posts a summary alert to the Investment Operations Teams channel.
  tags: [investments, data, analytics, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: notify_rebalancing_candidates
        description: Retrieves portfolios requiring rebalancing and posts a summary to Investment Operations.
        inputParameters:
          - name: drift_threshold_pct
            in: query
            required: true
            type: number
          - name: as_of_date
            in: query
            required: true
            type: string
        steps:
          - name: query-rebalancing-candidates
            call:
              operationId: querySnowflake
              input:
                query: "SELECT client_id, portfolio_id, drift_pct FROM portfolio_drift WHERE drift_pct >= {{drift_threshold_pct}} AND as_of_date = '{{as_of_date}}'"
          - name: post-summary
            call:
              operationId: sendTeamsMessage
              input:
                channelId: investment-operations
                message: "Rebalancing candidates as of {{as_of_date}}: {{query-rebalancing-candidates.row_count}} portfolios with drift >= {{drift_threshold_pct}}%."
  consumes:
    - type: http
      baseUri: https://vanguard.snowflakecomputing.com/api/v2
      authentication:
        type: bearer
        token: $secrets.snowflake_token
      resources:
        - path: /statements
          operations:
            - id: querySnowflake
              method: POST
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Triggers a Power BI dataset refresh.

naftiko: "0.5"
info:
  label: "Power BI Dashboard Refresher"
  description: "Triggers a Power BI dataset refresh."
  tags:
    - analytics
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: analytics
      port: 8080
      tools:
        - name: get-power
          description: "Triggers a Power BI dataset refresh."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The power bi dashboard refresher identifier."
          call: "analytics-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: analytics-api
      baseUri: "https://api.vanguard.com/analytics/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: power
          path: "/power/bi/dashboard/refresher/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-power
              method: GET

Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports.

naftiko: "0.5"
info:
  label: "Procurement Spend Analysis Orchestrator"
  description: "Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports."
  tags:
    - procurement
    - analytics
    - finance
capability:
  exposes:
    - type: mcp
      namespace: procurement
      port: 8080
      tools:
        - name: run-procurement-spend-analysis-orchestrator
          description: "Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Procurement Spend Analysis Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders.

naftiko: "0.5"
info:
  label: "Quarterly Business Review Orchestrator"
  description: "Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders."
  tags:
    - analytics
    - business
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: analytics
      port: 8080
      tools:
        - name: run-quarterly-business-review-orchestrator
          description: "Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Quarterly Business Review Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Pulls open requisition and candidate pipeline data from Workday Recruiting and posts a weekly digest to the Talent Acquisition Teams channel.

naftiko: "0.5"
info:
  title: Recruiting Pipeline Digest
  version: "1.0"
  description: Pulls open requisition and candidate pipeline data from Workday Recruiting and posts a weekly digest to the Talent Acquisition Teams channel.
  tags: [hr, recruiting, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: post_recruiting_digest
        description: Summarizes open reqs and pipeline stage counts and posts to Talent Acquisition channel.
        inputParameters:
          - name: department
            in: query
            required: true
            type: string
        steps:
          - name: get-open-reqs
            call:
              operationId: getOpenRequisitions
              input:
                department: "{{department}}"
          - name: post-digest
            call:
              operationId: sendTeamsMessage
              input:
                channelId: talent-acquisition
                message: "Recruiting digest for {{department}}: {{get-open-reqs.total_reqs}} open reqs, {{get-open-reqs.candidates_in_pipeline}} candidates in pipeline."
  consumes:
    - type: http
      baseUri: https://wd3-impl-services1.workday.com/ccx/service/vanguard
      authentication:
        type: bearer
        token: $secrets.workday_token
      resources:
        - path: /recruiting/requisitions
          operations:
            - id: getOpenRequisitions
              method: GET
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Retrieves a Salesforce account by account ID.

naftiko: "0.5"
info:
  label: "Salesforce Account Viewer"
  description: "Retrieves a Salesforce account by account ID."
  tags:
    - sales
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: sales
      port: 8080
      tools:
        - name: get-salesforce
          description: "Retrieves a Salesforce account by account ID."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The salesforce account viewer identifier."
          call: "sales-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: sales-api
      baseUri: "https://api.vanguard.com/sales/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: salesforce
          path: "/salesforce/account/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-salesforce
              method: GET

Retrieves purchase order details from SAP S/4HANA for procurement and vendor review.

naftiko: "0.5"
info:
  title: SAP Purchase Order Lookup
  version: "1.0"
  description: Retrieves purchase order details from SAP S/4HANA for procurement and vendor review.
  tags: [procurement, erp, finance]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: lookup_purchase_order
        description: Returns purchase order header and line item details from SAP.
        inputParameters:
          - name: po_number
            in: path
            required: true
            type: string
        call:
          operationId: getPurchaseOrder
          input:
            poNumber: "{{po_number}}"
        outputParameters:
          - name: vendor
            type: string
          - name: total_amount
            type: number
          - name: status
            type: string
          - name: line_items
            type: array
  consumes:
    - type: http
      baseUri: https://vanguard-sap.example.com/sap/opu/odata/sap
      authentication:
        type: basic
        username: $secrets.sap_user
        password: $secrets.sap_password
      resources:
        - path: /API_PURCHASEORDER_PROCESS_SRV/A_PurchaseOrder('{poNumber}')
          operations:
            - id: getPurchaseOrder
              method: GET

Retrieves a SAP purchase order by number.

naftiko: "0.5"
info:
  label: "SAP Purchase Order Viewer"
  description: "Retrieves a SAP purchase order by number."
  tags:
    - procurement
    - sap
capability:
  exposes:
    - type: mcp
      namespace: procurement
      port: 8080
      tools:
        - name: get-sap
          description: "Retrieves a SAP purchase order by number."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The sap purchase order viewer identifier."
          call: "procurement-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: procurement-api
      baseUri: "https://api.vanguard.com/procurement/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: sap
          path: "/sap/purchase/order/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-sap
              method: GET

Checks upcoming SEC filing deadlines in ServiceNow GRC and alerts the Legal and Compliance team via Teams.

naftiko: "0.5"
info:
  title: SEC Regulatory Filing Compliance Check
  version: "1.0"
  description: Checks upcoming SEC filing deadlines in ServiceNow GRC and alerts the Legal and Compliance team via Teams.
  tags: [compliance, regulatory, finance, communication]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: check_filing_compliance
        description: Retrieves pending SEC filing deadlines and posts reminders to the Compliance team.
        inputParameters:
          - name: days_ahead
            in: query
            required: true
            type: integer
        steps:
          - name: get-pending-filings
            call:
              operationId: getPendingFilings
              input:
                daysAhead: "{{days_ahead}}"
          - name: post-reminder
            call:
              operationId: sendTeamsMessage
              input:
                channelId: legal-compliance
                message: "Upcoming SEC filings in the next {{days_ahead}} days: {{get-pending-filings.count}} filings due. Earliest: {{get-pending-filings.next_deadline}}."
  consumes:
    - type: http
      baseUri: https://vanguard.service-now.com/api/now/v1
      authentication:
        type: basic
        username: $secrets.snow_user
        password: $secrets.snow_password
      resources:
        - path: /table/sn_compliance_policy_statement
          operations:
            - id: getPendingFilings
              method: GET
    - type: http
      baseUri: https://graph.microsoft.com/v1.0
      authentication:
        type: bearer
        token: $secrets.ms_graph_token
      resources:
        - path: /teams/messages
          operations:
            - id: sendTeamsMessage
              method: POST

Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation.

naftiko: "0.5"
info:
  label: "Security Audit Orchestrator"
  description: "Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation."
  tags:
    - security
    - servicenow
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: security
      port: 8080
      tools:
        - name: run-security-audit-orchestrator
          description: "Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Security Audit Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Creates a new incident in ServiceNow.

naftiko: "0.5"
info:
  label: "ServiceNow Incident Creator"
  description: "Creates a new incident in ServiceNow."
  tags:
    - it
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: it
      port: 8080
      tools:
        - name: get-servicenow
          description: "Creates a new incident in ServiceNow."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The servicenow incident creator identifier."
          call: "it-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: it-api
      baseUri: "https://api.vanguard.com/it/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: servicenow
          path: "/servicenow/incident/creator/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-servicenow
              method: GET

Retrieves a document from SharePoint.

naftiko: "0.5"
info:
  label: "SharePoint Document Viewer"
  description: "Retrieves a document from SharePoint."
  tags:
    - collaboration
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: collaboration
      port: 8080
      tools:
        - name: get-sharepoint
          description: "Retrieves a document from SharePoint."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The sharepoint document viewer identifier."
          call: "collaboration-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: collaboration-api
      baseUri: "https://api.vanguard.com/collaboration/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: sharepoint
          path: "/sharepoint/document/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-sharepoint
              method: GET

Sends a notification to a Slack channel.

naftiko: "0.5"
info:
  label: "Slack Notification Publisher"
  description: "Sends a notification to a Slack channel."
  tags:
    - communications
    - slack
capability:
  exposes:
    - type: mcp
      namespace: communications
      port: 8080
      tools:
        - name: get-slack
          description: "Sends a notification to a Slack channel."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The slack notification publisher identifier."
          call: "communications-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: communications-api
      baseUri: "https://api.vanguard.com/communications/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: slack
          path: "/slack/notification/publisher/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-slack
              method: GET

Runs an analytics query against the Snowflake data warehouse.

naftiko: "0.5"
info:
  label: "Snowflake Analytics Query"
  description: "Runs an analytics query against the Snowflake data warehouse."
  tags:
    - analytics
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: analytics
      port: 8080
      tools:
        - name: get-snowflake
          description: "Runs an analytics query against the Snowflake data warehouse."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The snowflake analytics query identifier."
          call: "analytics-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: analytics-api
      baseUri: "https://api.vanguard.com/analytics/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: snowflake
          path: "/snowflake/analytics/query/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-snowflake
              method: GET

Queries Datadog for data pipeline lag metrics and creates a ServiceNow incident if thresholds are exceeded.

naftiko: "0.5"
info:
  title: Snowflake Data Pipeline Health Check
  version: "1.0"
  description: Queries Datadog for data pipeline lag metrics and creates a ServiceNow incident if thresholds are exceeded.
  tags: [data, observability, itsm, analytics]
capability:
  exposes:
    type: mcp
    port: 8080
    tools:
      - name: check_pipeline_health
        description: Checks data pipeline lag and creates a ServiceNow incident if lag exceeds limits.
        inputParameters:
          - name: pipeline_name
            in: query
            required: true
            type: string
          - name: max_lag_minutes
            in: query
            required: true
            type: integer
        steps:
          - name: query-lag-metric
            call:
              operationId: queryMetric
              input:
                query: "avg:pipeline.lag{pipeline:{{pipeline_name}}}"
          - name: create-incident
            call:
              operationId: createIncident
              input:
                short_description: "Data pipeline {{pipeline_name}} lag of {{query-lag-metric.value}} minutes exceeds threshold of {{max_lag_minutes}}"
                urgency: "2"
                category: data
  consumes:
    - type: http
      baseUri: https://api.datadoghq.com/api/v1
      authentication:
        type: apikey
        name: DD-API-KEY
        in: header
        key: $secrets.datadog_api_key
      resources:
        - path: /metrics/query
          operations:
            - id: queryMetric
              method: GET
    - type: http
      baseUri: https://vanguard.service-now.com/api/now/v1
      authentication:
        type: basic
        username: $secrets.snow_user
        password: $secrets.snow_password
      resources:
        - path: /table/incident
          operations:
            - id: createIncident
              method: POST

Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports.

naftiko: "0.5"
info:
  label: "Sustainability Metrics Collection Orchestrator"
  description: "Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports."
  tags:
    - sustainability
    - analytics
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: sustainability
      port: 8080
      tools:
        - name: run-sustainability-metrics-collection-orchestrator
          description: "Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Sustainability Metrics Collection Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans.

naftiko: "0.5"
info:
  label: "Third Party Risk Assessment Orchestrator"
  description: "Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans."
  tags:
    - risk
    - procurement
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: risk
      port: 8080
      tools:
        - name: run-third-party-risk-assessment-orchestrator
          description: "Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Third Party Risk Assessment Orchestrator for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Checks the settlement status of a trade.

naftiko: "0.5"
info:
  label: "Trade Settlement Status"
  description: "Checks the settlement status of a trade."
  tags:
    - trading
    - operations
capability:
  exposes:
    - type: mcp
      namespace: trading
      port: 8080
      tools:
        - name: get-trade
          description: "Checks the settlement status of a trade."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The trade settlement status identifier."
          call: "trading-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: trading-api
      baseUri: "https://api.vanguard.com/trading/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: trade
          path: "/trade/settlement/status/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-trade
              method: GET

Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign.

naftiko: "0.5"
info:
  label: "Vendor Contract Renewal Pipeline"
  description: "Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign."
  tags:
    - procurement
    - legal
    - docusign
capability:
  exposes:
    - type: mcp
      namespace: procurement
      port: 8080
      tools:
        - name: run-vendor-contract-renewal-pipeline
          description: "Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign."
          inputParameters:
            - name: request_id
              in: body
              type: string
              description: "The unique request identifier."
          steps:
            - name: step-1
              type: call
              call: "primary-api.initiate"
              with:
                request_id: "{{request_id}}"
            - name: step-2
              type: call
              call: "secondary-api.process"
              with:
                request_id: "{{request_id}}"
                data: "{{step-1.result}}"
            - name: notify
              type: call
              call: "notification-api.send"
              with:
                channel: "operations"
                message: "Completed Vendor Contract Renewal Pipeline for request {{request_id}}."
  consumes:
    - type: http
      namespace: primary-api
      baseUri: "https://api.vanguard.com/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: primary
          path: "/process"
          operations:
            - name: initiate
              method: POST
    - type: http
      namespace: secondary-api
      baseUri: "https://api.vanguard.com/v2"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: secondary
          path: "/execute"
          operations:
            - name: process
              method: POST
    - type: http
      namespace: notification-api
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/teams/notifications"
          operations:
            - name: send
              method: POST

Retrieves employee profile from Workday.

naftiko: "0.5"
info:
  label: "Workday Employee Profile"
  description: "Retrieves employee profile from Workday."
  tags:
    - hr
    - workday
capability:
  exposes:
    - type: mcp
      namespace: hr
      port: 8080
      tools:
        - name: get-workday
          description: "Retrieves employee profile from Workday."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The workday employee profile identifier."
          call: "hr-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: hr-api
      baseUri: "https://api.vanguard.com/hr/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: workday
          path: "/workday/employee/profile/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-workday
              method: GET

Retrieves time off balance from Workday.

naftiko: "0.5"
info:
  label: "Workday Time Off Viewer"
  description: "Retrieves time off balance from Workday."
  tags:
    - hr
    - workday
capability:
  exposes:
    - type: mcp
      namespace: hr
      port: 8080
      tools:
        - name: get-workday
          description: "Retrieves time off balance from Workday."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The workday time off viewer identifier."
          call: "hr-api.get-data"
          with:
            entity_id: "{{entity_id}}"
  consumes:
    - type: http
      namespace: hr-api
      baseUri: "https://api.vanguard.com/hr/v1"
      authentication:
        type: bearer
        token: "$secrets.vanguard_api_token"
      resources:
        - name: workday
          path: "/workday/time/off/viewer/{{entity_id}}"
          inputParameters:
            - name: entity_id
              in: path
          operations:
            - name: get-workday
              method: GET