Scotiabank Capabilities

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

Sort
Expand

Orchestrates aml case investigation pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Screens a batch of transactions against AML rules via the compliance API, logs results to Splunk, and creates ServiceNow cases for flagged transactions.

naftiko: "0.5"
info:
  label: "AML Transaction Screening Pipeline"
  description: "Screens a batch of transactions against AML rules via the compliance API, logs results to Splunk, and creates ServiceNow cases for flagged transactions."
  tags:
    - compliance
    - aml
    - mulesoft
    - splunk
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: aml-screening
      port: 8080
      tools:
        - name: screen-transactions
          description: "Given a batch ID, screen transactions, log to Splunk, and create cases for flagged items."
          inputParameters:
            - name: batch_id
              in: body
              type: string
              description: "The transaction batch ID."
          steps:
            - name: run-screening
              type: call
              call: "mulesoft.screen-batch"
              with:
                batch_id: "{{batch_id}}"
            - name: log-results
              type: call
              call: "splunk.create-event"
              with:
                index: "aml_screening"
                event: "Batch {{batch_id}} screened. Total: {{run-screening.total}}. Flagged: {{run-screening.flagged_count}}."
            - name: create-cases
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "AML flagged transactions: Batch {{batch_id}}"
                assigned_group: "AML_Investigations"
                description: "Batch {{batch_id}} — {{run-screening.flagged_count}} transactions flagged for review. Total screened: {{run-screening.total}}."
  consumes:
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: screening
          path: "/compliance/aml/screen"
          operations:
            - name: screen-batch
              method: POST
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: events
          path: "/collectors/event"
          operations:
            - name: create-event
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/task"
          operations:
            - name: create-task
              method: POST

Orchestrates anti fraud transaction monitoring pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Anti Fraud Transaction Monitoring Pipeline"
  description: "Orchestrates anti fraud transaction monitoring pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - anti
    - scotiabank
    - servicenow
    - snowflake
    - slack
capability:
  exposes:
    - type: mcp
      namespace: anti
      port: 8080
      tools:
        - name: anti-fraud-transaction-monitoring-pipeline
          description: "Orchestrates anti fraud transaction monitoring pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "servicenow.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "snowflake.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "slack.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: bearer
        token: "$secrets.servicenow_token"
      resources:
        - name: servicenow-resource
          path: "/api/anti"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://scotiabank.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/api/anti"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/api/anti"
          operations:
            - name: execute-3
              method: POST

Orchestrates atm cash management pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Retrieves auto loan payment schedule data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Auto Loan Payment Schedule"
  description: "Retrieves auto loan payment schedule data from the Scotiabank banking and financial services systems."
  tags:
    - auto
    - scotiabank
    - schedule
capability:
  exposes:
    - type: mcp
      namespace: auto
      port: 8080
      tools:
        - name: auto-loan-payment-schedule
          description: "Retrieves auto loan payment schedule data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.auto-loan-payment-schedule"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/auto/loan/payment/schedule/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: auto-loan-payment-schedule
              method: GET

Retrieves the latest build status for an Azure DevOps pipeline.

naftiko: "0.5"
info:
  label: "Azure DevOps Build Status"
  description: "Retrieves the latest build status for an Azure DevOps pipeline."
  tags:
    - ci-cd
    - engineering
    - azure-devops
capability:
  exposes:
    - type: mcp
      namespace: devops-ci
      port: 8080
      tools:
        - name: get-build-status
          description: "Look up latest build for an Azure DevOps pipeline."
          inputParameters:
            - name: project
              in: body
              type: string
              description: "The project name."
            - name: pipeline_id
              in: body
              type: string
              description: "The pipeline ID."
          call: "azdevops.get-latest-build"
          with:
            project: "{{project}}"
            pipeline_id: "{{pipeline_id}}"
  consumes:
    - type: http
      namespace: azdevops
      baseUri: "https://dev.azure.com/scotiabank"
      authentication:
        type: basic
        username: "$secrets.azdevops_user"
        password: "$secrets.azdevops_pat"
      resources:
        - name: builds
          path: "/{{project}}/_apis/build/builds?definitions={{pipeline_id}}&$top=1&api-version=7.0"
          inputParameters:
            - name: project
              in: path
            - name: pipeline_id
              in: path
          operations:
            - name: get-latest-build
              method: GET

Retrieves a secret value from Azure Key Vault for secure credential management in banking applications.

naftiko: "0.5"
info:
  label: "Azure Key Vault Secret Retrieval"
  description: "Retrieves a secret value from Azure Key Vault for secure credential management in banking applications."
  tags:
    - security
    - credentials
    - azure-key-vault
capability:
  exposes:
    - type: mcp
      namespace: secret-mgmt
      port: 8080
      tools:
        - name: get-secret
          description: "Retrieve a secret from Azure Key Vault."
          inputParameters:
            - name: secret_name
              in: body
              type: string
              description: "The secret name."
          call: "keyvault.get-secret"
          with:
            secret_name: "{{secret_name}}"
  consumes:
    - type: http
      namespace: keyvault
      baseUri: "https://scotiabank-vault.vault.azure.net"
      authentication:
        type: bearer
        token: "$secrets.azure_keyvault_token"
      resources:
        - name: secrets
          path: "/secrets/{{secret_name}}?api-version=7.4"
          inputParameters:
            - name: secret_name
              in: path
          operations:
            - name: get-secret
              method: GET

Queries Datadog for ATM device health metrics by branch and alerts the operations team via Microsoft Teams when issues are detected.

naftiko: "0.5"
info:
  label: "Branch ATM Health Monitor"
  description: "Queries Datadog for ATM device health metrics by branch and alerts the operations team via Microsoft Teams when issues are detected."
  tags:
    - operations
    - atm
    - datadog
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: atm-monitoring
      port: 8080
      tools:
        - name: check-atm-health
          description: "Given a branch code, check ATM health in Datadog and alert if issues."
          inputParameters:
            - name: branch_code
              in: body
              type: string
              description: "The branch code."
          steps:
            - name: get-atm-metrics
              type: call
              call: "datadog.get-hosts"
              with:
                filter: "branch:{{branch_code}},device:atm"
            - name: notify-ops
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "atm_operations"
                text: "ATM Health Check — Branch {{branch_code}}: {{get-atm-metrics.total_matching}} ATMs monitored. Check Datadog for details."
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: hosts
          path: "/hosts?filter={{filter}}"
          inputParameters:
            - name: filter
              in: path
          operations:
            - name: get-hosts
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates branch performance analytics pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Branch Performance Analytics Pipeline"
  description: "Orchestrates branch performance analytics pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - branch
    - scotiabank
    - jira
    - teams
    - splunk
capability:
  exposes:
    - type: mcp
      namespace: branch
      port: 8080
      tools:
        - name: branch-performance-analytics-pipeline
          description: "Orchestrates branch performance analytics pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "jira.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "teams.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "splunk.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://scotiabank.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/api/branch"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/branch"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: splunk-resource
          path: "/api/branch"
          operations:
            - name: execute-3
              method: POST

Retrieves business account cash flow summary data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Business Account Cash Flow Summary"
  description: "Retrieves business account cash flow summary data from the Scotiabank banking and financial services systems."
  tags:
    - business
    - scotiabank
    - summary
capability:
  exposes:
    - type: mcp
      namespace: business
      port: 8080
      tools:
        - name: business-account-cash-flow-summary
          description: "Retrieves business account cash flow summary data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.business-account-cash-flow-summary"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/business/account/cash/flow/summary/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: business-account-cash-flow-summary
              method: GET

Orchestrates business loan origination pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Business Loan Origination Pipeline"
  description: "Orchestrates business loan origination pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - business
    - scotiabank
    - teams
    - splunk
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: business
      port: 8080
      tools:
        - name: business-loan-origination-pipeline
          description: "Orchestrates business loan origination pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "teams.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "splunk.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/business"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: splunk-resource
          path: "/api/business"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/business"
          operations:
            - name: execute-3
              method: POST

Queries Cloudflare CDN performance metrics for Scotiabank digital properties.

naftiko: "0.5"
info:
  label: "Cloudflare CDN Performance"
  description: "Queries Cloudflare CDN performance metrics for Scotiabank digital properties."
  tags: [infrastructure, cdn, cloudflare]
capability:
  exposes:
    - type: mcp
      namespace: cdn
      port: 8080
      tools:
        - name: get-cdn-performance
          description: "Retrieve Cloudflare zone analytics."
          inputParameters:
            - name: zone_id
              in: body
              type: string
              description: "Cloudflare zone ID."
          call: "cloudflare.get-zone-analytics"
          with:
            zone_id: "{{zone_id}}"
  consumes:
    - type: http
      namespace: cloudflare
      baseUri: "https://api.cloudflare.com/client/v4"
      authentication:
        type: bearer
        token: "$secrets.cloudflare_token"
      resources:
        - name: analytics
          path: "/zones/{{zone_id}}/analytics/dashboard"
          inputParameters:
            - name: zone_id
              in: path
          operations:
            - name: get-zone-analytics
              method: GET

Searches Confluence for policy and operations documentation.

naftiko: "0.5"
info:
  label: "Confluence Documentation Search"
  description: "Searches Confluence for policy and operations documentation."
  tags:
    - documentation
    - knowledge-management
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: knowledge
      port: 8080
      tools:
        - name: search-docs
          description: "Search Confluence for documentation."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The search keyword."
          call: "confluence.search"
          with:
            query: "{{query}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: search
          path: "/search?cql=type=page AND text~\"{{query}}\""
          inputParameters:
            - name: query
              in: path
          operations:
            - name: search
              method: GET

Orchestrates correspondent banking compliance pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

When a credit card dispute is filed, creates a ServiceNow case, pulls transaction details via MuleSoft, notifies the disputes team in Microsoft Teams, and sends a status update email via Microsoft Outlook.

naftiko: "0.5"
info:
  label: "Credit Card Dispute Resolution Pipeline"
  description: "When a credit card dispute is filed, creates a ServiceNow case, pulls transaction details via MuleSoft, notifies the disputes team in Microsoft Teams, and sends a status update email via Microsoft Outlook."
  tags:
    - payments
    - disputes
    - servicenow
    - mulesoft
    - microsoft-teams
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: card-disputes
      port: 8080
      tools:
        - name: process-card-dispute
          description: "Given a transaction ID and customer ID, create a dispute case, pull details, and notify."
          inputParameters:
            - name: transaction_id
              in: body
              type: string
              description: "The disputed transaction ID."
            - name: customer_id
              in: body
              type: string
              description: "The customer ID."
            - name: dispute_reason
              in: body
              type: string
              description: "The reason for dispute."
          steps:
            - name: get-transaction
              type: call
              call: "mulesoft.get-transaction"
              with:
                transaction_id: "{{transaction_id}}"
            - name: get-customer
              type: call
              call: "salesforce.get-customer"
              with:
                customer_id: "{{customer_id}}"
            - name: create-dispute-case
              type: call
              call: "servicenow.create-case"
              with:
                short_description: "Card Dispute: {{get-customer.name}} — {{get-transaction.merchant}}"
                category: "card_dispute"
                assigned_group: "Card_Disputes"
                description: "Customer: {{get-customer.name}}. Transaction: {{transaction_id}} at {{get-transaction.merchant}} for {{get-transaction.amount}} {{get-transaction.currency}}. Reason: {{dispute_reason}}."
            - name: notify-disputes-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "card_disputes"
                text: "New Dispute: {{get-customer.name}} — {{get-transaction.merchant}} ({{get-transaction.amount}} {{get-transaction.currency}}). Case: {{create-dispute-case.number}}. Reason: {{dispute_reason}}."
            - name: send-customer-email
              type: call
              call: "outlook.send-mail"
              with:
                recipient: "{{get-customer.email}}"
                subject: "Dispute Filed: {{create-dispute-case.number}}"
                body: "Dear {{get-customer.name}}, your dispute for {{get-transaction.amount}} {{get-transaction.currency}} at {{get-transaction.merchant}} has been filed. Reference: {{create-dispute-case.number}}."
  consumes:
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: transactions
          path: "/payments/transactions/{{transaction_id}}"
          inputParameters:
            - name: transaction_id
              in: path
          operations:
            - name: get-transaction
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: customers
          path: "/sobjects/Account/{{customer_id}}"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: get-customer
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: cases
          path: "/table/sn_customerservice_case"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: mail
          path: "/me/sendMail"
          operations:
            - name: send-mail
              method: POST

Retrieves credit card rewards balance data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Credit Card Rewards Balance"
  description: "Retrieves credit card rewards balance data from the Scotiabank banking and financial services systems."
  tags:
    - credit
    - scotiabank
    - balance
capability:
  exposes:
    - type: mcp
      namespace: credit
      port: 8080
      tools:
        - name: credit-card-rewards-balance
          description: "Retrieves credit card rewards balance data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.credit-card-rewards-balance"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/credit/card/rewards/balance/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: credit-card-rewards-balance
              method: GET

Orchestrates credit risk monitoring pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Orchestrates customer accessibility compliance pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

When a new customer account is created in Salesforce, provisions the account in the core banking system via MuleSoft, opens a ServiceNow onboarding ticket, and notifies the branch manager via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Customer Account Opening Orchestrator"
  description: "When a new customer account is created in Salesforce, provisions the account in the core banking system via MuleSoft, opens a ServiceNow onboarding ticket, and notifies the branch manager via Microsoft Teams."
  tags:
    - banking
    - account-opening
    - salesforce
    - mulesoft
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: account-opening
      port: 8080
      tools:
        - name: orchestrate-account-opening
          description: "Given a Salesforce customer ID, provision the core banking account, create an onboarding ticket, and notify the branch."
          inputParameters:
            - name: customer_id
              in: body
              type: string
              description: "The Salesforce customer record ID."
            - name: account_type
              in: body
              type: string
              description: "The account type (e.g., chequing, savings, investment)."
            - name: branch_code
              in: body
              type: string
              description: "The Scotiabank branch code."
          steps:
            - name: get-customer
              type: call
              call: "salesforce.get-customer"
              with:
                customer_id: "{{customer_id}}"
            - name: provision-account
              type: call
              call: "mulesoft.create-account"
              with:
                customer_name: "{{get-customer.name}}"
                account_type: "{{account_type}}"
                branch_code: "{{branch_code}}"
                sin_hash: "{{get-customer.sin_hash}}"
            - name: create-onboarding-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "New account onboarding: {{get-customer.name}} — {{account_type}}"
                category: "account_onboarding"
                assigned_group: "Branch_Ops_{{branch_code}}"
                description: "Customer {{get-customer.name}}. Account: {{provision-account.account_number}}. Type: {{account_type}}."
            - name: notify-branch
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "branch_{{branch_code}}"
                text: "New {{account_type}} account opened: {{get-customer.name}}. Account: {{provision-account.account_number}}. Ticket: {{create-onboarding-ticket.number}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: customers
          path: "/sobjects/Account/{{customer_id}}"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: get-customer
              method: GET
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: accounts
          path: "/core-banking/accounts"
          operations:
            - name: create-account
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

When a customer complaint is escalated, creates a ServiceNow priority case, pulls customer relationship data from Salesforce, and notifies the branch manager and ombudsman via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Customer Complaint Escalation Pipeline"
  description: "When a customer complaint is escalated, creates a ServiceNow priority case, pulls customer relationship data from Salesforce, and notifies the branch manager and ombudsman via Microsoft Teams."
  tags:
    - customer-service
    - complaints
    - servicenow
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: complaint-escalation
      port: 8080
      tools:
        - name: escalate-complaint
          description: "Given a customer ID and complaint details, create a priority case and notify relevant parties."
          inputParameters:
            - name: customer_id
              in: body
              type: string
              description: "The Salesforce customer ID."
            - name: complaint_summary
              in: body
              type: string
              description: "Summary of the complaint."
            - name: branch_code
              in: body
              type: string
              description: "The originating branch code."
          steps:
            - name: get-customer
              type: call
              call: "salesforce.get-customer"
              with:
                customer_id: "{{customer_id}}"
            - name: create-case
              type: call
              call: "servicenow.create-case"
              with:
                short_description: "Escalated Complaint: {{get-customer.name}} — Branch {{branch_code}}"
                category: "customer_complaint"
                urgency: "high"
                assigned_group: "Customer_Relations"
                description: "Customer: {{get-customer.name}} ({{get-customer.segment}}). Branch: {{branch_code}}. Complaint: {{complaint_summary}}."
            - name: notify-branch-manager
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "branch_{{branch_code}}"
                text: "Complaint Escalated: {{get-customer.name}} ({{get-customer.segment}}). Case: {{create-case.number}}. Summary: {{complaint_summary}}."
            - name: notify-ombudsman
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "customer_relations"
                text: "Escalated Complaint: {{get-customer.name}} — Branch {{branch_code}}. Case: {{create-case.number}}. Segment: {{get-customer.segment}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: customers
          path: "/sobjects/Account/{{customer_id}}"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: get-customer
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: cases
          path: "/table/sn_customerservice_case"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates customer complaint management pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Complaint Management Pipeline"
  description: "Orchestrates customer complaint management pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - scotiabank
    - splunk
    - confluence
    - bloomberg
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-complaint-management-pipeline
          description: "Orchestrates customer complaint management pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "splunk.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "confluence.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "bloomberg.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: splunk-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Orchestrates customer cross sell pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Cross Sell Pipeline"
  description: "Orchestrates customer cross sell pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - scotiabank
    - teams
    - splunk
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-cross-sell-pipeline
          description: "Orchestrates customer cross sell pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "teams.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "splunk.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: splunk-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Orchestrates customer data quality pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Data Quality Pipeline"
  description: "Orchestrates customer data quality pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - scotiabank
    - confluence
    - bloomberg
    - scotiabank
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-data-quality-pipeline
          description: "Orchestrates customer data quality pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "confluence.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "bloomberg.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "scotiabank.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: scotiabank-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Retrieves customer digital engagement score data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Customer Digital Engagement Score"
  description: "Retrieves customer digital engagement score data from the Scotiabank banking and financial services systems."
  tags:
    - customer
    - scotiabank
    - score
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-digital-engagement-score
          description: "Retrieves customer digital engagement score data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.customer-digital-engagement-score"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/customer/digital/engagement/score/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: customer-digital-engagement-score
              method: GET

Orchestrates customer feedback action pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Orchestrates customer financial wellness pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Orchestrates customer identity verification pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Customer Identity Verification Pipeline"
  description: "Orchestrates customer identity verification pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - customer
    - scotiabank
    - bloomberg
    - scotiabank
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-identity-verification-pipeline
          description: "Orchestrates customer identity verification pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "bloomberg.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "scotiabank.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "salesforce.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/customer"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: scotiabank-resource
          path: "/api/customer"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/customer"
          operations:
            - name: execute-3
              method: POST

Orchestrates customer journey analytics pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Orchestrates customer onboarding digital pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Retrieves customer product eligibility data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Customer Product Eligibility"
  description: "Retrieves customer product eligibility data from the Scotiabank banking and financial services systems."
  tags:
    - customer
    - scotiabank
    - eligibility
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-product-eligibility
          description: "Retrieves customer product eligibility data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.customer-product-eligibility"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/customer/product/eligibility/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: customer-product-eligibility
              method: GET

Orchestrates customer retention intervention pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Retrieves customer segment classification data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Customer Segment Classification"
  description: "Retrieves customer segment classification data from the Scotiabank banking and financial services systems."
  tags:
    - customer
    - scotiabank
    - classification
capability:
  exposes:
    - type: mcp
      namespace: customer
      port: 8080
      tools:
        - name: customer-segment-classification
          description: "Retrieves customer segment classification data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.customer-segment-classification"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/customer/segment/classification/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: customer-segment-classification
              method: GET

Orchestrates cybersecurity threat intelligence pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Cybersecurity Threat Intelligence Pipeline"
  description: "Orchestrates cybersecurity threat intelligence pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - cybersecurity
    - scotiabank
    - splunk
    - confluence
    - bloomberg
capability:
  exposes:
    - type: mcp
      namespace: cybersecurity
      port: 8080
      tools:
        - name: cybersecurity-threat-intelligence-pipeline
          description: "Orchestrates cybersecurity threat intelligence pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "splunk.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "confluence.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "bloomberg.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: splunk-resource
          path: "/api/cybersecurity"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/cybersecurity"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/cybersecurity"
          operations:
            - name: execute-3
              method: POST

Queries Datadog for infrastructure host health.

naftiko: "0.5"
info:
  label: "Datadog Infrastructure Monitor"
  description: "Queries Datadog for infrastructure host health."
  tags:
    - monitoring
    - infrastructure
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: infra-monitoring
      port: 8080
      tools:
        - name: get-host-health
          description: "Query Datadog for host health."
          inputParameters:
            - name: host_name
              in: body
              type: string
              description: "The host name."
          call: "datadog.get-host"
          with:
            host_name: "{{host_name}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: hosts
          path: "/hosts?filter={{host_name}}"
          inputParameters:
            - name: host_name
              in: path
          operations:
            - name: get-host
              method: GET

Orchestrates digital banking feature rollout pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Orchestrates digital lending decisioning pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Retrieves DocuSign envelope status for loan agreements.

naftiko: "0.5"
info:
  label: "DocuSign Agreement Status"
  description: "Retrieves DocuSign envelope status for loan agreements."
  tags:
    - lending
    - document-signing
    - docusign
capability:
  exposes:
    - type: mcp
      namespace: doc-signing
      port: 8080
      tools:
        - name: get-envelope-status
          description: "Look up a DocuSign envelope status."
          inputParameters:
            - name: envelope_id
              in: body
              type: string
              description: "The DocuSign envelope ID."
          call: "docusign.get-envelope"
          with:
            envelope_id: "{{envelope_id}}"
  consumes:
    - type: http
      namespace: docusign
      baseUri: "https://na4.docusign.net/restapi/v2.1/accounts/$secrets.docusign_account_id"
      authentication:
        type: bearer
        token: "$secrets.docusign_token"
      resources:
        - name: envelopes
          path: "/envelopes/{{envelope_id}}"
          inputParameters:
            - name: envelope_id
              in: path
          operations:
            - name: get-envelope
              method: GET

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

naftiko: "0.5"
info:
  label: "Employee Onboarding Orchestrator"
  description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
  tags:
    - hr
    - onboarding
    - workday
    - servicenow
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: hr-onboarding
      port: 8080
      tools:
        - name: trigger-onboarding
          description: "Given a Workday employee ID and start date, orchestrate onboarding across ServiceNow, SharePoint, and Microsoft Teams."
          inputParameters:
            - name: workday_employee_id
              in: body
              type: string
              description: "The Workday worker ID."
            - name: start_date
              in: body
              type: string
              description: "Start date in YYYY-MM-DD."
            - name: department
              in: body
              type: string
              description: "The department."
          steps:
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{workday_employee_id}}"
            - name: open-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "New hire onboarding: {{get-employee.full_name}}"
                category: "hr_onboarding"
                assigned_group: "IT_Onboarding"
                description: "Onboarding for {{get-employee.full_name}} starting {{start_date}} in {{department}}."
            - name: provision-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "hr_onboarding_site"
                folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
            - name: send-welcome
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "new_hires"
                text: "Welcome to Scotiabank, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}. Documents: {{provision-folder.url}}."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: drive-items
          path: "/{{site_id}}/drive/root:/{{folder_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
          operations:
            - name: create-folder
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates esg portfolio screening pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Esg Portfolio Screening Pipeline"
  description: "Orchestrates esg portfolio screening pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - esg
    - scotiabank
    - bloomberg
    - scotiabank
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: esg
      port: 8080
      tools:
        - name: esg-portfolio-screening-pipeline
          description: "Orchestrates esg portfolio screening pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "bloomberg.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "scotiabank.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "salesforce.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/esg"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: scotiabank-resource
          path: "/api/esg"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/esg"
          operations:
            - name: execute-3
              method: POST

Retrieves expense reports from SAP Concur, validates against Workday cost center, and opens a ServiceNow task.

naftiko: "0.5"
info:
  label: "Expense Report Review Pipeline"
  description: "Retrieves expense reports from SAP Concur, validates against Workday cost center, and opens a ServiceNow task."
  tags:
    - finance
    - expense
    - sap-concur
    - workday
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: expense-review
      port: 8080
      tools:
        - name: review-expense-report
          description: "Validate an expense report and flag exceptions."
          inputParameters:
            - name: expense_report_id
              in: body
              type: string
              description: "Concur report ID."
            - name: employee_id
              in: body
              type: string
              description: "Workday employee ID."
          steps:
            - name: get-expense-report
              type: call
              call: "concur.get-expense-report"
              with:
                report_id: "{{expense_report_id}}"
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{employee_id}}"
            - name: open-review-task
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Expense review: {{get-expense-report.report_name}} — {{get-employee.full_name}}"
                assigned_group: "Finance_Audit"
  consumes:
    - type: http
      namespace: concur
      baseUri: "https://www.concursolutions.com/api/v3.0"
      authentication:
        type: bearer
        token: "$secrets.concur_token"
      resources:
        - name: expense-reports
          path: "/expense/reports/{{report_id}}"
          inputParameters:
            - name: report_id
              in: path
          operations:
            - name: get-expense-report
              method: GET
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/task"
          operations:
            - name: create-task
              method: POST

Retrieves Figma file metadata for design assets.

naftiko: "0.5"
info:
  label: "Figma Design File Viewer"
  description: "Retrieves Figma file metadata for design assets."
  tags: [design, ux, figma]
capability:
  exposes:
    - type: mcp
      namespace: design
      port: 8080
      tools:
        - name: get-figma-file
          description: "Retrieve Figma file metadata."
          inputParameters:
            - name: file_key
              in: body
              type: string
              description: "Figma file key."
          call: "figma.get-file"
          with:
            file_key: "{{file_key}}"
  consumes:
    - type: http
      namespace: figma
      baseUri: "https://api.figma.com/v1"
      authentication:
        type: bearer
        token: "$secrets.figma_token"
      resources:
        - name: files
          path: "/files/{{file_key}}"
          inputParameters:
            - name: file_key
              in: path
          operations:
            - name: get-file
              method: GET

Retrieves foreign exchange rate lookup data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Foreign Exchange Rate Lookup"
  description: "Retrieves foreign exchange rate lookup data from the Scotiabank banking and financial services systems."
  tags:
    - foreign
    - scotiabank
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: foreign
      port: 8080
      tools:
        - name: foreign-exchange-rate-lookup
          description: "Retrieves foreign exchange rate lookup data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.foreign-exchange-rate-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/foreign/exchange/rate/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: foreign-exchange-rate-lookup
              method: GET

When a fraud alert is triggered, enriches with customer data from Salesforce, creates a ServiceNow security incident, blocks the account via MuleSoft, and notifies the fraud operations team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Fraud Alert Investigation Pipeline"
  description: "When a fraud alert is triggered, enriches with customer data from Salesforce, creates a ServiceNow security incident, blocks the account via MuleSoft, and notifies the fraud operations team via Microsoft Teams."
  tags:
    - fraud-detection
    - risk
    - salesforce
    - servicenow
    - mulesoft
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: fraud-ops
      port: 8080
      tools:
        - name: investigate-fraud-alert
          description: "Given a customer ID and alert details, enrich, create incident, block account, and notify fraud ops."
          inputParameters:
            - name: customer_id
              in: body
              type: string
              description: "The Salesforce customer ID."
            - name: alert_type
              in: body
              type: string
              description: "The fraud alert type."
            - name: transaction_id
              in: body
              type: string
              description: "The suspicious transaction ID."
            - name: alert_score
              in: body
              type: number
              description: "The fraud risk score."
          steps:
            - name: get-customer
              type: call
              call: "salesforce.get-customer"
              with:
                customer_id: "{{customer_id}}"
            - name: create-security-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Fraud Alert: {{alert_type}} — {{get-customer.name}}"
                category: "fraud"
                urgency: "critical"
                assigned_group: "Fraud_Operations"
                description: "Customer: {{get-customer.name}}. Transaction: {{transaction_id}}. Alert type: {{alert_type}}. Score: {{alert_score}}."
            - name: block-account
              type: call
              call: "mulesoft.block-account"
              with:
                customer_id: "{{customer_id}}"
                reason: "fraud_alert_{{alert_type}}"
            - name: notify-fraud-ops
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "fraud_operations"
                text: "FRAUD ALERT: {{alert_type}} for {{get-customer.name}}. Score: {{alert_score}}. Transaction: {{transaction_id}}. Account blocked. Incident: {{create-security-incident.number}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: customers
          path: "/sobjects/Account/{{customer_id}}"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: get-customer
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: account-actions
          path: "/core-banking/accounts/{{customer_id}}/block"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: block-account
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves gic rate comparison data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Gic Rate Comparison"
  description: "Retrieves gic rate comparison data from the Scotiabank banking and financial services systems."
  tags:
    - gic
    - scotiabank
    - comparison
capability:
  exposes:
    - type: mcp
      namespace: gic
      port: 8080
      tools:
        - name: gic-rate-comparison
          description: "Retrieves gic rate comparison data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.gic-rate-comparison"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/gic/rate/comparison/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: gic-rate-comparison
              method: GET

Retrieves GitHub pull request status.

naftiko: "0.5"
info:
  label: "GitHub Pull Request Status"
  description: "Retrieves GitHub pull request status."
  tags:
    - engineering
    - ci-cd
    - github
capability:
  exposes:
    - type: mcp
      namespace: engineering-ci
      port: 8080
      tools:
        - name: get-pr-status
          description: "Look up a GitHub pull request."
          inputParameters:
            - name: repo
              in: body
              type: string
              description: "The repo in owner/repo format."
            - name: pr_number
              in: body
              type: string
              description: "The PR number."
          call: "github.get-pull-request"
          with:
            repo: "{{repo}}"
            pr_number: "{{pr_number}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com/repos"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: pull-requests
          path: "/{{repo}}/pulls/{{pr_number}}"
          inputParameters:
            - name: repo
              in: path
            - name: pr_number
              in: path
          operations:
            - name: get-pull-request
              method: GET

Retrieves latest GitLab CI pipeline status.

naftiko: "0.5"
info:
  label: "GitLab CI Pipeline Status"
  description: "Retrieves latest GitLab CI pipeline status."
  tags: [ci-cd, engineering, gitlab]
capability:
  exposes:
    - type: mcp
      namespace: gitlab-ci
      port: 8080
      tools:
        - name: get-pipeline-status
          description: "Look up latest GitLab pipeline."
          inputParameters:
            - name: project_id
              in: body
              type: string
              description: "GitLab project ID."
          call: "gitlab.get-latest-pipeline"
          with:
            project_id: "{{project_id}}"
  consumes:
    - type: http
      namespace: gitlab
      baseUri: "https://gitlab.scotiabank.com/api/v4"
      authentication:
        type: bearer
        token: "$secrets.gitlab_token"
      resources:
        - name: pipelines
          path: "/projects/{{project_id}}/pipelines?per_page=1"
          inputParameters:
            - name: project_id
              in: path
          operations:
            - name: get-latest-pipeline
              method: GET

Retrieves digital banking funnel analytics from Google Analytics.

naftiko: "0.5"
info:
  label: "Google Analytics Digital Banking Funnel"
  description: "Retrieves digital banking funnel analytics from Google Analytics."
  tags:
    - marketing
    - analytics
    - google-analytics
capability:
  exposes:
    - type: mcp
      namespace: web-analytics
      port: 8080
      tools:
        - name: get-banking-funnel
          description: "Retrieve digital banking funnel metrics."
          inputParameters:
            - name: property_id
              in: body
              type: string
              description: "Google Analytics property ID."
            - name: start_date
              in: body
              type: string
              description: "Start date."
            - name: end_date
              in: body
              type: string
              description: "End date."
          call: "ga.run-report"
          with:
            property_id: "{{property_id}}"
            start_date: "{{start_date}}"
            end_date: "{{end_date}}"
  consumes:
    - type: http
      namespace: ga
      baseUri: "https://analyticsdata.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: reports
          path: "/properties/{{property_id}}:runReport"
          inputParameters:
            - name: property_id
              in: path
          operations:
            - name: run-report
              method: POST

Checks Informatica data integration job status.

naftiko: "0.5"
info:
  label: "Informatica Data Integration Monitor"
  description: "Checks Informatica data integration job status."
  tags: [data-engineering, etl, informatica]
capability:
  exposes:
    - type: mcp
      namespace: data-integration
      port: 8080
      tools:
        - name: get-job-status
          description: "Check Informatica job status."
          inputParameters:
            - name: job_id
              in: body
              type: string
              description: "Informatica job ID."
          call: "informatica.get-job"
          with:
            job_id: "{{job_id}}"
  consumes:
    - type: http
      namespace: informatica
      baseUri: "https://dm-us.informaticacloud.com/saas/api/v2"
      authentication:
        type: bearer
        token: "$secrets.informatica_token"
      resources:
        - name: jobs
          path: "/job/{{job_id}}"
          inputParameters:
            - name: job_id
              in: path
          operations:
            - name: get-job
              method: GET

Checks the status of an Interac e-Transfer via the payments API.

naftiko: "0.5"
info:
  label: "Interac e-Transfer Status"
  description: "Checks the status of an Interac e-Transfer via the payments API."
  tags:
    - payments
    - interac
    - mulesoft
capability:
  exposes:
    - type: mcp
      namespace: etransfer
      port: 8080
      tools:
        - name: get-etransfer-status
          description: "Look up an Interac e-Transfer by reference."
          inputParameters:
            - name: transfer_reference
              in: body
              type: string
              description: "The e-Transfer reference number."
          call: "mulesoft.get-etransfer"
          with:
            reference: "{{transfer_reference}}"
  consumes:
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: etransfers
          path: "/payments/interac/{{reference}}"
          inputParameters:
            - name: reference
              in: path
          operations:
            - name: get-etransfer
              method: GET

Retrieves investment portfolio allocation data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Investment Portfolio Allocation"
  description: "Retrieves investment portfolio allocation data from the Scotiabank banking and financial services systems."
  tags:
    - investment
    - scotiabank
    - allocation
capability:
  exposes:
    - type: mcp
      namespace: investment
      port: 8080
      tools:
        - name: investment-portfolio-allocation
          description: "Retrieves investment portfolio allocation data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.investment-portfolio-allocation"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/investment/portfolio/allocation/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: investment-portfolio-allocation
              method: GET

When a trade is executed on the wealth management platform, logs the trade in Splunk, updates the client record in Salesforce, and notifies the investment advisor via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Investment Trade Execution Notifier"
  description: "When a trade is executed on the wealth management platform, logs the trade in Splunk, updates the client record in Salesforce, and notifies the investment advisor via Microsoft Teams."
  tags:
    - wealth
    - trading
    - splunk
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: trade-execution
      port: 8080
      tools:
        - name: notify-trade-execution
          description: "Given trade details, log to Splunk, update Salesforce, and notify the advisor."
          inputParameters:
            - name: trade_id
              in: body
              type: string
              description: "The trade execution ID."
            - name: client_id
              in: body
              type: string
              description: "The Salesforce client ID."
            - name: symbol
              in: body
              type: string
              description: "The traded security symbol."
            - name: quantity
              in: body
              type: number
              description: "The quantity traded."
            - name: price
              in: body
              type: number
              description: "The execution price."
            - name: side
              in: body
              type: string
              description: "Buy or Sell."
          steps:
            - name: log-trade
              type: call
              call: "splunk.create-event"
              with:
                index: "trade_executions"
                event: "Trade {{trade_id}}: {{side}} {{quantity}} {{symbol}} at {{price}}. Client: {{client_id}}."
            - name: update-client
              type: call
              call: "salesforce.update-activity"
              with:
                client_id: "{{client_id}}"
                activity_type: "trade_execution"
                description: "{{side}} {{quantity}} {{symbol}} at {{price}}. Trade: {{trade_id}}."
            - name: notify-advisor
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "wealth_advisors"
                text: "Trade Executed: {{side}} {{quantity}} {{symbol}} at ${{price}} for client {{client_id}}. Trade ID: {{trade_id}}."
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: events
          path: "/collectors/event"
          operations:
            - name: create-event
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: activities
          path: "/sobjects/Task"
          operations:
            - name: update-activity
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates investment trade settlement pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Investment Trade Settlement Pipeline"
  description: "Orchestrates investment trade settlement pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - investment
    - scotiabank
    - bloomberg
    - scotiabank
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: investment
      port: 8080
      tools:
        - name: investment-trade-settlement-pipeline
          description: "Orchestrates investment trade settlement pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "bloomberg.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "scotiabank.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "salesforce.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/investment"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: scotiabank-resource
          path: "/api/investment"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/api/investment"
          operations:
            - name: execute-3
              method: POST

Fetches active sprint details from Jira.

naftiko: "0.5"
info:
  label: "Jira Sprint Tracker"
  description: "Fetches active sprint details from Jira."
  tags:
    - engineering
    - project-management
    - jira
capability:
  exposes:
    - type: mcp
      namespace: engineering-pm
      port: 8080
      tools:
        - name: get-sprint-status
          description: "Retrieve active sprint details for a Jira board."
          inputParameters:
            - name: board_id
              in: body
              type: string
              description: "The Jira board ID."
          call: "jira.get-active-sprint"
          with:
            board_id: "{{board_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://scotiabank.atlassian.net/rest/agile/1.0"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: sprints
          path: "/board/{{board_id}}/sprint?state=active"
          inputParameters:
            - name: board_id
              in: path
          operations:
            - name: get-active-sprint
              method: GET

Generates release notes from Jira issues and publishes to Confluence.

naftiko: "0.5"
info:
  label: "Jira to Confluence Release Notes"
  description: "Generates release notes from Jira issues and publishes to Confluence."
  tags:
    - engineering
    - release-management
    - jira
    - confluence
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: release-mgmt
      port: 8080
      tools:
        - name: generate-release-notes
          description: "Fetch completed Jira issues and publish release notes."
          inputParameters:
            - name: project_key
              in: body
              type: string
              description: "Jira project key."
            - name: version_name
              in: body
              type: string
              description: "Release version."
          steps:
            - name: get-issues
              type: call
              call: "jira.search-issues"
              with:
                jql: "project = {{project_key}} AND fixVersion = '{{version_name}}' AND status = Done"
            - name: create-notes
              type: call
              call: "confluence.create-page"
              with:
                space_key: "ENG"
                title: "Release Notes: {{project_key}} {{version_name}}"
                body: "Release {{version_name}}. Issues: {{get-issues.total}}."
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "engineering_releases"
                text: "Release notes: {{project_key}} {{version_name}}. URL: {{create-notes.url}}."
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://scotiabank.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: search
          path: "/search?jql={{jql}}"
          inputParameters:
            - name: jql
              in: path
          operations:
            - name: search-issues
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves a lending application status from the Salesforce lending module, returning application stage, credit decision, and next steps.

naftiko: "0.5"
info:
  label: "Lending Application Status"
  description: "Retrieves a lending application status from the Salesforce lending module, returning application stage, credit decision, and next steps."
  tags:
    - lending
    - credit
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: lending
      port: 8080
      tools:
        - name: get-lending-application
          description: "Look up a lending application by ID."
          inputParameters:
            - name: application_id
              in: body
              type: string
              description: "The Salesforce lending application ID."
          call: "salesforce.get-application"
          with:
            application_id: "{{application_id}}"
          outputParameters:
            - name: stage
              type: string
              mapping: "$.Stage__c"
            - name: credit_decision
              type: string
              mapping: "$.Credit_Decision__c"
            - name: amount_requested
              type: number
              mapping: "$.Amount_Requested__c"
            - name: applicant_name
              type: string
              mapping: "$.Applicant_Name__c"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: applications
          path: "/sobjects/Lending_Application__c/{{application_id}}"
          inputParameters:
            - name: application_id
              in: path
          operations:
            - name: get-application
              method: GET

Retrieves line of credit utilization data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Line Of Credit Utilization"
  description: "Retrieves line of credit utilization data from the Scotiabank banking and financial services systems."
  tags:
    - line
    - scotiabank
    - utilization
capability:
  exposes:
    - type: mcp
      namespace: line
      port: 8080
      tools:
        - name: line-of-credit-utilization
          description: "Retrieves line of credit utilization data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.line-of-credit-utilization"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/line/of/credit/utilization/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: line-of-credit-utilization
              method: GET

Retrieves LinkedIn job posting status.

naftiko: "0.5"
info:
  label: "LinkedIn Recruitment Status"
  description: "Retrieves LinkedIn job posting status."
  tags:
    - recruitment
    - linkedin
capability:
  exposes:
    - type: mcp
      namespace: recruitment
      port: 8080
      tools:
        - name: get-job-posting-status
          description: "Look up a LinkedIn job posting."
          inputParameters:
            - name: job_posting_id
              in: body
              type: string
              description: "The LinkedIn job posting ID."
          call: "linkedin.get-job-posting"
          with:
            job_posting_id: "{{job_posting_id}}"
  consumes:
    - type: http
      namespace: linkedin
      baseUri: "https://api.linkedin.com/v2"
      authentication:
        type: bearer
        token: "$secrets.linkedin_token"
      resources:
        - name: job-postings
          path: "/jobPostings/{{job_posting_id}}"
          inputParameters:
            - name: job_posting_id
              in: path
          operations:
            - name: get-job-posting
              method: GET

Retrieves a Looker dashboard for risk analytics.

naftiko: "0.5"
info:
  label: "Looker Risk Analytics Dashboard"
  description: "Retrieves a Looker dashboard for risk analytics."
  tags: [risk, analytics, looker]
capability:
  exposes:
    - type: mcp
      namespace: looker-analytics
      port: 8080
      tools:
        - name: get-risk-dashboard
          description: "Retrieve a Looker risk dashboard."
          inputParameters:
            - name: dashboard_id
              in: body
              type: string
              description: "Looker dashboard ID."
          call: "looker.get-dashboard"
          with:
            dashboard_id: "{{dashboard_id}}"
  consumes:
    - type: http
      namespace: looker
      baseUri: "https://scotiabank.looker.com/api/4.0"
      authentication:
        type: bearer
        token: "$secrets.looker_token"
      resources:
        - name: dashboards
          path: "/dashboards/{{dashboard_id}}"
          inputParameters:
            - name: dashboard_id
              in: path
          operations:
            - name: get-dashboard
              method: GET

Orchestrates market risk var calculation pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Sends a formatted message to a Microsoft Teams channel.

naftiko: "0.5"
info:
  label: "Microsoft Teams Channel Notifier"
  description: "Sends a formatted message to a Microsoft Teams channel."
  tags:
    - communications
    - messaging
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: comms
      port: 8080
      tools:
        - name: send-teams-notification
          description: "Send a message to a Microsoft Teams channel."
          inputParameters:
            - name: channel_id
              in: body
              type: string
              description: "The Teams channel ID."
            - name: message
              in: body
              type: string
              description: "The message text."
          call: "msteams.send-message"
          with:
            channel_id: "{{channel_id}}"
            text: "{{message}}"
  consumes:
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Responds to mobile banking incidents by triaging severity, alerting engineering, and communicating with affected customers.

naftiko: "0.5"
info:
  label: "Mobile Banking Incident Pipeline"
  description: "Responds to mobile banking incidents by triaging severity, alerting engineering, and communicating with affected customers."
  tags:
    - mobile
    - scotiabank
    - datadog
    - jira
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-banking-incident-pipeline
          description: "Responds to mobile banking incidents by triaging severity, alerting engineering, and communicating with affected customers."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: triage-incident
              type: call
              call: "datadog.query-metrics"
              with:
                input: "{{input_id}}"
            - name: alert-team
              type: call
              call: "slack.post-message"
              with:
                input: "{{input_id}}"
            - name: create-ticket
              type: call
              call: "jira.create-issue"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.datadog_api_key"
      resources:
        - name: datadog-resource
          path: "/query"
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: slack
      baseUri: "https://slack.com/api"
      authentication:
        type: bearer
        token: "$secrets.slack_bot_token"
      resources:
        - name: slack-resource
          path: "/chat.postMessage"
          operations:
            - name: post-message
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://scotiabank.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: jira-resource
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Retrieves mobile deposit limit check data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Mobile Deposit Limit Check"
  description: "Retrieves mobile deposit limit check data from the Scotiabank banking and financial services systems."
  tags:
    - mobile
    - scotiabank
    - check
capability:
  exposes:
    - type: mcp
      namespace: mobile
      port: 8080
      tools:
        - name: mobile-deposit-limit-check
          description: "Retrieves mobile deposit limit check data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.mobile-deposit-limit-check"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/mobile/deposit/limit/check/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: mobile-deposit-limit-check
              method: GET

Orchestrates mortgage application decisioning pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

When a mortgage application is submitted in Salesforce, pulls credit data via MuleSoft, runs affordability checks, creates a ServiceNow task for the underwriting team, and notifies the mortgage advisor via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Mortgage Application Pipeline"
  description: "When a mortgage application is submitted in Salesforce, pulls credit data via MuleSoft, runs affordability checks, creates a ServiceNow task for the underwriting team, and notifies the mortgage advisor via Microsoft Teams."
  tags:
    - lending
    - mortgage
    - salesforce
    - mulesoft
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: mortgage-pipeline
      port: 8080
      tools:
        - name: process-mortgage-application
          description: "Given a mortgage application ID, pull credit data, create underwriting task, and notify advisor."
          inputParameters:
            - name: application_id
              in: body
              type: string
              description: "The Salesforce mortgage application ID."
          steps:
            - name: get-application
              type: call
              call: "salesforce.get-mortgage-app"
              with:
                application_id: "{{application_id}}"
            - name: get-credit-data
              type: call
              call: "mulesoft.get-credit-report"
              with:
                customer_id: "{{get-application.applicant_id}}"
            - name: create-underwriting-task
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Mortgage underwriting: {{get-application.applicant_name}} — ${{get-application.amount}}"
                assigned_group: "Mortgage_Underwriting"
                description: "Application {{application_id}}. Amount: ${{get-application.amount}}. Credit score: {{get-credit-data.score}}. DTI: {{get-credit-data.debt_to_income}}."
            - name: notify-advisor
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "mortgage_advisors"
                text: "Mortgage application submitted: {{get-application.applicant_name}} for ${{get-application.amount}}. Credit: {{get-credit-data.score}}. Task: {{create-underwriting-task.number}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: mortgage-apps
          path: "/sobjects/Mortgage_Application__c/{{application_id}}"
          inputParameters:
            - name: application_id
              in: path
          operations:
            - name: get-mortgage-app
              method: GET
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: credit
          path: "/credit/customers/{{customer_id}}/report"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: get-credit-report
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/task"
          operations:
            - name: create-task
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves mortgage rate schedule lookup data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Mortgage Rate Schedule Lookup"
  description: "Retrieves mortgage rate schedule lookup data from the Scotiabank banking and financial services systems."
  tags:
    - mortgage
    - scotiabank
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: mortgage
      port: 8080
      tools:
        - name: mortgage-rate-schedule-lookup
          description: "Retrieves mortgage rate schedule lookup data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.mortgage-rate-schedule-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/mortgage/rate/schedule/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: mortgage-rate-schedule-lookup
              method: GET

Queries New Relic for banking application performance.

naftiko: "0.5"
info:
  label: "New Relic Application Performance"
  description: "Queries New Relic for banking application performance."
  tags: [monitoring, performance, new-relic]
capability:
  exposes:
    - type: mcp
      namespace: apm
      port: 8080
      tools:
        - name: get-app-performance
          description: "Check New Relic APM metrics."
          inputParameters:
            - name: app_id
              in: body
              type: string
              description: "New Relic app ID."
          call: "newrelic.get-app"
          with:
            app_id: "{{app_id}}"
  consumes:
    - type: http
      namespace: newrelic
      baseUri: "https://api.newrelic.com/v2"
      authentication:
        type: apiKey
        key: "$secrets.newrelic_api_key"
      resources:
        - name: applications
          path: "/applications/{{app_id}}.json"
          inputParameters:
            - name: app_id
              in: path
          operations:
            - name: get-app
              method: GET

Orchestrates open banking api pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Orchestrates operational risk incident pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Operational Risk Incident Pipeline"
  description: "Orchestrates operational risk incident pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - operational
    - scotiabank
    - splunk
    - confluence
    - bloomberg
capability:
  exposes:
    - type: mcp
      namespace: operational
      port: 8080
      tools:
        - name: operational-risk-incident-pipeline
          description: "Orchestrates operational risk incident pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "splunk.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "confluence.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "bloomberg.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: splunk-resource
          path: "/api/operational"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/operational"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/operational"
          operations:
            - name: execute-3
              method: POST

Retrieves firewall rule configurations from Palo Alto Networks for security auditing.

naftiko: "0.5"
info:
  label: "Palo Alto Firewall Rule Audit"
  description: "Retrieves firewall rule configurations from Palo Alto Networks for security auditing."
  tags:
    - security
    - firewall
    - palo-alto-networks
capability:
  exposes:
    - type: mcp
      namespace: security-audit
      port: 8080
      tools:
        - name: audit-firewall-rules
          description: "Query Palo Alto for firewall rule statistics."
          inputParameters:
            - name: device_group
              in: body
              type: string
              description: "The device group name."
          call: "paloalto.get-security-rules"
          with:
            device_group: "{{device_group}}"
  consumes:
    - type: http
      namespace: paloalto
      baseUri: "https://panorama.scotiabank.com/restapi/v10.2"
      authentication:
        type: apiKey
        key: "$secrets.paloalto_api_key"
      resources:
        - name: security-rules
          path: "/Policies/SecurityRules?location=device-group&device-group={{device_group}}"
          inputParameters:
            - name: device_group
              in: path
          operations:
            - name: get-security-rules
              method: GET

Orchestrates payment modernization pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Payment Modernization Pipeline"
  description: "Orchestrates payment modernization pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - payment
    - scotiabank
    - confluence
    - bloomberg
    - scotiabank
capability:
  exposes:
    - type: mcp
      namespace: payment
      port: 8080
      tools:
        - name: payment-modernization-pipeline
          description: "Orchestrates payment modernization pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "confluence.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "bloomberg.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "scotiabank.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/payment"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/payment"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: scotiabank-resource
          path: "/api/payment"
          operations:
            - name: execute-3
              method: POST

Retrieves the status of a payment transaction via the MuleSoft payments API, returning transaction ID, status, amount, and timestamp.

naftiko: "0.5"
info:
  label: "Payment Transaction Status Lookup"
  description: "Retrieves the status of a payment transaction via the MuleSoft payments API, returning transaction ID, status, amount, and timestamp."
  tags:
    - payments
    - banking
    - mulesoft
capability:
  exposes:
    - type: mcp
      namespace: payments
      port: 8080
      tools:
        - name: get-transaction-status
          description: "Look up a payment transaction by ID."
          inputParameters:
            - name: transaction_id
              in: body
              type: string
              description: "The payment transaction ID."
          call: "mulesoft.get-transaction"
          with:
            transaction_id: "{{transaction_id}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.status"
            - name: amount
              type: number
              mapping: "$.amount"
            - name: currency
              type: string
              mapping: "$.currency"
            - name: timestamp
              type: string
              mapping: "$.created_at"
  consumes:
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: transactions
          path: "/payments/transactions/{{transaction_id}}"
          inputParameters:
            - name: transaction_id
              in: path
          operations:
            - name: get-transaction
              method: GET

Triggers Postman API collection test runs.

naftiko: "0.5"
info:
  label: "Postman API Test Runner"
  description: "Triggers Postman API collection test runs."
  tags: [engineering, testing, postman]
capability:
  exposes:
    - type: mcp
      namespace: api-testing
      port: 8080
      tools:
        - name: run-api-tests
          description: "Trigger a Postman collection run."
          inputParameters:
            - name: collection_id
              in: body
              type: string
              description: "Postman collection ID."
          call: "postman.run-collection"
          with:
            collection_id: "{{collection_id}}"
  consumes:
    - type: http
      namespace: postman
      baseUri: "https://api.getpostman.com"
      authentication:
        type: apiKey
        key: "$secrets.postman_api_key"
      resources:
        - name: monitors
          path: "/monitors/{{collection_id}}/run"
          inputParameters:
            - name: collection_id
              in: path
          operations:
            - name: run-collection
              method: POST

Triggers a Power BI dataset refresh for the enterprise risk dashboard.

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

Orchestrates real time payment monitoring pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Orchestrates regulatory capital calculation pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Regulatory Capital Calculation Pipeline"
  description: "Orchestrates regulatory capital calculation pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - regulatory
    - scotiabank
    - confluence
    - bloomberg
    - scotiabank
capability:
  exposes:
    - type: mcp
      namespace: regulatory
      port: 8080
      tools:
        - name: regulatory-capital-calculation-pipeline
          description: "Orchestrates regulatory capital calculation pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "confluence.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "bloomberg.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "scotiabank.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/regulatory"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/v1"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: bloomberg-resource
          path: "/api/regulatory"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: scotiabank-resource
          path: "/api/regulatory"
          operations:
            - name: execute-3
              method: POST

Orchestrates regulatory reporting automation pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Extracts regulatory data from Snowflake, formats the report, uploads to SharePoint, and notifies the compliance team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Regulatory Reporting Pipeline"
  description: "Extracts regulatory data from Snowflake, formats the report, uploads to SharePoint, and notifies the compliance team via Microsoft Teams."
  tags:
    - compliance
    - regulatory
    - snowflake
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: regulatory-reporting
      port: 8080
      tools:
        - name: generate-regulatory-report
          description: "Given a report type and period, extract data, upload report, and notify compliance."
          inputParameters:
            - name: report_type
              in: body
              type: string
              description: "The regulatory report type (e.g., OSFI_LCR, FINTRAC_STR)."
            - name: reporting_period
              in: body
              type: string
              description: "The reporting period."
          steps:
            - name: extract-data
              type: call
              call: "snowflake.execute-sql"
              with:
                statement: "SELECT * FROM regulatory_{{report_type}} WHERE period = '{{reporting_period}}'"
            - name: upload-report
              type: call
              call: "sharepoint.create-file"
              with:
                site_id: "regulatory_reports"
                file_path: "{{report_type}}/{{reporting_period}}_report.xlsx"
            - name: notify-compliance
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "regulatory_compliance"
                text: "Regulatory Report Ready: {{report_type}} for {{reporting_period}}. Document: {{upload-report.url}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://scotiabank.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-sql
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: files
          path: "/{{site_id}}/drive/root:/{{file_path}}:/content"
          inputParameters:
            - name: site_id
              in: path
            - name: file_path
              in: path
          operations:
            - name: create-file
              method: PUT
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves customer financial data from the core banking API via MuleSoft, runs a risk scoring model in Azure Machine Learning, and updates the risk rating in Salesforce.

naftiko: "0.5"
info:
  label: "Risk Score Calculation Pipeline"
  description: "Retrieves customer financial data from the core banking API via MuleSoft, runs a risk scoring model in Azure Machine Learning, and updates the risk rating in Salesforce."
  tags:
    - risk
    - machine-learning
    - mulesoft
    - azure-machine-learning
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: risk-scoring
      port: 8080
      tools:
        - name: calculate-risk-score
          description: "Given a customer ID, fetch financial data, run risk model, and update Salesforce."
          inputParameters:
            - name: customer_id
              in: body
              type: string
              description: "The customer ID."
          steps:
            - name: get-financial-data
              type: call
              call: "mulesoft.get-customer-financials"
              with:
                customer_id: "{{customer_id}}"
            - name: run-risk-model
              type: call
              call: "azureml.score"
              with:
                income: "{{get-financial-data.annual_income}}"
                balance: "{{get-financial-data.total_balance}}"
                credit_utilization: "{{get-financial-data.credit_utilization}}"
            - name: update-risk-rating
              type: call
              call: "salesforce.update-customer"
              with:
                customer_id: "{{customer_id}}"
                risk_score: "{{run-risk-model.risk_score}}"
                risk_category: "{{run-risk-model.risk_category}}"
  consumes:
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: customer-financials
          path: "/core-banking/customers/{{customer_id}}/financials"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: get-customer-financials
              method: GET
    - type: http
      namespace: azureml
      baseUri: "https://scotiabank-risk.canadacentral.inference.ml.azure.com"
      authentication:
        type: bearer
        token: "$secrets.azure_ml_token"
      resources:
        - name: scoring
          path: "/score"
          operations:
            - name: score
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: customers
          path: "/sobjects/Account/{{customer_id}}"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: update-customer
              method: PATCH

Triggers a SailPoint identity access review, collects results, and creates ServiceNow tasks for any access violations found.

naftiko: "0.5"
info:
  label: "SailPoint Access Review Pipeline"
  description: "Triggers a SailPoint identity access review, collects results, and creates ServiceNow tasks for any access violations found."
  tags:
    - security
    - identity
    - sailpoint
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: access-review
      port: 8080
      tools:
        - name: run-access-review
          description: "Given a campaign name, trigger SailPoint review and create tasks for violations."
          inputParameters:
            - name: campaign_name
              in: body
              type: string
              description: "The SailPoint certification campaign name."
          steps:
            - name: trigger-campaign
              type: call
              call: "sailpoint.create-campaign"
              with:
                name: "{{campaign_name}}"
            - name: create-violation-tasks
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Access review violations: {{campaign_name}}"
                assigned_group: "Identity_Access_Management"
                description: "SailPoint campaign {{campaign_name}} — Campaign ID: {{trigger-campaign.campaign_id}}. Review pending violations."
  consumes:
    - type: http
      namespace: sailpoint
      baseUri: "https://scotiabank.api.identitynow.com/v3"
      authentication:
        type: bearer
        token: "$secrets.sailpoint_token"
      resources:
        - name: campaigns
          path: "/campaigns"
          operations:
            - name: create-campaign
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/task"
          operations:
            - name: create-task
              method: POST

Retrieves a Salesforce customer profile by ID, returning name, segment, relationship manager, and total assets under management.

naftiko: "0.5"
info:
  label: "Salesforce Customer Profile Lookup"
  description: "Retrieves a Salesforce customer profile by ID, returning name, segment, relationship manager, and total assets under management."
  tags:
    - banking
    - crm
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: customer-crm
      port: 8080
      tools:
        - name: get-customer-profile
          description: "Look up a Salesforce customer profile by ID."
          inputParameters:
            - name: customer_id
              in: body
              type: string
              description: "The Salesforce customer record ID."
          call: "salesforce.get-customer"
          with:
            customer_id: "{{customer_id}}"
          outputParameters:
            - name: name
              type: string
              mapping: "$.Name"
            - name: segment
              type: string
              mapping: "$.Client_Segment__c"
            - name: relationship_manager
              type: string
              mapping: "$.Owner.Name"
            - name: total_assets
              type: number
              mapping: "$.Total_Assets__c"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: customers
          path: "/sobjects/Account/{{customer_id}}"
          inputParameters:
            - name: customer_id
              in: path
          operations:
            - name: get-customer
              method: GET

Retrieves a SAP Concur expense report by ID.

naftiko: "0.5"
info:
  label: "SAP Concur Expense Report Lookup"
  description: "Retrieves a SAP Concur expense report by ID."
  tags:
    - finance
    - expense
    - sap-concur
capability:
  exposes:
    - type: mcp
      namespace: finance-expense
      port: 8080
      tools:
        - name: get-expense-report
          description: "Look up a SAP Concur expense report."
          inputParameters:
            - name: report_id
              in: body
              type: string
              description: "The expense report ID."
          call: "concur.get-expense-report"
          with:
            report_id: "{{report_id}}"
  consumes:
    - type: http
      namespace: concur
      baseUri: "https://www.concursolutions.com/api/v3.0"
      authentication:
        type: bearer
        token: "$secrets.concur_token"
      resources:
        - name: expense-reports
          path: "/expense/reports/{{report_id}}"
          inputParameters:
            - name: report_id
              in: path
          operations:
            - name: get-expense-report
              method: GET

Retrieves scotia rewards catalog lookup data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Scotia Rewards Catalog Lookup"
  description: "Retrieves scotia rewards catalog lookup data from the Scotiabank banking and financial services systems."
  tags:
    - scotia
    - scotiabank
    - lookup
capability:
  exposes:
    - type: mcp
      namespace: scotia
      port: 8080
      tools:
        - name: scotia-rewards-catalog-lookup
          description: "Retrieves scotia rewards catalog lookup data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.scotia-rewards-catalog-lookup"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/scotia/rewards/catalog/lookup/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: scotia-rewards-catalog-lookup
              method: GET

Retrieves a ServiceNow incident by number.

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

Searches SharePoint for compliance and policy documents.

naftiko: "0.5"
info:
  label: "SharePoint Document Search"
  description: "Searches SharePoint for compliance and policy documents."
  tags:
    - documentation
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: doc-search
      port: 8080
      tools:
        - name: search-documents
          description: "Search SharePoint for documents."
          inputParameters:
            - name: site_id
              in: body
              type: string
              description: "The SharePoint site ID."
            - name: query
              in: body
              type: string
              description: "The search keyword."
          call: "sharepoint.search"
          with:
            site_id: "{{site_id}}"
            query: "{{query}}"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: search
          path: "/{{site_id}}/drive/root/search(q='{{query}}')"
          inputParameters:
            - name: site_id
              in: path
            - name: query
              in: path
          operations:
            - name: search
              method: GET

Executes a SQL query against Snowflake.

naftiko: "0.5"
info:
  label: "Snowflake Data Warehouse Query"
  description: "Executes a SQL query against Snowflake."
  tags:
    - data-management
    - analytics
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: data-warehouse
      port: 8080
      tools:
        - name: execute-snowflake-query
          description: "Execute a SQL statement against Snowflake."
          inputParameters:
            - name: warehouse
              in: body
              type: string
              description: "Warehouse name."
            - name: database
              in: body
              type: string
              description: "Database name."
            - name: sql_statement
              in: body
              type: string
              description: "SQL statement."
          call: "snowflake.execute-sql"
          with:
            warehouse: "{{warehouse}}"
            database: "{{database}}"
            statement: "{{sql_statement}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://scotiabank.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-sql
              method: POST

Queries Snowflake warehouse credit consumption metrics.

naftiko: "0.5"
info:
  label: "Snowflake Data Warehouse Usage"
  description: "Queries Snowflake warehouse credit consumption metrics."
  tags: [data-management, cost-management, snowflake]
capability:
  exposes:
    - type: mcp
      namespace: finops
      port: 8080
      tools:
        - name: get-warehouse-usage
          description: "Query Snowflake warehouse credits."
          inputParameters:
            - name: warehouse_name
              in: body
              type: string
              description: "Warehouse name."
          call: "snowflake.execute-sql"
          with:
            statement: "SELECT sum(credits_used) FROM snowflake.account_usage.warehouse_metering_history WHERE warehouse_name = '{{warehouse_name}}'"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://scotiabank.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-sql
              method: POST

Queries SolarWinds for network node health at branch locations.

naftiko: "0.5"
info:
  label: "SolarWinds Network Health"
  description: "Queries SolarWinds for network node health at branch locations."
  tags: [networking, infrastructure, solarwinds]
capability:
  exposes:
    - type: mcp
      namespace: network-health
      port: 8080
      tools:
        - name: get-network-health
          description: "Query SolarWinds network nodes."
          inputParameters:
            - name: branch_code
              in: body
              type: string
              description: "Branch code."
          call: "solarwinds.query-nodes"
          with:
            branch_code: "{{branch_code}}"
  consumes:
    - type: http
      namespace: solarwinds
      baseUri: "https://solarwinds.scotiabank.com:17778/SolarWinds/InformationService/v3/Json"
      authentication:
        type: basic
        username: "$secrets.solarwinds_user"
        password: "$secrets.solarwinds_password"
      resources:
        - name: nodes
          path: "/Query?query=SELECT+NodeID,Caption,Status+FROM+Orion.Nodes+WHERE+Location='{{branch_code}}'"
          inputParameters:
            - name: branch_code
              in: path
          operations:
            - name: query-nodes
              method: GET

Queries Splunk for security-related log events.

naftiko: "0.5"
info:
  label: "Splunk Security Log Search"
  description: "Queries Splunk for security-related log events."
  tags:
    - security
    - logging
    - splunk
capability:
  exposes:
    - type: mcp
      namespace: security-logs
      port: 8080
      tools:
        - name: search-security-logs
          description: "Search Splunk for security events."
          inputParameters:
            - name: search_query
              in: body
              type: string
              description: "The Splunk search query."
            - name: time_range
              in: body
              type: string
              description: "The time range (e.g., -24h, -7d)."
          call: "splunk.search"
          with:
            search: "{{search_query}}"
            earliest_time: "{{time_range}}"
  consumes:
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: search
          path: "/search/jobs"
          operations:
            - name: search
              method: POST

Orchestrates stress testing scenario pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Retrieves a Tableau view for risk analytics and posts to Microsoft Teams.

naftiko: "0.5"
info:
  label: "Tableau Risk Analytics Dashboard"
  description: "Retrieves a Tableau view for risk analytics and posts to Microsoft Teams."
  tags:
    - risk
    - analytics
    - tableau
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: risk-dashboards
      port: 8080
      tools:
        - name: share-risk-dashboard
          description: "Fetch a Tableau risk view and share to Teams."
          inputParameters:
            - name: workbook_id
              in: body
              type: string
              description: "Tableau workbook ID."
            - name: view_id
              in: body
              type: string
              description: "Tableau view ID."
          steps:
            - name: get-view
              type: call
              call: "tableau.get-view"
              with:
                workbook_id: "{{workbook_id}}"
                view_id: "{{view_id}}"
            - name: post-to-teams
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "risk_management"
                text: "Risk Dashboard: {{get-view.url}}"
  consumes:
    - type: http
      namespace: tableau
      baseUri: "https://tableau.scotiabank.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: views
          path: "/sites/$secrets.tableau_site_id/workbooks/{{workbook_id}}/views/{{view_id}}"
          inputParameters:
            - name: workbook_id
              in: path
            - name: view_id
              in: path
          operations:
            - name: get-view
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves trade execution status data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Trade Execution Status"
  description: "Retrieves trade execution status data from the Scotiabank banking and financial services systems."
  tags:
    - trade
    - scotiabank
    - status
capability:
  exposes:
    - type: mcp
      namespace: trade
      port: 8080
      tools:
        - name: trade-execution-status
          description: "Retrieves trade execution status data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.trade-execution-status"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/trade/execution/status/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: trade-execution-status
              method: GET

Orchestrates treasury liquidity management pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

naftiko: "0.5"
info:
  label: "Treasury Liquidity Management Pipeline"
  description: "Orchestrates treasury liquidity management pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
  tags:
    - treasury
    - scotiabank
    - teams
    - splunk
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: treasury
      port: 8080
      tools:
        - name: treasury-liquidity-management-pipeline
          description: "Orchestrates treasury liquidity management pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: step-1
              type: call
              call: "teams.execute-1"
              with:
                input: "{{input_id}}"
            - name: step-2
              type: call
              call: "splunk.execute-2"
              with:
                input: "{{input_id}}"
            - name: step-3
              type: call
              call: "confluence.execute-3"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/api/treasury"
          operations:
            - name: execute-1
              method: POST
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: splunk-resource
          path: "/api/treasury"
          operations:
            - name: execute-2
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://scotiabank.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: confluence-resource
          path: "/api/treasury"
          operations:
            - name: execute-3
              method: POST

Retrieves wealth advisor availability data from the Scotiabank banking and financial services systems.

naftiko: "0.5"
info:
  label: "Wealth Advisor Availability"
  description: "Retrieves wealth advisor availability data from the Scotiabank banking and financial services systems."
  tags:
    - wealth
    - scotiabank
    - availability
capability:
  exposes:
    - type: mcp
      namespace: wealth
      port: 8080
      tools:
        - name: wealth-advisor-availability
          description: "Retrieves wealth advisor availability data from the Scotiabank banking and financial services systems."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The input id."
          call: "scotiabank.wealth-advisor-availability"
          with:
            input_id: "{{input_id}}"
          outputParameters:
            - name: result
              type: string
              mapping: "$.data"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: scotiabank
      baseUri: "https://api.scotiabank.com/v2"
      authentication:
        type: bearer
        token: "$secrets.scotiabank_api_token"
      resources:
        - name: resource
          path: "/wealth/advisor/availability/{{input_id}}"
          inputParameters:
            - name: input_id
              in: path
          operations:
            - name: wealth-advisor-availability
              method: GET

Coordinates annual wealth client reviews by assembling portfolio data, generating reports, and scheduling advisor meetings.

naftiko: "0.5"
info:
  label: "Wealth Client Review Pipeline"
  description: "Coordinates annual wealth client reviews by assembling portfolio data, generating reports, and scheduling advisor meetings."
  tags:
    - wealth
    - scotiabank
    - salesforce
    - teams
capability:
  exposes:
    - type: mcp
      namespace: wealth
      port: 8080
      tools:
        - name: wealth-client-review-pipeline
          description: "Coordinates annual wealth client reviews by assembling portfolio data, generating reports, and scheduling advisor meetings."
          inputParameters:
            - name: input_id
              in: body
              type: string
              description: "The primary input identifier."
          steps:
            - name: get-portfolio
              type: call
              call: "snowflake.run-query"
              with:
                input: "{{input_id}}"
            - name: update-crm
              type: call
              call: "salesforce.update-contact"
              with:
                input: "{{input_id}}"
            - name: schedule-meeting
              type: call
              call: "teams.create-event"
              with:
                input: "{{input_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://scotiabank.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: snowflake-resource
          path: "/statements"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://scotiabank.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_access_token"
      resources:
        - name: salesforce-resource
          path: "/sobjects/Contact"
          operations:
            - name: update-contact
              method: PATCH
    - type: http
      namespace: teams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.teams_token"
      resources:
        - name: teams-resource
          path: "/users/events"
          operations:
            - name: create-event
              method: POST

Retrieves a wealth management client's portfolio summary from the investment platform via MuleSoft, returning asset allocation, total value, and performance metrics.

naftiko: "0.5"
info:
  label: "Wealth Management Portfolio Summary"
  description: "Retrieves a wealth management client's portfolio summary from the investment platform via MuleSoft, returning asset allocation, total value, and performance metrics."
  tags:
    - wealth
    - portfolio
    - mulesoft
capability:
  exposes:
    - type: mcp
      namespace: wealth-mgmt
      port: 8080
      tools:
        - name: get-portfolio-summary
          description: "Look up a client portfolio summary."
          inputParameters:
            - name: client_id
              in: body
              type: string
              description: "The wealth management client ID."
          call: "mulesoft.get-portfolio"
          with:
            client_id: "{{client_id}}"
          outputParameters:
            - name: total_value
              type: number
              mapping: "$.total_market_value"
            - name: ytd_return
              type: number
              mapping: "$.ytd_return_pct"
            - name: asset_allocation
              type: object
              mapping: "$.asset_allocation"
  consumes:
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: portfolios
          path: "/wealth/clients/{{client_id}}/portfolio"
          inputParameters:
            - name: client_id
              in: path
          operations:
            - name: get-portfolio
              method: GET

Orchestrates wealth management rebalancing pipeline across banking and financial services systems, coordinating multiple services and notifying stakeholders.

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

Initiates a wire transfer via MuleSoft, logs the transaction to Splunk for compliance, creates a ServiceNow tracking ticket, and notifies the treasury operations team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Wire Transfer Processing Pipeline"
  description: "Initiates a wire transfer via MuleSoft, logs the transaction to Splunk for compliance, creates a ServiceNow tracking ticket, and notifies the treasury operations team via Microsoft Teams."
  tags:
    - payments
    - wire-transfer
    - mulesoft
    - splunk
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: wire-transfers
      port: 8080
      tools:
        - name: process-wire-transfer
          description: "Given transfer details, initiate wire, log to Splunk, create tracking ticket, and notify treasury."
          inputParameters:
            - name: from_account
              in: body
              type: string
              description: "The source account number."
            - name: to_account
              in: body
              type: string
              description: "The destination account number."
            - name: amount
              in: body
              type: number
              description: "The transfer amount."
            - name: currency
              in: body
              type: string
              description: "The currency code."
            - name: beneficiary_bank
              in: body
              type: string
              description: "The beneficiary bank SWIFT code."
          steps:
            - name: initiate-transfer
              type: call
              call: "mulesoft.initiate-wire"
              with:
                from_account: "{{from_account}}"
                to_account: "{{to_account}}"
                amount: "{{amount}}"
                currency: "{{currency}}"
                swift_code: "{{beneficiary_bank}}"
            - name: log-transaction
              type: call
              call: "splunk.create-event"
              with:
                index: "wire_transfers"
                event: "Wire transfer {{initiate-transfer.reference}}. From: {{from_account}}. To: {{to_account}}. Amount: {{amount}} {{currency}}."
            - name: create-ticket
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "Wire Transfer: {{initiate-transfer.reference}} — {{amount}} {{currency}}"
                assigned_group: "Treasury_Operations"
                description: "Wire ref: {{initiate-transfer.reference}}. From: {{from_account}}. To: {{to_account}} ({{beneficiary_bank}}). Amount: {{amount}} {{currency}}."
            - name: notify-treasury
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "treasury_operations"
                text: "Wire Transfer Initiated: {{initiate-transfer.reference}} — {{amount}} {{currency}} to {{beneficiary_bank}}. Ticket: {{create-ticket.number}}."
  consumes:
    - type: http
      namespace: mulesoft
      baseUri: "https://api.scotiabank.com/mulesoft/v1"
      authentication:
        type: bearer
        token: "$secrets.mulesoft_token"
      resources:
        - name: wire-transfers
          path: "/payments/wire-transfers"
          operations:
            - name: initiate-wire
              method: POST
    - type: http
      namespace: splunk
      baseUri: "https://splunk.scotiabank.com:8089/services"
      authentication:
        type: bearer
        token: "$secrets.splunk_token"
      resources:
        - name: events
          path: "/collectors/event"
          operations:
            - name: create-event
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://scotiabank.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/task"
          operations:
            - name: create-task
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves compensation data from Workday and sends a review package to the manager via Outlook.

naftiko: "0.5"
info:
  label: "Workday Compensation Review"
  description: "Retrieves compensation data from Workday and sends a review package to the manager via Outlook."
  tags:
    - hr
    - compensation
    - workday
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: hr-compensation
      port: 8080
      tools:
        - name: generate-comp-review
          description: "Generate a compensation review for an employee."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "Workday employee ID."
          steps:
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{employee_id}}"
            - name: get-compensation
              type: call
              call: "workday.get-compensation"
              with:
                worker_id: "{{employee_id}}"
            - name: send-review
              type: call
              call: "outlook.send-mail"
              with:
                recipient: "{{get-employee.manager_email}}"
                subject: "Compensation Review: {{get-employee.full_name}}"
                body: "Employee: {{get-employee.full_name}}. Base: {{get-compensation.base_pay}}. Performance: {{get-compensation.performance_rating}}."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
        - name: compensation
          path: "/workers/{{worker_id}}/compensation"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-compensation
              method: GET
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: mail
          path: "/me/sendMail"
          operations:
            - name: send-mail
              method: POST

Retrieves a Workday worker profile by employee ID.

naftiko: "0.5"
info:
  label: "Workday Employee Profile Lookup"
  description: "Retrieves a Workday worker profile by employee ID."
  tags:
    - hr
    - employee-data
    - workday
capability:
  exposes:
    - type: mcp
      namespace: hr-data
      port: 8080
      tools:
        - name: get-employee-profile
          description: "Look up a Workday employee by ID."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The Workday worker ID."
          call: "workday.get-worker"
          with:
            worker_id: "{{employee_id}}"
          outputParameters:
            - name: full_name
              type: string
              mapping: "$.descriptor"
            - name: department
              type: string
              mapping: "$.primaryPosition.department"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET

Creates a Zoom meeting and notifies via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Zoom Meeting Scheduler"
  description: "Creates a Zoom meeting and notifies via Microsoft Teams."
  tags:
    - collaboration
    - meetings
    - zoom
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: collaboration
      port: 8080
      tools:
        - name: schedule-zoom-meeting
          description: "Create a Zoom meeting and notify via Teams."
          inputParameters:
            - name: topic
              in: body
              type: string
              description: "Meeting topic."
            - name: start_time
              in: body
              type: string
              description: "Start time ISO 8601."
            - name: duration
              in: body
              type: number
              description: "Duration in minutes."
            - name: teams_channel_id
              in: body
              type: string
              description: "Teams channel."
          steps:
            - name: create-meeting
              type: call
              call: "zoom.create-meeting"
              with:
                topic: "{{topic}}"
                start_time: "{{start_time}}"
                duration: "{{duration}}"
            - name: notify-teams
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "{{teams_channel_id}}"
                text: "Zoom meeting scheduled: {{topic}} at {{start_time}}. Join: {{create-meeting.join_url}}"
  consumes:
    - type: http
      namespace: zoom
      baseUri: "https://api.zoom.us/v2"
      authentication:
        type: bearer
        token: "$secrets.zoom_token"
      resources:
        - name: meetings
          path: "/users/me/meetings"
          operations:
            - name: create-meeting
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST