Commonwealth Bank Capabilities
Naftiko 0.5 capability definitions for Commonwealth Bank - 100 capabilities showing integration workflows and service orchestrations.
Checks the health and connectivity status of an Albert POS terminal.
naftiko: "0.5"
info:
label: "Albert POS Terminal Status"
description: "Checks the health and connectivity status of an Albert POS terminal."
tags:
- merchant-services
- albert-pos
capability:
exposes:
- type: mcp
namespace: merchant-services
port: 8080
tools:
- name: get-data
description: "Checks the health and connectivity status of an Albert POS terminal."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "albert_pos.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: albert_pos
baseUri: "https://api.internal.commbank.com.au/merchant-services/v1"
authentication:
type: bearer
token: "$secrets.albert_pos_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Retrieves the status of an Alteryx workflow execution, returning workflow name, run status, output record count, and duration.
naftiko: "0.5"
info:
label: "Alteryx Data Workflow Status"
description: "Retrieves the status of an Alteryx workflow execution, returning workflow name, run status, output record count, and duration."
tags:
- data-engineering
- alteryx
- etl
capability:
exposes:
- type: mcp
namespace: data-engineering
port: 8080
tools:
- name: get-workflow-status
description: "Look up an Alteryx workflow execution status. Returns name, status, output records, and duration."
inputParameters:
- name: job_id
in: body
type: string
description: "The Alteryx workflow job ID."
call: "alteryx.get-job"
with:
job_id: "{{job_id}}"
outputParameters:
- name: workflow_name
type: string
mapping: "$.name"
- name: status
type: string
mapping: "$.status"
- name: output_records
type: number
mapping: "$.outputRecordCount"
- name: duration_seconds
type: number
mapping: "$.duration"
consumes:
- type: http
namespace: alteryx
baseUri: "https://alteryx.internal.commbank.com.au/api/v3"
authentication:
type: bearer
token: "$secrets.alteryx_token"
resources:
- name: jobs
path: "/jobs/{{job_id}}"
inputParameters:
- name: job_id
in: path
operations:
- name: get-job
method: GET
When a high-value transaction is flagged, pulls transaction details from core banking, screens the counterparty against sanctions lists, and files a suspicious activity report in ServiceNow if warranted.
naftiko: "0.5"
info:
label: "AML Transaction Screening Pipeline"
description: "When a high-value transaction is flagged, pulls transaction details from core banking, screens the counterparty against sanctions lists, and files a suspicious activity report in ServiceNow if warranted."
tags:
- aml
- compliance
- sanctions
- servicenow
- transaction-monitoring
capability:
exposes:
- type: mcp
namespace: aml-compliance
port: 8080
tools:
- name: screen-transaction
description: "Given a transaction ID, screen the counterparty against sanctions and compliance databases and file a report if needed."
inputParameters:
- name: transaction_id
in: body
type: string
description: "The core banking transaction identifier."
- name: threshold_amount
in: body
type: number
description: "The AML reporting threshold amount in AUD."
steps:
- name: get-transaction
type: call
call: "core-banking.get-transaction"
with:
transaction_id: "{{transaction_id}}"
- name: screen-counterparty
type: call
call: "sanctions.screen-entity"
with:
entity_name: "{{get-transaction.counterparty_name}}"
country: "{{get-transaction.counterparty_country}}"
- name: file-report
type: call
call: "servicenow.create-incident"
with:
short_description: "AML Alert: {{get-transaction.counterparty_name}} - TXN {{transaction_id}}"
category: "aml_compliance"
description: "Transaction amount: {{get-transaction.amount}} {{get-transaction.currency}}. Sanctions match: {{screen-counterparty.match_status}}. Score: {{screen-counterparty.risk_score}}."
consumes:
- type: http
namespace: core-banking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: transactions
path: "/transactions/{{transaction_id}}"
inputParameters:
- name: transaction_id
in: path
operations:
- name: get-transaction
method: GET
- type: http
namespace: sanctions
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.sanctions_token"
resources:
- name: screening
path: "/sanctions/screen"
operations:
- name: screen-entity
method: POST
- type: http
namespace: servicenow
baseUri: "https://commbank.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
Investigates AML alerts by pulling transaction data, running enhanced due diligence, and filing reports.
naftiko: "0.5"
info:
label: "Anti-Money Laundering Investigation Pipeline"
description: "Investigates AML alerts by pulling transaction data, running enhanced due diligence, and filing reports."
tags:
- compliance
- aml
- austrac
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: anti-money-laundering-investigation
port: 8080
tools:
- name: run-anti-money-laundering-investigation
description: "Investigates AML alerts by pulling transaction data, running enhanced due diligence, and filing reports."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "compliance.run-check"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: compliance
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: checks
path: "/checks"
operations:
- name: run-check
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/messages"
operations:
- name: send-notification
method: POST
Onboards API developers by provisioning sandbox access, creating portal accounts, and sending documentation.
naftiko: "0.5"
info:
label: "API Developer Onboarding Pipeline"
description: "Onboards API developers by provisioning sandbox access, creating portal accounts, and sending documentation."
tags:
- developer-platform
- api-gateway
- apigee
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: api-developer-onboarding
port: 8080
tools:
- name: run-api-developer-onboarding-pipeline
description: "Onboards API developers by provisioning sandbox access, creating portal accounts, and sending documentation."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "salesforce.get-account"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account"
operations:
- name: get-account
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-email
method: POST
Retrieves APRA prudential reporting data including capital adequacy ratios.
naftiko: "0.5"
info:
label: "APRA Prudential Data Lookup"
description: "Retrieves APRA prudential reporting data including capital adequacy ratios."
tags:
- regulatory
- apra
capability:
exposes:
- type: mcp
namespace: regulatory
port: 8080
tools:
- name: get-data
description: "Retrieves APRA prudential reporting data including capital adequacy ratios."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "apra.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: apra
baseUri: "https://api.internal.commbank.com.au/regulatory/v1"
authentication:
type: bearer
token: "$secrets.apra_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Forecasts ATM cash demand by analyzing transaction patterns, running ML predictions, and scheduling replenishment.
naftiko: "0.5"
info:
label: "ATM Cash Forecasting Pipeline"
description: "Forecasts ATM cash demand by analyzing transaction patterns, running ML predictions, and scheduling replenishment."
tags:
- operations
- atm
- snowflake
- machine-learning
capability:
exposes:
- type: mcp
namespace: atm-cash-forecasting
port: 8080
tools:
- name: run-atm-cash-forecasting-pipeline
description: "Forecasts ATM cash demand by analyzing transaction patterns, running ML predictions, and scheduling replenishment."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "snowflake.execute-query"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://commbank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
Retrieves cash transaction threshold report details submitted to AUSTRAC.
naftiko: "0.5"
info:
label: "AUSTRAC CTT Report Lookup"
description: "Retrieves cash transaction threshold report details submitted to AUSTRAC."
tags:
- compliance
- austrac
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: get-data
description: "Retrieves cash transaction threshold report details submitted to AUSTRAC."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "austrac.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: austrac
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.austrac_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Triggers a release pipeline in Azure DevOps for a given project and definition, then posts the release status to Microsoft Teams.
naftiko: "0.5"
info:
label: "Azure DevOps Release Pipeline Trigger"
description: "Triggers a release pipeline in Azure DevOps for a given project and definition, then posts the release status to Microsoft Teams."
tags:
- ci-cd
- azure-devops
- microsoft-teams
- deployment
capability:
exposes:
- type: mcp
namespace: release-management
port: 8080
tools:
- name: trigger-release
description: "Trigger an Azure DevOps release pipeline and notify the team in Microsoft Teams with release status."
inputParameters:
- name: project
in: body
type: string
description: "The Azure DevOps project name."
- name: definition_id
in: body
type: string
description: "The release definition ID."
- name: artifact_version
in: body
type: string
description: "The build artifact version to deploy."
steps:
- name: create-release
type: call
call: "azdo.create-release"
with:
project: "{{project}}"
definition_id: "{{definition_id}}"
artifact_version: "{{artifact_version}}"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "releases"
text: "Release triggered: {{project}} definition {{definition_id}} version {{artifact_version}}. Release ID: {{create-release.id}}. Status: {{create-release.status}}."
consumes:
- type: http
namespace: azdo
baseUri: "https://vsrm.dev.azure.com/commbank"
authentication:
type: basic
username: ""
password: "$secrets.azdo_pat"
resources:
- name: releases
path: "/{{project}}/_apis/release/releases"
inputParameters:
- name: project
in: path
operations:
- name: create-release
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves the current deployment status of a workload on Azure Kubernetes Service, returning replica count, available replicas, and image version.
naftiko: "0.5"
info:
label: "Azure Kubernetes Deployment Status"
description: "Retrieves the current deployment status of a workload on Azure Kubernetes Service, returning replica count, available replicas, and image version."
tags:
- platform
- kubernetes
- azure-kubernetes-service
- deployment
capability:
exposes:
- type: mcp
namespace: platform-ops
port: 8080
tools:
- name: get-deployment-status
description: "Look up the deployment status of an AKS workload. Returns replica count, available replicas, and image version."
inputParameters:
- name: cluster_name
in: body
type: string
description: "The AKS cluster name."
- name: namespace
in: body
type: string
description: "The Kubernetes namespace."
- name: deployment_name
in: body
type: string
description: "The Kubernetes deployment name."
call: "aks.get-deployment"
with:
cluster_name: "{{cluster_name}}"
namespace: "{{namespace}}"
deployment_name: "{{deployment_name}}"
outputParameters:
- name: replicas
type: number
mapping: "$.status.replicas"
- name: available_replicas
type: number
mapping: "$.status.availableReplicas"
- name: image
type: string
mapping: "$.spec.template.spec.containers[0].image"
consumes:
- type: http
namespace: aks
baseUri: "https://management.azure.com/subscriptions/{{subscription_id}}/resourceGroups/{{rg}}/providers/Microsoft.ContainerService/managedClusters"
authentication:
type: bearer
token: "$secrets.azure_token"
resources:
- name: deployments
path: "/{{cluster_name}}/apis/apps/v1/namespaces/{{namespace}}/deployments/{{deployment_name}}"
inputParameters:
- name: cluster_name
in: path
- name: namespace
in: path
- name: deployment_name
in: path
operations:
- name: get-deployment
method: GET
Retrieves real-time market data from Bloomberg Enterprise Data for a given instrument, returning last price, bid, ask, and volume.
naftiko: "0.5"
info:
label: "Bloomberg Market Data Snapshot"
description: "Retrieves real-time market data from Bloomberg Enterprise Data for a given instrument, returning last price, bid, ask, and volume."
tags:
- trading
- market-data
- bloomberg
- bloomberg-enterprise-data
capability:
exposes:
- type: mcp
namespace: market-data
port: 8080
tools:
- name: get-market-snapshot
description: "Retrieve real-time market data for an instrument from Bloomberg. Returns last price, bid, ask, and volume."
inputParameters:
- name: instrument_id
in: body
type: string
description: "The Bloomberg instrument identifier (e.g., AUDUSD Curncy)."
call: "bloomberg.get-instrument"
with:
instrument_id: "{{instrument_id}}"
outputParameters:
- name: last_price
type: number
mapping: "$.data.PX_LAST"
- name: bid
type: number
mapping: "$.data.PX_BID"
- name: ask
type: number
mapping: "$.data.PX_ASK"
- name: volume
type: number
mapping: "$.data.VOLUME"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://bsapi.bloomberg.com/eap/catalogs/bbg/datasets"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: instruments
path: "/snapshots/{{instrument_id}}"
inputParameters:
- name: instrument_id
in: path
operations:
- name: get-instrument
method: GET
Retrieves a document from Box by file ID, returning file name, size, download URL, and last modified date.
naftiko: "0.5"
info:
label: "Box Document Retrieval"
description: "Retrieves a document from Box by file ID, returning file name, size, download URL, and last modified date."
tags:
- document-management
- box
capability:
exposes:
- type: mcp
namespace: document-store
port: 8080
tools:
- name: get-document
description: "Retrieve a document from Box by file ID. Returns file name, size, download URL, and last modified."
inputParameters:
- name: file_id
in: body
type: string
description: "The Box file ID."
call: "box.get-file"
with:
file_id: "{{file_id}}"
outputParameters:
- name: name
type: string
mapping: "$.name"
- name: size
type: number
mapping: "$.size"
- name: download_url
type: string
mapping: "$.shared_link.download_url"
- name: modified_at
type: string
mapping: "$.modified_at"
consumes:
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files/{{file_id}}"
inputParameters:
- name: file_id
in: path
operations:
- name: get-file
method: GET
Retrieves BPAY payment transaction status by payment reference.
naftiko: "0.5"
info:
label: "BPAY Payment Status Lookup"
description: "Retrieves BPAY payment transaction status by payment reference."
tags:
- payments
- bpay
capability:
exposes:
- type: mcp
namespace: payments
port: 8080
tools:
- name: get-data
description: "Retrieves BPAY payment transaction status by payment reference."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "bpay.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: bpay
baseUri: "https://api.internal.commbank.com.au/payments/v1"
authentication:
type: bearer
token: "$secrets.bpay_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Generates branch performance reports by pulling metrics from Salesforce, computing KPIs, and refreshing dashboards.
naftiko: "0.5"
info:
label: "Branch Performance Reporting Pipeline"
description: "Generates branch performance reports by pulling metrics from Salesforce, computing KPIs, and refreshing dashboards."
tags:
- operations
- salesforce
- snowflake
- power-bi
capability:
exposes:
- type: mcp
namespace: branch-performance-reporting
port: 8080
tools:
- name: run-branch-performance-reporting-pipeli
description: "Generates branch performance reports by pulling metrics from Salesforce, computing KPIs, and refreshing dashboards."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "salesforce.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "snowflake.execute-query"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "powerbi.refresh-dataset"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account"
operations:
- name: get-account
method: GET
- type: http
namespace: snowflake
baseUri: "https://commbank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/refresh"
operations:
- name: refresh-dataset
method: POST
Opens new business accounts by verifying ABN/ACN, running AML checks, and provisioning the account.
naftiko: "0.5"
info:
label: "Business Account Opening Pipeline"
description: "Opens new business accounts by verifying ABN/ACN, running AML checks, and provisioning the account."
tags:
- business-banking
- compliance
- core-banking
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: business-account-opening
port: 8080
tools:
- name: run-business-account-opening-pipeline
description: "Opens new business accounts by verifying ABN/ACN, running AML checks, and provisioning the account."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "compliance.run-check"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "corebanking.get-account"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: compliance
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: checks
path: "/checks"
operations:
- name: run-check
method: POST
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
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/messages"
operations:
- name: send-notification
method: POST
Assesses business lending by pulling financials from Xero, running credit scoring, and routing for approval via Salesforce.
naftiko: "0.5"
info:
label: "Business Lending Assessment Pipeline"
description: "Assesses business lending by pulling financials from Xero, running credit scoring, and routing for approval via Salesforce."
tags:
- lending
- business-banking
- xero
- salesforce
capability:
exposes:
- type: mcp
namespace: business-lending-assessment
port: 8080
tools:
- name: run-business-lending-assessment-pipelin
description: "Assesses business lending by pulling financials from Xero, running credit scoring, and routing for approval via Salesforce."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "xero.get-accounts"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "salesforce.get-account"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: xero
baseUri: "https://api.xero.com/api.xro/2.0"
authentication:
type: bearer
token: "$secrets.xero_token"
resources:
- name: accounts
path: "/Accounts"
operations:
- name: get-accounts
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
method: POST
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account"
operations:
- name: get-account
method: GET
Retrieves automated property valuation estimate for a given property address.
naftiko: "0.5"
info:
label: "CBA Property Valuation Lookup"
description: "Retrieves automated property valuation estimate for a given property address."
tags:
- lending
- property-valuation
capability:
exposes:
- type: mcp
namespace: lending
port: 8080
tools:
- name: get-data
description: "Retrieves automated property valuation estimate for a given property address."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "property_valuation.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: property_valuation
baseUri: "https://api.internal.commbank.com.au/lending/v1"
authentication:
type: bearer
token: "$secrets.property_valuation_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Assesses climate risk for the loan portfolio by pulling property data, running climate models, and reporting.
naftiko: "0.5"
info:
label: "Climate Risk Assessment Pipeline"
description: "Assesses climate risk for the loan portfolio by pulling property data, running climate models, and reporting."
tags:
- risk-management
- climate
- snowflake
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: climate-risk-assessment
port: 8080
tools:
- name: run-climate-risk-assessment-pipeline
description: "Assesses climate risk for the loan portfolio by pulling property data, running climate models, and reporting."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "snowflake.execute-query"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://commbank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
Pulls Azure consumption data, identifies underutilized resources, creates a cost optimization recommendation in ServiceNow, and notifies the FinOps team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Cloud Cost Optimization Pipeline"
description: "Pulls Azure consumption data, identifies underutilized resources, creates a cost optimization recommendation in ServiceNow, and notifies the FinOps team via Microsoft Teams."
tags:
- finops
- cloud-cost
- microsoft-azure
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: finops
port: 8080
tools:
- name: optimize-cloud-costs
description: "Given an Azure subscription ID, identify cost optimization opportunities and create recommendations."
inputParameters:
- name: subscription_id
in: body
type: string
description: "The Azure subscription ID."
- name: lookback_days
in: body
type: number
description: "Number of days to analyze for usage patterns."
steps:
- name: get-consumption
type: call
call: "azure.get-consumption"
with:
subscription_id: "{{subscription_id}}"
days: "{{lookback_days}}"
- name: get-advisor-recommendations
type: call
call: "azure.get-advisor"
with:
subscription_id: "{{subscription_id}}"
category: "Cost"
- name: create-ticket
type: call
call: "servicenow.create-task"
with:
short_description: "Cloud cost optimization: {{subscription_id}}"
description: "Total spend: ${{get-consumption.total_cost}}. Potential savings: ${{get-advisor-recommendations.estimated_savings}}. Top recommendations: {{get-advisor-recommendations.summary}}."
- name: notify-finops
type: call
call: "msteams.send-message"
with:
channel_id: "finops"
text: "Cost optimization identified for subscription {{subscription_id}}: ${{get-advisor-recommendations.estimated_savings}} potential savings. ServiceNow task: {{create-ticket.number}}."
consumes:
- type: http
namespace: azure
baseUri: "https://management.azure.com/subscriptions"
authentication:
type: bearer
token: "$secrets.azure_token"
resources:
- name: consumption
path: "/{{subscription_id}}/providers/Microsoft.Consumption/usageDetails"
inputParameters:
- name: subscription_id
in: path
operations:
- name: get-consumption
method: GET
- name: advisor
path: "/{{subscription_id}}/providers/Microsoft.Advisor/recommendations"
inputParameters:
- name: subscription_id
in: path
operations:
- name: get-advisor
method: GET
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/sc_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/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves managed fund details and unit prices from Colonial First State.
naftiko: "0.5"
info:
label: "Colonial First State Fund Lookup"
description: "Retrieves managed fund details and unit prices from Colonial First State."
tags:
- wealth-management
- colonial-first-state
capability:
exposes:
- type: mcp
namespace: wealth-management
port: 8080
tools:
- name: get-data
description: "Retrieves managed fund details and unit prices from Colonial First State."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "colonial_first_state.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: colonial_first_state
baseUri: "https://api.internal.commbank.com.au/wealth-management/v1"
authentication:
type: bearer
token: "$secrets.colonial_first_state_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Retrieves mobile banking app session details for customer engagement analytics.
naftiko: "0.5"
info:
label: "CommBank App Session Lookup"
description: "Retrieves mobile banking app session details for customer engagement analytics."
tags:
- digital-banking
- commbank-app
capability:
exposes:
- type: mcp
namespace: digital-banking
port: 8080
tools:
- name: get-data
description: "Retrieves mobile banking app session details for customer engagement analytics."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "commbank_app.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: commbank_app
baseUri: "https://api.internal.commbank.com.au/digital-banking/v1"
authentication:
type: bearer
token: "$secrets.commbank_app_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Retrieves loyalty rewards points balance and transaction history.
naftiko: "0.5"
info:
label: "CommBank Rewards Points Lookup"
description: "Retrieves loyalty rewards points balance and transaction history."
tags:
- loyalty
- commbank-rewards
capability:
exposes:
- type: mcp
namespace: loyalty
port: 8080
tools:
- name: get-data
description: "Retrieves loyalty rewards points balance and transaction history."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "commbank_rewards.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: commbank_rewards
baseUri: "https://api.internal.commbank.com.au/loyalty/v1"
authentication:
type: bearer
token: "$secrets.commbank_rewards_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Retrieves personalized Yello merchant offers available to a customer.
naftiko: "0.5"
info:
label: "CommBank Yello Offer Lookup"
description: "Retrieves personalized Yello merchant offers available to a customer."
tags:
- loyalty
- commbank-yello
capability:
exposes:
- type: mcp
namespace: loyalty
port: 8080
tools:
- name: get-data
description: "Retrieves personalized Yello merchant offers available to a customer."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "commbank_yello.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: commbank_yello
baseUri: "https://api.internal.commbank.com.au/loyalty/v1"
authentication:
type: bearer
token: "$secrets.commbank_yello_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Retrieves insurance policy details from CommInsure including coverage and premium.
naftiko: "0.5"
info:
label: "CommInsure Policy Lookup"
description: "Retrieves insurance policy details from CommInsure including coverage and premium."
tags:
- insurance
- comminsure
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: get-data
description: "Retrieves insurance policy details from CommInsure including coverage and premium."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "comminsure.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: comminsure
baseUri: "https://api.internal.commbank.com.au/insurance/v1"
authentication:
type: bearer
token: "$secrets.comminsure_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Searches Confluence for a knowledge article by keyword and returns the article title, URL, and last updated date.
naftiko: "0.5"
info:
label: "Confluence Knowledge Article Lookup"
description: "Searches Confluence for a knowledge article by keyword and returns the article title, URL, and last updated date."
tags:
- knowledge-management
- confluence
capability:
exposes:
- type: mcp
namespace: knowledge-base
port: 8080
tools:
- name: search-knowledge-article
description: "Search Confluence for a knowledge article by keyword. Returns title, URL, and last updated date."
inputParameters:
- name: query
in: body
type: string
description: "The search keyword or phrase."
call: "confluence.search"
with:
query: "{{query}}"
outputParameters:
- name: title
type: string
mapping: "$.results[0].title"
- name: url
type: string
mapping: "$.results[0]._links.webui"
- name: last_updated
type: string
mapping: "$.results[0].version.when"
consumes:
- type: http
namespace: confluence
baseUri: "https://commbank.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: content
path: "/content/search"
operations:
- name: search
method: GET
Processes credit card applications by running identity verification, credit assessment, and provisioning.
naftiko: "0.5"
info:
label: "Credit Card Application Pipeline"
description: "Processes credit card applications by running identity verification, credit assessment, and provisioning."
tags:
- retail-banking
- credit-cards
- identity-verification
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: credit-card-application
port: 8080
tools:
- name: run-credit-card-application-pipeline
description: "Processes credit card applications by running identity verification, credit assessment, and provisioning."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
When a customer raises a credit card dispute in Salesforce Service Cloud, retrieves the transaction from core banking, creates a case in ServiceNow, and notifies the disputes team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Credit Card Dispute Resolution Pipeline"
description: "When a customer raises a credit card dispute in Salesforce Service Cloud, retrieves the transaction from core banking, creates a case in ServiceNow, and notifies the disputes team via Microsoft Teams."
tags:
- credit-cards
- disputes
- salesforce-service-cloud
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: card-disputes
port: 8080
tools:
- name: process-card-dispute
description: "Given a Salesforce case ID and transaction reference, orchestrate dispute resolution across core banking, ServiceNow, and Teams."
inputParameters:
- name: case_id
in: body
type: string
description: "The Salesforce Service Cloud case ID."
- name: transaction_ref
in: body
type: string
description: "The credit card transaction reference."
steps:
- name: get-case
type: call
call: "salesforce.get-case"
with:
case_id: "{{case_id}}"
- name: get-transaction
type: call
call: "core-banking.get-card-transaction"
with:
transaction_ref: "{{transaction_ref}}"
- name: create-dispute-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "Card dispute: {{get-case.Subject}}"
category: "card_disputes"
description: "Customer: {{get-case.ContactName}}. Amount: {{get-transaction.amount}} {{get-transaction.currency}}. Merchant: {{get-transaction.merchant_name}}."
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "card-disputes"
text: "New dispute: {{get-case.Subject}} - ${{get-transaction.amount}} at {{get-transaction.merchant_name}}. ServiceNow: {{create-dispute-ticket.number}}."
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: cases
path: "/sobjects/Case/{{case_id}}"
inputParameters:
- name: case_id
in: path
operations:
- name: get-case
method: GET
- type: http
namespace: core-banking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: card-transactions
path: "/cards/transactions/{{transaction_ref}}"
inputParameters:
- name: transaction_ref
in: path
operations:
- name: get-card-transaction
method: GET
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Aggregates customer data from Salesforce CRM, core banking, and Workday financial planning to build a unified customer profile for relationship managers.
naftiko: "0.5"
info:
label: "Customer 360 View Builder"
description: "Aggregates customer data from Salesforce CRM, core banking, and Workday financial planning to build a unified customer profile for relationship managers."
tags:
- customer-360
- salesforce
- core-banking
- crm
capability:
exposes:
- type: mcp
namespace: customer-insights
port: 8080
tools:
- name: build-customer-360
description: "Given a customer ID, aggregate data from Salesforce, core banking, and financial systems into a unified profile."
inputParameters:
- name: customer_id
in: body
type: string
description: "The core banking customer identifier."
steps:
- name: get-crm-profile
type: call
call: "salesforce.get-account"
with:
account_id: "{{customer_id}}"
- name: get-banking-profile
type: call
call: "core-banking.get-customer"
with:
customer_id: "{{customer_id}}"
- name: get-products
type: call
call: "core-banking.get-customer-products"
with:
customer_id: "{{customer_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account/{{account_id}}"
inputParameters:
- name: account_id
in: path
operations:
- name: get-account
method: GET
- type: http
namespace: core-banking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: customers
path: "/customers/{{customer_id}}"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-customer
method: GET
- name: products
path: "/customers/{{customer_id}}/products"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-customer-products
method: GET
Handles customer complaints by logging in Salesforce, assessing severity, and escalating to the relevant team.
naftiko: "0.5"
info:
label: "Customer Complaint Handling Pipeline"
description: "Handles customer complaints by logging in Salesforce, assessing severity, and escalating to the relevant team."
tags:
- customer-support
- salesforce
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: customer-complaint-handling
port: 8080
tools:
- name: run-customer-complaint-handling-pipelin
description: "Handles customer complaints by logging in Salesforce, assessing severity, and escalating to the relevant team."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "salesforce.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "servicenow.create-incident"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account"
operations:
- name: get-account
method: GET
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now/table"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/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/messages"
operations:
- name: send-notification
method: POST
Processes data portability requests under CDR by extracting customer data, packaging it, and delivering via the API.
naftiko: "0.5"
info:
label: "Customer Data Portability Pipeline"
description: "Processes data portability requests under CDR by extracting customer data, packaging it, and delivering via the API."
tags:
- open-banking
- cdr
- data-portability
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: customer-data-portability
port: 8080
tools:
- name: run-customer-data-portability-pipeline
description: "Processes data portability requests under CDR by extracting customer data, packaging it, and delivering via the API."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "compliance.run-check"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: compliance
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: checks
path: "/checks"
operations:
- name: run-check
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/messages"
operations:
- name: send-notification
method: POST
Processes customer hardship claims by reviewing account history, assessing eligibility, and creating a support case.
naftiko: "0.5"
info:
label: "Customer Hardship Assessment Pipeline"
description: "Processes customer hardship claims by reviewing account history, assessing eligibility, and creating a support case."
tags:
- customer-support
- hardship
- salesforce
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: customer-hardship-assessment
port: 8080
tools:
- name: run-customer-hardship-assessment-pipeli
description: "Processes customer hardship claims by reviewing account history, assessing eligibility, and creating a support case."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "salesforce.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "corebanking.get-account"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account"
operations:
- name: get-account
method: GET
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
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/messages"
operations:
- name: send-notification
method: POST
On new retail customer creation in Salesforce, provisions a core banking profile, runs KYC screening, and sends a welcome notification via Microsoft Teams to the relationship manager.
naftiko: "0.5"
info:
label: "Customer Onboarding Orchestrator"
description: "On new retail customer creation in Salesforce, provisions a core banking profile, runs KYC screening, and sends a welcome notification via Microsoft Teams to the relationship manager."
tags:
- banking
- onboarding
- salesforce
- servicenow
- microsoft-teams
- kyc
capability:
exposes:
- type: mcp
namespace: customer-onboarding
port: 8080
tools:
- name: trigger-customer-onboarding
description: "Given a Salesforce contact ID and account type, orchestrate the full retail customer onboarding across core banking, KYC, and notification systems."
inputParameters:
- name: contact_id
in: body
type: string
description: "The Salesforce contact ID for the new customer."
- name: account_type
in: body
type: string
description: "The banking account type (e.g., savings, transaction, term-deposit)."
- name: branch_code
in: body
type: string
description: "The branch code where the account is being opened."
steps:
- name: get-contact
type: call
call: "salesforce.get-contact"
with:
contact_id: "{{contact_id}}"
- name: create-core-profile
type: call
call: "core-banking.create-customer"
with:
full_name: "{{get-contact.Name}}"
email: "{{get-contact.Email}}"
account_type: "{{account_type}}"
branch_code: "{{branch_code}}"
- name: run-kyc
type: call
call: "kyc-service.screen-customer"
with:
customer_id: "{{create-core-profile.customer_id}}"
full_name: "{{get-contact.Name}}"
- name: notify-rm
type: call
call: "msteams.send-message"
with:
channel_id: "retail-onboarding"
text: "New customer onboarded: {{get-contact.Name}} ({{account_type}}). KYC status: {{run-kyc.status}}. Core ID: {{create-core-profile.customer_id}}."
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contacts
path: "/sobjects/Contact/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-contact
method: GET
- type: http
namespace: core-banking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: customers
path: "/customers"
operations:
- name: create-customer
method: POST
- type: http
namespace: kyc-service
baseUri: "https://api.internal.commbank.com.au/kyc/v1"
authentication:
type: bearer
token: "$secrets.kyc_token"
resources:
- name: screening
path: "/screen"
operations:
- name: screen-customer
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Responds to cybersecurity incidents by correlating Splunk alerts, creating ServiceNow incidents, and notifying the CISO.
naftiko: "0.5"
info:
label: "Cybersecurity Incident Response Pipeline"
description: "Responds to cybersecurity incidents by correlating Splunk alerts, creating ServiceNow incidents, and notifying the CISO."
tags:
- security
- splunk
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: cybersecurity-incident-response
port: 8080
tools:
- name: run-cybersecurity-incident-response-pip
description: "Responds to cybersecurity incidents by correlating Splunk alerts, creating ServiceNow incidents, and notifying the CISO."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "splunk.create-search"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "servicenow.create-incident"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: splunk
baseUri: "https://splunk.commbank.com.au:8089/services"
authentication:
type: bearer
token: "$secrets.splunk_token"
resources:
- name: search
path: "/search/jobs"
operations:
- name: create-search
method: POST
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now/table"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/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/messages"
operations:
- name: send-notification
method: POST
Retrieves the status of a registered machine learning model in Databricks MLflow, returning model version, stage, and last transition date.
naftiko: "0.5"
info:
label: "Databricks ML Model Status"
description: "Retrieves the status of a registered machine learning model in Databricks MLflow, returning model version, stage, and last transition date."
tags:
- machine-learning
- databricks
- mlops
capability:
exposes:
- type: mcp
namespace: ml-ops
port: 8080
tools:
- name: get-model-status
description: "Look up a registered ML model in Databricks MLflow. Returns version, stage, and last transition date."
inputParameters:
- name: model_name
in: body
type: string
description: "The registered model name."
call: "databricks.get-model-version"
with:
model_name: "{{model_name}}"
outputParameters:
- name: version
type: string
mapping: "$.model_version.version"
- name: stage
type: string
mapping: "$.model_version.current_stage"
- name: last_transition
type: string
mapping: "$.model_version.last_updated_timestamp"
consumes:
- type: http
namespace: databricks
baseUri: "https://commbank.cloud.databricks.com/api/2.0/mlflow"
authentication:
type: bearer
token: "$secrets.databricks_token"
resources:
- name: model-versions
path: "/registered-models/get-latest-versions"
operations:
- name: get-model-version
method: POST
Retrieves the current health status of a microservice from Datadog, returning uptime percentage, error rate, and latency P99.
naftiko: "0.5"
info:
label: "Datadog Service Health Check"
description: "Retrieves the current health status of a microservice from Datadog, returning uptime percentage, error rate, and latency P99."
tags:
- monitoring
- observability
- datadog
capability:
exposes:
- type: mcp
namespace: platform-health
port: 8080
tools:
- name: get-service-health
description: "Look up the health status of a service in Datadog. Returns uptime, error rate, and P99 latency."
inputParameters:
- name: service_name
in: body
type: string
description: "The Datadog service name."
call: "datadog.get-service-metrics"
with:
service_name: "{{service_name}}"
outputParameters:
- name: uptime_pct
type: number
mapping: "$.series[0].uptime"
- name: error_rate
type: number
mapping: "$.series[0].error_rate"
- name: latency_p99
type: number
mapping: "$.series[0].latency_p99"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: metrics
path: "/query"
operations:
- name: get-service-metrics
method: GET
Processes debit card disputes by investigating the transaction, issuing provisional credit, and notifying the customer.
naftiko: "0.5"
info:
label: "Debit Card Dispute Pipeline"
description: "Processes debit card disputes by investigating the transaction, issuing provisional credit, and notifying the customer."
tags:
- retail-banking
- disputes
- payments
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: debit-card-dispute
port: 8080
tools:
- name: run-debit-card-dispute-pipeline
description: "Processes debit card disputes by investigating the transaction, issuing provisional credit, and notifying the customer."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "servicenow.create-incident"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now/table"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incident"
operations:
- name: create-incident
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-email
method: POST
Checks the health of digital banking APIs via Apigee, retrieves error rates from New Relic, and posts a combined health report to Microsoft Teams.
naftiko: "0.5"
info:
label: "Digital Banking API Health Pipeline"
description: "Checks the health of digital banking APIs via Apigee, retrieves error rates from New Relic, and posts a combined health report to Microsoft Teams."
tags:
- digital-banking
- apigee
- new-relic
- microsoft-teams
- api-management
capability:
exposes:
- type: mcp
namespace: api-health
port: 8080
tools:
- name: check-api-health
description: "Given an API proxy name, check its health in Apigee and New Relic and post a summary to Teams."
inputParameters:
- name: api_proxy
in: body
type: string
description: "The Apigee API proxy name."
- name: newrelic_app_id
in: body
type: string
description: "The New Relic application ID."
steps:
- name: get-apigee-stats
type: call
call: "apigee.get-proxy-stats"
with:
proxy_name: "{{api_proxy}}"
- name: get-newrelic-metrics
type: call
call: "newrelic.get-app-metrics"
with:
app_id: "{{newrelic_app_id}}"
- name: post-report
type: call
call: "msteams.send-message"
with:
channel_id: "api-health"
text: "API Health: {{api_proxy}} - Traffic: {{get-apigee-stats.total_requests}}/hr, Errors: {{get-apigee-stats.error_rate}}%, Apdex: {{get-newrelic-metrics.apdex_score}}, Response: {{get-newrelic-metrics.avg_response_time}}ms."
consumes:
- type: http
namespace: apigee
baseUri: "https://api.enterprise.apigee.com/v1/organizations/commbank"
authentication:
type: bearer
token: "$secrets.apigee_token"
resources:
- name: stats
path: "/environments/prod/stats/apiproxy/{{proxy_name}}"
inputParameters:
- name: proxy_name
in: path
operations:
- name: get-proxy-stats
method: GET
- 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}}/metrics/data.json"
inputParameters:
- name: app_id
in: path
operations:
- name: get-app-metrics
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/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Provisions digital wallet cards by verifying the customer, tokenizing the card, and confirming activation.
naftiko: "0.5"
info:
label: "Digital Wallet Provisioning Pipeline"
description: "Provisions digital wallet cards by verifying the customer, tokenizing the card, and confirming activation."
tags:
- digital-banking
- payments
- tokenization
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: digital-wallet-provisioning
port: 8080
tools:
- name: run-digital-wallet-provisioning-pipelin
description: "Provisions digital wallet cards by verifying the customer, tokenizing the card, and confirming activation."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
Retrieves application performance metrics from Dynatrace, returning response time, failure rate, throughput, and user satisfaction score.
naftiko: "0.5"
info:
label: "Dynatrace Application Performance Lookup"
description: "Retrieves application performance metrics from Dynatrace, returning response time, failure rate, throughput, and user satisfaction score."
tags:
- monitoring
- apm
- dynatrace
capability:
exposes:
- type: mcp
namespace: apm
port: 8080
tools:
- name: get-app-performance
description: "Look up application performance in Dynatrace. Returns response time, failure rate, throughput, and satisfaction score."
inputParameters:
- name: entity_id
in: body
type: string
description: "The Dynatrace application entity ID."
call: "dynatrace.get-app-metrics"
with:
entity_id: "{{entity_id}}"
outputParameters:
- name: response_time_ms
type: number
mapping: "$.result[0].data[0].values.avg"
- name: failure_rate
type: number
mapping: "$.result[1].data[0].values.avg"
- name: throughput
type: number
mapping: "$.result[2].data[0].values.count"
consumes:
- type: http
namespace: dynatrace
baseUri: "https://commbank.live.dynatrace.com/api/v2"
authentication:
type: bearer
token: "$secrets.dynatrace_token"
resources:
- name: metrics
path: "/metrics/query"
operations:
- name: get-app-metrics
method: POST
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint document folder, and sends a Microsoft Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Pipeline"
description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint document 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-employee-onboarding
description: "Given a Workday employee ID, orchestrate the full employee onboarding sequence across ServiceNow, SharePoint, and Microsoft Teams."
inputParameters:
- name: workday_employee_id
in: body
type: string
description: "The Workday worker ID for the new hire."
- name: start_date
in: body
type: string
description: "The employee start date in YYYY-MM-DD format."
- name: department
in: body
type: string
description: "The department the new hire is joining."
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:
recipient_upn: "{{get-employee.work_email}}"
text: "Welcome to Commonwealth Bank, {{get-employee.first_name}}! Your IT onboarding ticket is {{open-ticket.number}}. Documents are ready at {{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://commbank.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: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Assesses first home buyer eligibility by checking grant qualification, running serviceability, and generating pre-approval.
naftiko: "0.5"
info:
label: "First Home Buyer Assessment Pipeline"
description: "Assesses first home buyer eligibility by checking grant qualification, running serviceability, and generating pre-approval."
tags:
- lending
- first-home-buyer
- home-loans
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: first-home-buyer-assessment
port: 8080
tools:
- name: run-first-home-buyer-assessment-pipelin
description: "Assesses first home buyer eligibility by checking grant qualification, running serviceability, and generating pre-approval."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
Investigates suspected fraud by pulling transaction history, running ML fraud scoring, and creating a case in ServiceNow.
naftiko: "0.5"
info:
label: "Fraud Transaction Investigation Pipeline"
description: "Investigates suspected fraud by pulling transaction history, running ML fraud scoring, and creating a case in ServiceNow."
tags:
- fraud
- payments
- machine-learning
- servicenow
capability:
exposes:
- type: mcp
namespace: fraud-transaction-investigation
port: 8080
tools:
- name: run-fraud-transaction-investigation-pip
description: "Investigates suspected fraud by pulling transaction history, running ML fraud scoring, and creating a case in ServiceNow."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "servicenow.create-incident"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
method: POST
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now/table"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incident"
operations:
- name: create-incident
method: POST
Provides institutional FX advisory quotes by fetching market rates, computing spread, and delivering via Microsoft Teams.
naftiko: "0.5"
info:
label: "FX Advisory Quote Pipeline"
description: "Provides institutional FX advisory quotes by fetching market rates, computing spread, and delivering via Microsoft Teams."
tags:
- treasury
- forex
- bloomberg
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: fx-advisory-quote
port: 8080
tools:
- name: run-fx-advisory-quote-pipeline
description: "Provides institutional FX advisory quotes by fetching market rates, computing spread, and delivering via Microsoft Teams."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "bloomberg.get-data"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://bsapi.bloomberg.com/eap/catalogs/bbg"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: data
path: "/datasets"
operations:
- name: get-data
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
Retrieves the latest GitHub Actions workflow run status for a given repository, returning run conclusion, duration, and triggering commit SHA.
naftiko: "0.5"
info:
label: "GitHub Actions Build Status"
description: "Retrieves the latest GitHub Actions workflow run status for a given repository, returning run conclusion, duration, and triggering commit SHA."
tags:
- ci-cd
- github-actions
- engineering
capability:
exposes:
- type: mcp
namespace: ci-cd
port: 8080
tools:
- name: get-build-status
description: "Look up the latest GitHub Actions workflow run for a repository. Returns conclusion, duration, and commit SHA."
inputParameters:
- name: repo
in: body
type: string
description: "The repository in owner/repo format."
- name: workflow_id
in: body
type: string
description: "The workflow file name or ID."
call: "github.get-workflow-run"
with:
repo: "{{repo}}"
workflow_id: "{{workflow_id}}"
outputParameters:
- name: conclusion
type: string
mapping: "$.workflow_runs[0].conclusion"
- name: duration_seconds
type: number
mapping: "$.workflow_runs[0].run_duration"
- name: head_sha
type: string
mapping: "$.workflow_runs[0].head_sha"
consumes:
- type: http
namespace: github
baseUri: "https://api.github.com"
authentication:
type: bearer
token: "$secrets.github_token"
resources:
- name: workflow-runs
path: "/repos/{{repo}}/actions/workflows/{{workflow_id}}/runs"
inputParameters:
- name: repo
in: path
- name: workflow_id
in: path
operations:
- name: get-workflow-run
method: GET
Retrieves digital channel performance metrics from Google Analytics for the CommBank app, returning sessions, conversion rate, and bounce rate.
naftiko: "0.5"
info:
label: "Google Analytics Digital Channel Report"
description: "Retrieves digital channel performance metrics from Google Analytics for the CommBank app, returning sessions, conversion rate, and bounce rate."
tags:
- digital-analytics
- google-analytics
- marketing
capability:
exposes:
- type: mcp
namespace: digital-analytics
port: 8080
tools:
- name: get-channel-report
description: "Look up Google Analytics channel metrics. Returns sessions, conversion rate, and bounce rate."
inputParameters:
- name: property_id
in: body
type: string
description: "The Google Analytics 4 property ID."
- name: date_range
in: body
type: string
description: "The date range (e.g., last7days, last30days)."
call: "ga4.get-report"
with:
property_id: "{{property_id}}"
date_range: "{{date_range}}"
outputParameters:
- name: sessions
type: number
mapping: "$.rows[0].metricValues[0].value"
- name: conversion_rate
type: number
mapping: "$.rows[0].metricValues[1].value"
- name: bounce_rate
type: number
mapping: "$.rows[0].metricValues[2].value"
consumes:
- type: http
namespace: ga4
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: get-report
method: POST
Retrieves a Grafana alert rule by UID, returning rule name, current state, evaluation interval, and associated dashboard.
naftiko: "0.5"
info:
label: "Grafana Alert Rule Lookup"
description: "Retrieves a Grafana alert rule by UID, returning rule name, current state, evaluation interval, and associated dashboard."
tags:
- monitoring
- grafana
- alerting
capability:
exposes:
- type: mcp
namespace: observability-alerts
port: 8080
tools:
- name: get-alert-rule
description: "Look up a Grafana alert rule by UID. Returns rule name, state, evaluation interval, and dashboard."
inputParameters:
- name: rule_uid
in: body
type: string
description: "The Grafana alert rule UID."
call: "grafana.get-alert-rule"
with:
rule_uid: "{{rule_uid}}"
outputParameters:
- name: title
type: string
mapping: "$.title"
- name: state
type: string
mapping: "$.state"
- name: eval_interval
type: string
mapping: "$.intervalSeconds"
consumes:
- type: http
namespace: grafana
baseUri: "https://grafana.internal.commbank.com.au/api"
authentication:
type: bearer
token: "$secrets.grafana_token"
resources:
- name: alert-rules
path: "/v1/provisioning/alert-rules/{{rule_uid}}"
inputParameters:
- name: rule_uid
in: path
operations:
- name: get-alert-rule
method: GET
Processes a home loan application by running credit checks, property valuation, and submitting for approval with broker notification.
naftiko: "0.5"
info:
label: "Home Loan Application Pipeline"
description: "Processes a home loan application by running credit checks, property valuation, and submitting for approval with broker notification."
tags:
- lending
- home-loans
- credit-check
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: home-loan-application
port: 8080
tools:
- name: run-home-loan-application-pipeline
description: "Processes a home loan application by running credit checks, property valuation, and submitting for approval with broker notification."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
Retrieves current home loan interest rates by product type and LVR band.
naftiko: "0.5"
info:
label: "Home Loan Rate Lookup"
description: "Retrieves current home loan interest rates by product type and LVR band."
tags:
- lending
- home-loans
capability:
exposes:
- type: mcp
namespace: lending
port: 8080
tools:
- name: get-data
description: "Retrieves current home loan interest rates by product type and LVR band."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "home_loans.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: home_loans
baseUri: "https://api.internal.commbank.com.au/lending/v1"
authentication:
type: bearer
token: "$secrets.home_loans_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Retrieves the performance metrics of a HubSpot marketing campaign, returning email sent count, open rate, click rate, and conversion count.
naftiko: "0.5"
info:
label: "HubSpot Marketing Campaign Status"
description: "Retrieves the performance metrics of a HubSpot marketing campaign, returning email sent count, open rate, click rate, and conversion count."
tags:
- marketing
- hubspot
- campaign
capability:
exposes:
- type: mcp
namespace: marketing-ops
port: 8080
tools:
- name: get-campaign-performance
description: "Look up HubSpot campaign performance. Returns emails sent, open rate, click rate, and conversions."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The HubSpot campaign ID."
call: "hubspot.get-campaign"
with:
campaign_id: "{{campaign_id}}"
outputParameters:
- name: emails_sent
type: number
mapping: "$.counters.sent"
- name: open_rate
type: number
mapping: "$.counters.openRate"
- name: click_rate
type: number
mapping: "$.counters.clickRate"
- name: conversions
type: number
mapping: "$.counters.conversions"
consumes:
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/marketing/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: campaigns
path: "/campaigns/{{campaign_id}}"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-campaign
method: GET
When a P1 incident is raised in ServiceNow, pulls affected service details, pages the on-call engineer via PagerDuty, and posts an alert to the Microsoft Teams incident channel.
naftiko: "0.5"
info:
label: "Incident Escalation Pipeline"
description: "When a P1 incident is raised in ServiceNow, pulls affected service details, pages the on-call engineer via PagerDuty, and posts an alert to the Microsoft Teams incident channel."
tags:
- incident-management
- servicenow
- pagerduty
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: incident-ops
port: 8080
tools:
- name: escalate-p1-incident
description: "Given a ServiceNow incident number, escalate by paging the on-call engineer and posting to the Teams incident channel."
inputParameters:
- name: incident_number
in: body
type: string
description: "The ServiceNow incident number (e.g., INC0012345)."
steps:
- name: get-incident
type: call
call: "servicenow.get-incident"
with:
incident_number: "{{incident_number}}"
- name: page-oncall
type: call
call: "pagerduty.create-incident"
with:
service_id: "{{get-incident.assignment_group}}"
title: "P1 Escalation: {{get-incident.short_description}}"
urgency: "high"
- name: post-alert
type: call
call: "msteams.send-message"
with:
channel_id: "p1-incidents"
text: "P1 ESCALATION: {{get-incident.short_description}}. Incident: {{incident_number}}. On-call paged: {{page-oncall.assigned_to}}."
consumes:
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: get-incident
method: GET
- type: http
namespace: pagerduty
baseUri: "https://api.pagerduty.com"
authentication:
type: bearer
token: "$secrets.pagerduty_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Executes institutional trades by sourcing prices from Bloomberg, booking in the OMS, and confirming with the client.
naftiko: "0.5"
info:
label: "Institutional Trade Execution Pipeline"
description: "Executes institutional trades by sourcing prices from Bloomberg, booking in the OMS, and confirming with the client."
tags:
- institutional-banking
- bloomberg
- oms
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: institutional-trade-execution
port: 8080
tools:
- name: run-institutional-trade-execution-pipel
description: "Executes institutional trades by sourcing prices from Bloomberg, booking in the OMS, and confirming with the client."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "bloomberg.get-data"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "corebanking.get-account"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://bsapi.bloomberg.com/eap/catalogs/bbg"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: data
path: "/datasets"
operations:
- name: get-data
method: GET
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
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-email
method: POST
Processes CommInsure claims by verifying policy, assessing claim, and routing to the claims team.
naftiko: "0.5"
info:
label: "Insurance Claim Processing Pipeline"
description: "Processes CommInsure claims by verifying policy, assessing claim, and routing to the claims team."
tags:
- insurance
- comminsure
- servicenow
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: insurance-claim-processing
port: 8080
tools:
- name: run-insurance-claim-processing-pipeline
description: "Processes CommInsure claims by verifying policy, assessing claim, and routing to the claims team."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "servicenow.create-incident"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now/table"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incident"
operations:
- name: create-incident
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-email
method: POST
Processes international money transfers by screening via sanctions lists, executing via SWIFT, and confirming.
naftiko: "0.5"
info:
label: "International Money Transfer Pipeline"
description: "Processes international money transfers by screening via sanctions lists, executing via SWIFT, and confirming."
tags:
- payments
- swift
- sanctions-screening
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: international-money-transfer
port: 8080
tools:
- name: run-international-money-transfer-pipeli
description: "Processes international money transfers by screening via sanctions lists, executing via SWIFT, and confirming."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "compliance.run-check"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: compliance
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: checks
path: "/checks"
operations:
- name: run-check
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-email
method: POST
Retrieves the current sprint velocity and story point breakdown from Jira for a given board, returning completed points, remaining points, and sprint burndown status.
naftiko: "0.5"
info:
label: "Jira Sprint Velocity Report"
description: "Retrieves the current sprint velocity and story point breakdown from Jira for a given board, returning completed points, remaining points, and sprint burndown status."
tags:
- engineering
- agile
- jira
capability:
exposes:
- type: mcp
namespace: engineering-metrics
port: 8080
tools:
- name: get-sprint-velocity
description: "Look up the current sprint velocity for a Jira board. Returns completed points, remaining points, and burndown status."
inputParameters:
- name: board_id
in: body
type: string
description: "The Jira board ID."
call: "jira.get-sprint-report"
with:
board_id: "{{board_id}}"
outputParameters:
- name: completed_points
type: number
mapping: "$.sprint.completedPoints"
- name: remaining_points
type: number
mapping: "$.sprint.remainingPoints"
- name: burndown_status
type: string
mapping: "$.sprint.burndownStatus"
consumes:
- type: http
namespace: jira
baseUri: "https://commbank.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"
inputParameters:
- name: board_id
in: path
operations:
- name: get-sprint-report
method: GET
Retrieves consumer group lag metrics for a Kafka topic from the Kafka monitoring API, returning total lag, partition count, and maximum partition lag.
naftiko: "0.5"
info:
label: "Kafka Consumer Lag Monitor"
description: "Retrieves consumer group lag metrics for a Kafka topic from the Kafka monitoring API, returning total lag, partition count, and maximum partition lag."
tags:
- streaming
- kafka
- monitoring
capability:
exposes:
- type: mcp
namespace: event-streaming
port: 8080
tools:
- name: get-consumer-lag
description: "Look up consumer group lag for a Kafka topic. Returns total lag, partition count, and max partition lag."
inputParameters:
- name: consumer_group
in: body
type: string
description: "The Kafka consumer group name."
- name: topic
in: body
type: string
description: "The Kafka topic name."
call: "kafka-monitor.get-lag"
with:
consumer_group: "{{consumer_group}}"
topic: "{{topic}}"
outputParameters:
- name: total_lag
type: number
mapping: "$.consumerGroup.totalLag"
- name: partition_count
type: number
mapping: "$.consumerGroup.partitionCount"
- name: max_partition_lag
type: number
mapping: "$.consumerGroup.maxPartitionLag"
consumes:
- type: http
namespace: kafka-monitor
baseUri: "https://kafka-monitor.internal.commbank.com.au/api/v1"
authentication:
type: bearer
token: "$secrets.kafka_monitor_token"
resources:
- name: consumer-groups
path: "/consumer-groups/{{consumer_group}}/topics/{{topic}}/lag"
inputParameters:
- name: consumer_group
in: path
- name: topic
in: path
operations:
- name: get-lag
method: GET
Refreshes KYC profiles by pulling latest customer data, running screening checks, and updating compliance records.
naftiko: "0.5"
info:
label: "KYC Refresh Pipeline"
description: "Refreshes KYC profiles by pulling latest customer data, running screening checks, and updating compliance records."
tags:
- compliance
- kyc
- salesforce
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: kyc-refresh
port: 8080
tools:
- name: run-kyc-refresh-pipeline
description: "Refreshes KYC profiles by pulling latest customer data, running screening checks, and updating compliance records."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "salesforce.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "kyc.screen-customer"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account"
operations:
- name: get-account
method: GET
- type: http
namespace: kyc
baseUri: "https://api.internal.commbank.com.au/kyc/v1"
authentication:
type: bearer
token: "$secrets.kyc_token"
resources:
- name: screening
path: "/screen"
operations:
- name: screen-customer
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/messages"
operations:
- name: send-notification
method: POST
When a business loan application advances to document collection, generates required document checklist in ServiceNow, creates a SharePoint folder for uploads, and emails the applicant via Microsoft Outlook with upload instructions.
naftiko: "0.5"
info:
label: "Loan Origination Document Pipeline"
description: "When a business loan application advances to document collection, generates required document checklist in ServiceNow, creates a SharePoint folder for uploads, and emails the applicant via Microsoft Outlook with upload instructions."
tags:
- lending
- loan-origination
- servicenow
- sharepoint
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: business-lending
port: 8080
tools:
- name: initiate-doc-collection
description: "Given a loan application ID, create the document checklist, provision storage, and notify the applicant."
inputParameters:
- name: application_id
in: body
type: string
description: "The loan application identifier."
- name: applicant_email
in: body
type: string
description: "The applicant's email address."
- name: loan_type
in: body
type: string
description: "The loan type (e.g., commercial, equipment, property)."
steps:
- name: create-checklist
type: call
call: "servicenow.create-task"
with:
short_description: "Document collection: Application {{application_id}}"
category: "loan_origination"
description: "Loan type: {{loan_type}}. Required documents per policy for {{loan_type}} loans."
- name: create-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "lending_docs"
folder_path: "Applications/{{application_id}}"
- name: send-email
type: call
call: "outlook.send-email"
with:
to: "{{applicant_email}}"
subject: "Document Upload Required - Loan Application {{application_id}}"
body: "Please upload your required documents to: {{create-folder.url}}. Your document checklist reference is {{create-checklist.number}}."
consumes:
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/sc_task"
operations:
- name: create-task
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: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: mail
path: "/users/{{from}}/sendMail"
operations:
- name: send-email
method: POST
Checks the status of a payment processed through the Mastercard gateway, returning authorization code, settlement status, and merchant details.
naftiko: "0.5"
info:
label: "Mastercard Payment Gateway Status"
description: "Checks the status of a payment processed through the Mastercard gateway, returning authorization code, settlement status, and merchant details."
tags:
- payments
- mastercard
- card-processing
capability:
exposes:
- type: mcp
namespace: payment-gateway
port: 8080
tools:
- name: get-payment-status
description: "Check Mastercard gateway payment status. Returns authorization code, settlement status, and merchant details."
inputParameters:
- name: payment_id
in: body
type: string
description: "The Mastercard payment transaction ID."
call: "mastercard.get-transaction"
with:
payment_id: "{{payment_id}}"
outputParameters:
- name: auth_code
type: string
mapping: "$.transaction.authorizationCode"
- name: settlement_status
type: string
mapping: "$.transaction.settlementStatus"
- name: merchant_name
type: string
mapping: "$.transaction.merchant.name"
consumes:
- type: http
namespace: mastercard
baseUri: "https://api.mastercard.com/mdes/digitization/v1"
authentication:
type: oauth
client_id: "$secrets.mastercard_client_id"
client_secret: "$secrets.mastercard_client_secret"
resources:
- name: transactions
path: "/transactions/{{payment_id}}"
inputParameters:
- name: payment_id
in: path
operations:
- name: get-transaction
method: GET
Onboards new merchants by verifying ABN, provisioning POS terminals, and creating accounts with notification.
naftiko: "0.5"
info:
label: "Merchant Onboarding Pipeline"
description: "Onboards new merchants by verifying ABN, provisioning POS terminals, and creating accounts with notification."
tags:
- merchant-services
- albert-pos
- salesforce
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: merchant-onboarding
port: 8080
tools:
- name: run-merchant-onboarding-pipeline
description: "Onboards new merchants by verifying ABN, provisioning POS terminals, and creating accounts with notification."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "salesforce.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "corebanking.get-account"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account"
operations:
- name: get-account
method: GET
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
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/messages"
operations:
- name: send-notification
method: POST
Updates a feature flag for the CommBank mobile app, triggers a Harness deployment pipeline, and notifies the mobile team via Microsoft Teams with rollout percentage.
naftiko: "0.5"
info:
label: "Mobile Banking Feature Toggle Pipeline"
description: "Updates a feature flag for the CommBank mobile app, triggers a Harness deployment pipeline, and notifies the mobile team via Microsoft Teams with rollout percentage."
tags:
- mobile-banking
- feature-flags
- harness
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: mobile-ops
port: 8080
tools:
- name: toggle-mobile-feature
description: "Given a feature flag key and rollout percentage, update the flag in Harness and notify the mobile team."
inputParameters:
- name: feature_key
in: body
type: string
description: "The Harness feature flag key."
- name: rollout_pct
in: body
type: number
description: "The target rollout percentage (0-100)."
- name: environment
in: body
type: string
description: "The target environment (e.g., production, staging)."
steps:
- name: update-flag
type: call
call: "harness.update-feature-flag"
with:
feature_key: "{{feature_key}}"
environment: "{{environment}}"
rollout_percentage: "{{rollout_pct}}"
- name: notify-mobile-team
type: call
call: "msteams.send-message"
with:
channel_id: "mobile-releases"
text: "Feature flag '{{feature_key}}' updated in {{environment}}: rollout now {{rollout_pct}}%. Updated by automation."
consumes:
- type: http
namespace: harness
baseUri: "https://app.harness.io/cf/admin"
authentication:
type: bearer
token: "$secrets.harness_token"
resources:
- name: feature-flags
path: "/features/{{feature_key}}"
inputParameters:
- name: feature_key
in: path
operations:
- name: update-feature-flag
method: PATCH
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
When a mortgage application is submitted via Salesforce, retrieves the applicant credit score from Equifax, runs affordability checks, and updates the Salesforce opportunity with decision status and notifies the broker via Microsoft Teams.
naftiko: "0.5"
info:
label: "Mortgage Application Pipeline"
description: "When a mortgage application is submitted via Salesforce, retrieves the applicant credit score from Equifax, runs affordability checks, and updates the Salesforce opportunity with decision status and notifies the broker via Microsoft Teams."
tags:
- lending
- mortgage
- salesforce
- credit
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: lending
port: 8080
tools:
- name: process-mortgage-application
description: "Given a Salesforce opportunity ID, orchestrate credit check, affordability assessment, and broker notification for a mortgage application."
inputParameters:
- name: opportunity_id
in: body
type: string
description: "The Salesforce opportunity ID for the mortgage application."
- name: applicant_id
in: body
type: string
description: "The customer identifier for the applicant."
steps:
- name: get-opportunity
type: call
call: "salesforce.get-opportunity"
with:
opportunity_id: "{{opportunity_id}}"
- name: credit-check
type: call
call: "equifax.get-credit-score"
with:
applicant_id: "{{applicant_id}}"
full_name: "{{get-opportunity.ContactName}}"
- name: affordability-check
type: call
call: "lending-engine.assess-affordability"
with:
loan_amount: "{{get-opportunity.Amount}}"
credit_score: "{{credit-check.score}}"
income: "{{get-opportunity.AnnualIncome}}"
- name: update-opportunity
type: call
call: "salesforce.update-opportunity"
with:
opportunity_id: "{{opportunity_id}}"
stage: "{{affordability-check.decision}}"
- name: notify-broker
type: call
call: "msteams.send-message"
with:
channel_id: "mortgage-decisions"
text: "Mortgage {{opportunity_id}} for {{get-opportunity.ContactName}}: Credit score {{credit-check.score}}, Decision: {{affordability-check.decision}}."
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: opportunities
path: "/sobjects/Opportunity/{{opportunity_id}}"
inputParameters:
- name: opportunity_id
in: path
operations:
- name: get-opportunity
method: GET
- name: update-opportunity
method: PATCH
- type: http
namespace: equifax
baseUri: "https://api.equifax.com.au/v2"
authentication:
type: bearer
token: "$secrets.equifax_token"
resources:
- name: credit-scores
path: "/credit/score"
operations:
- name: get-credit-score
method: POST
- type: http
namespace: lending-engine
baseUri: "https://api.internal.commbank.com.au/lending/v1"
authentication:
type: bearer
token: "$secrets.lending_token"
resources:
- name: affordability
path: "/assess"
operations:
- name: assess-affordability
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves customer account balance from NetBank core banking by BSB and account number.
naftiko: "0.5"
info:
label: "NetBank Account Balance Lookup"
description: "Retrieves customer account balance from NetBank core banking by BSB and account number."
tags:
- retail-banking
- netbank
capability:
exposes:
- type: mcp
namespace: retail-banking
port: 8080
tools:
- name: get-data
description: "Retrieves customer account balance from NetBank core banking by BSB and account number."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "netbank.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: netbank
baseUri: "https://api.internal.commbank.com.au/retail-banking/v1"
authentication:
type: bearer
token: "$secrets.netbank_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Reconciles New Payments Platform transactions by matching against core banking records and notifying treasury.
naftiko: "0.5"
info:
label: "NPP Payment Reconciliation Pipeline"
description: "Reconciles New Payments Platform transactions by matching against core banking records and notifying treasury."
tags:
- payments
- npp
- core-banking
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: npp-payment-reconciliation
port: 8080
tools:
- name: run-npp-payment-reconciliation-pipeline
description: "Reconciles New Payments Platform transactions by matching against core banking records and notifying treasury."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "snowflake.execute-query"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: snowflake
baseUri: "https://commbank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/messages"
operations:
- name: send-notification
method: POST
Processes a New Payments Platform (NPP) real-time payment by validating the PayID, debiting the source account, crediting the destination, and logging the transaction in the audit system.
naftiko: "0.5"
info:
label: "NPP Real-Time Payment Processing Pipeline"
description: "Processes a New Payments Platform (NPP) real-time payment by validating the PayID, debiting the source account, crediting the destination, and logging the transaction in the audit system."
tags:
- payments
- npp
- real-time-payments
- core-banking
capability:
exposes:
- type: mcp
namespace: real-time-payments
port: 8080
tools:
- name: process-npp-payment
description: "Given source and destination details, process an NPP real-time payment including PayID validation, debit, credit, and audit logging."
inputParameters:
- name: source_bsb
in: body
type: string
description: "The source account BSB."
- name: source_account
in: body
type: string
description: "The source account number."
- name: payid
in: body
type: string
description: "The destination PayID (email or phone)."
- name: amount
in: body
type: number
description: "The payment amount in AUD."
- name: description
in: body
type: string
description: "The payment description."
steps:
- name: resolve-payid
type: call
call: "npp.resolve-payid"
with:
payid: "{{payid}}"
- name: debit-source
type: call
call: "core-banking.debit-account"
with:
bsb: "{{source_bsb}}"
account: "{{source_account}}"
amount: "{{amount}}"
reference: "{{description}}"
- name: credit-destination
type: call
call: "npp.submit-payment"
with:
destination_bsb: "{{resolve-payid.bsb}}"
destination_account: "{{resolve-payid.account_number}}"
amount: "{{amount}}"
description: "{{description}}"
- name: log-audit
type: call
call: "audit.log-transaction"
with:
transaction_id: "{{credit-destination.transaction_id}}"
type: "NPP_PAYMENT"
amount: "{{amount}}"
status: "{{credit-destination.status}}"
consumes:
- type: http
namespace: npp
baseUri: "https://api.internal.commbank.com.au/npp/v1"
authentication:
type: bearer
token: "$secrets.npp_token"
resources:
- name: payid
path: "/payid/resolve"
operations:
- name: resolve-payid
method: POST
- name: payments
path: "/payments"
operations:
- name: submit-payment
method: POST
- type: http
namespace: core-banking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts/debit"
operations:
- name: debit-account
method: POST
- type: http
namespace: audit
baseUri: "https://api.internal.commbank.com.au/audit/v1"
authentication:
type: bearer
token: "$secrets.audit_token"
resources:
- name: transactions
path: "/log"
operations:
- name: log-transaction
method: POST
When a customer authorizes data sharing via CDR, records the consent in the consent registry, provisions API access tokens, and notifies the data recipient via webhook.
naftiko: "0.5"
info:
label: "Open Banking Consent Management Pipeline"
description: "When a customer authorizes data sharing via CDR, records the consent in the consent registry, provisions API access tokens, and notifies the data recipient via webhook."
tags:
- open-banking
- cdr
- consent
- api-management
capability:
exposes:
- type: mcp
namespace: open-banking
port: 8080
tools:
- name: process-cdr-consent
description: "Given a customer ID and data recipient, process a CDR consent authorization including registry update, token provisioning, and recipient notification."
inputParameters:
- name: customer_id
in: body
type: string
description: "The banking customer identifier."
- name: data_recipient_id
in: body
type: string
description: "The accredited data recipient identifier."
- name: scopes
in: body
type: string
description: "The consented data scopes (e.g., accounts, transactions, balances)."
steps:
- name: register-consent
type: call
call: "consent-registry.create-consent"
with:
customer_id: "{{customer_id}}"
recipient_id: "{{data_recipient_id}}"
scopes: "{{scopes}}"
- name: provision-token
type: call
call: "token-service.create-token"
with:
consent_id: "{{register-consent.consent_id}}"
scopes: "{{scopes}}"
- name: notify-recipient
type: call
call: "webhook.send-notification"
with:
recipient_url: "{{register-consent.callback_url}}"
consent_id: "{{register-consent.consent_id}}"
status: "active"
consumes:
- type: http
namespace: consent-registry
baseUri: "https://api.internal.commbank.com.au/openbanking/v1"
authentication:
type: bearer
token: "$secrets.openbanking_token"
resources:
- name: consents
path: "/consents"
operations:
- name: create-consent
method: POST
- type: http
namespace: token-service
baseUri: "https://api.internal.commbank.com.au/openbanking/v1"
authentication:
type: bearer
token: "$secrets.openbanking_token"
resources:
- name: tokens
path: "/tokens"
operations:
- name: create-token
method: POST
- type: http
namespace: webhook
baseUri: "https://api.internal.commbank.com.au/webhooks/v1"
authentication:
type: bearer
token: "$secrets.webhook_token"
resources:
- name: notifications
path: "/send"
operations:
- name: send-notification
method: POST
Manages Open Banking data sharing by validating consent, extracting account data, and serving via the CDR API.
naftiko: "0.5"
info:
label: "Open Banking Data Sharing Pipeline"
description: "Manages Open Banking data sharing by validating consent, extracting account data, and serving via the CDR API."
tags:
- open-banking
- cdr
- consent-management
- servicenow
capability:
exposes:
- type: mcp
namespace: open-banking-data-sharing
port: 8080
tools:
- name: run-open-banking-data-sharing-pipeline
description: "Manages Open Banking data sharing by validating consent, extracting account data, and serving via the CDR API."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "compliance.run-check"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "servicenow.create-incident"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: compliance
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: checks
path: "/checks"
operations:
- name: run-check
method: POST
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now/table"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incident"
operations:
- name: create-incident
method: POST
Queries Oracle Database for tablespace utilization and returns current size, used space, free space, and utilization percentage.
naftiko: "0.5"
info:
label: "Oracle Database Health Check"
description: "Queries Oracle Database for tablespace utilization and returns current size, used space, free space, and utilization percentage."
tags:
- database
- oracle
- oracle-database
- monitoring
capability:
exposes:
- type: mcp
namespace: db-ops
port: 8080
tools:
- name: get-tablespace-utilization
description: "Look up Oracle tablespace utilization. Returns total size, used, free, and utilization percentage."
inputParameters:
- name: database_name
in: body
type: string
description: "The Oracle database service name."
- name: tablespace_name
in: body
type: string
description: "The tablespace name to check."
call: "oracle.get-tablespace"
with:
database_name: "{{database_name}}"
tablespace_name: "{{tablespace_name}}"
outputParameters:
- name: total_size_gb
type: number
mapping: "$.tablespace.totalSizeGB"
- name: used_gb
type: number
mapping: "$.tablespace.usedGB"
- name: free_gb
type: number
mapping: "$.tablespace.freeGB"
- name: utilization_pct
type: number
mapping: "$.tablespace.utilizationPct"
consumes:
- type: http
namespace: oracle
baseUri: "https://oracle-mgmt.internal.commbank.com.au/api/v1"
authentication:
type: bearer
token: "$secrets.oracle_mgmt_token"
resources:
- name: tablespaces
path: "/databases/{{database_name}}/tablespaces/{{tablespace_name}}"
inputParameters:
- name: database_name
in: path
- name: tablespace_name
in: path
operations:
- name: get-tablespace
method: GET
Retrieves Osko real-time payment status via the New Payments Platform.
naftiko: "0.5"
info:
label: "Osko Instant Payment Status"
description: "Retrieves Osko real-time payment status via the New Payments Platform."
tags:
- payments
- osko
capability:
exposes:
- type: mcp
namespace: payments
port: 8080
tools:
- name: get-data
description: "Retrieves Osko real-time payment status via the New Payments Platform."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "osko.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: osko
baseUri: "https://api.internal.commbank.com.au/payments/v1"
authentication:
type: bearer
token: "$secrets.osko_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Retrieves a firewall rule from Palo Alto Networks by rule name, returning rule action, source zones, destination zones, and application filter.
naftiko: "0.5"
info:
label: "Palo Alto Firewall Rule Lookup"
description: "Retrieves a firewall rule from Palo Alto Networks by rule name, returning rule action, source zones, destination zones, and application filter."
tags:
- security
- firewall
- palo-alto-networks
capability:
exposes:
- type: mcp
namespace: network-security
port: 8080
tools:
- name: get-firewall-rule
description: "Look up a Palo Alto Networks firewall rule by name. Returns action, source zones, destination zones, and application filter."
inputParameters:
- name: rule_name
in: body
type: string
description: "The firewall rule name."
- name: device_group
in: body
type: string
description: "The Panorama device group."
call: "paloalto.get-rule"
with:
rule_name: "{{rule_name}}"
device_group: "{{device_group}}"
outputParameters:
- name: action
type: string
mapping: "$.result.entry.action"
- name: source_zones
type: string
mapping: "$.result.entry.from.member"
- name: destination_zones
type: string
mapping: "$.result.entry.to.member"
- name: applications
type: string
mapping: "$.result.entry.application.member"
consumes:
- type: http
namespace: paloalto
baseUri: "https://panorama.internal.commbank.com.au/restapi/v10.2"
authentication:
type: apiKey
key: "$secrets.paloalto_api_key"
resources:
- name: security-rules
path: "/Policies/SecurityRules"
operations:
- name: get-rule
method: GET
Processes pension payments by calculating entitlements, executing payments, and notifying members.
naftiko: "0.5"
info:
label: "Pension Payment Processing Pipeline"
description: "Processes pension payments by calculating entitlements, executing payments, and notifying members."
tags:
- superannuation
- pension
- bpay
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: pension-payment-processing
port: 8080
tools:
- name: run-pension-payment-processing-pipeline
description: "Processes pension payments by calculating entitlements, executing payments, and notifying members."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "cfs.get-fund"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "corebanking.get-account"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: cfs
baseUri: "https://api.internal.commbank.com.au/cfs/v1"
authentication:
type: bearer
token: "$secrets.cfs_token"
resources:
- name: funds
path: "/funds"
operations:
- name: get-fund
method: GET
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
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-email
method: POST
Processes personal loan top-up requests by checking eligibility, running credit assessment, and disbursing funds.
naftiko: "0.5"
info:
label: "Personal Loan Top-Up Pipeline"
description: "Processes personal loan top-up requests by checking eligibility, running credit assessment, and disbursing funds."
tags:
- lending
- personal-loans
- core-banking
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: personal-loan-top-up
port: 8080
tools:
- name: run-personal-loan-top-up-pipeline
description: "Processes personal loan top-up requests by checking eligibility, running credit assessment, and disbursing funds."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
Triggers a dataset refresh in Power BI for a given workspace and dataset, returning the refresh status and completion time.
naftiko: "0.5"
info:
label: "Power BI Report Refresh Trigger"
description: "Triggers a dataset refresh in Power BI for a given workspace and dataset, returning the refresh status and completion time."
tags:
- analytics
- reporting
- power-bi
capability:
exposes:
- type: mcp
namespace: bi-reporting
port: 8080
tools:
- name: refresh-dataset
description: "Trigger a Power BI dataset refresh. Returns refresh status and estimated completion time."
inputParameters:
- name: workspace_id
in: body
type: string
description: "The Power BI workspace ID."
- name: dataset_id
in: body
type: string
description: "The Power BI dataset ID."
call: "powerbi.refresh-dataset"
with:
workspace_id: "{{workspace_id}}"
dataset_id: "{{dataset_id}}"
outputParameters:
- name: refresh_id
type: string
mapping: "$.id"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/groups/{{workspace_id}}/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: workspace_id
in: path
- name: dataset_id
in: path
operations:
- name: refresh-dataset
method: POST
Manages property settlement by coordinating with the conveyancer, releasing funds, and registering the mortgage.
naftiko: "0.5"
info:
label: "Property Settlement Pipeline"
description: "Manages property settlement by coordinating with the conveyancer, releasing funds, and registering the mortgage."
tags:
- lending
- property
- settlements
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: property-settlement
port: 8080
tools:
- name: run-property-settlement-pipeline
description: "Manages property settlement by coordinating with the conveyancer, releasing funds, and registering the mortgage."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
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/messages"
operations:
- name: send-notification
method: POST
Triggers a Qlik Sense app reload for a given app ID and returns the reload status and task execution time.
naftiko: "0.5"
info:
label: "Qlik Sense Dashboard Reload"
description: "Triggers a Qlik Sense app reload for a given app ID and returns the reload status and task execution time."
tags:
- analytics
- qlik-sense
- reporting
capability:
exposes:
- type: mcp
namespace: bi-qlik
port: 8080
tools:
- name: reload-qlik-app
description: "Trigger a Qlik Sense app reload. Returns reload status and execution time."
inputParameters:
- name: app_id
in: body
type: string
description: "The Qlik Sense app ID."
call: "qlik.reload-app"
with:
app_id: "{{app_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: execution_time
type: number
mapping: "$.executionTime"
consumes:
- type: http
namespace: qlik
baseUri: "https://qlik.internal.commbank.com.au/api/v1"
authentication:
type: bearer
token: "$secrets.qlik_token"
resources:
- name: reloads
path: "/reloads"
operations:
- name: reload-app
method: POST
Retrieves the current foreign exchange rate for a currency pair from Bloomberg Enterprise Data, returning bid, ask, mid, and timestamp.
naftiko: "0.5"
info:
label: "Real-Time FX Rate Lookup"
description: "Retrieves the current foreign exchange rate for a currency pair from Bloomberg Enterprise Data, returning bid, ask, mid, and timestamp."
tags:
- treasury
- forex
- bloomberg
- bloomberg-enterprise-data
capability:
exposes:
- type: mcp
namespace: treasury
port: 8080
tools:
- name: get-fx-rate
description: "Look up the real-time FX rate for a currency pair from Bloomberg. Returns bid, ask, mid, and timestamp."
inputParameters:
- name: currency_pair
in: body
type: string
description: "The currency pair (e.g., AUDUSD, EURAUD)."
call: "bloomberg.get-fx-rate"
with:
currency_pair: "{{currency_pair}}"
outputParameters:
- name: bid
type: number
mapping: "$.data.PX_BID"
- name: ask
type: number
mapping: "$.data.PX_ASK"
- name: mid
type: number
mapping: "$.data.PX_MID"
- name: timestamp
type: string
mapping: "$.data.LAST_UPDATE"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://bsapi.bloomberg.com/eap/catalogs/bbg/datasets"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: fx-rates
path: "/snapshots/{{currency_pair}}+Curncy"
inputParameters:
- name: currency_pair
in: path
operations:
- name: get-fx-rate
method: GET
Handles regulatory breach notifications by assessing impact, filing with APRA, and notifying the board.
naftiko: "0.5"
info:
label: "Regulatory Breach Notification Pipeline"
description: "Handles regulatory breach notifications by assessing impact, filing with APRA, and notifying the board."
tags:
- compliance
- apra
- regulatory
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: regulatory-breach-notification
port: 8080
tools:
- name: run-regulatory-breach-notification-pipe
description: "Handles regulatory breach notifications by assessing impact, filing with APRA, and notifying the board."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "compliance.run-check"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "corebanking.get-account"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: compliance
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: checks
path: "/checks"
operations:
- name: run-check
method: POST
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
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-email
method: POST
Extracts transaction data from SAP BW, transforms it into APRA reporting format, uploads the report to SharePoint, and notifies the compliance team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Regulatory Reporting Pipeline"
description: "Extracts transaction data from SAP BW, transforms it into APRA reporting format, uploads the report to SharePoint, and notifies the compliance team via Microsoft Teams."
tags:
- compliance
- regulatory-reporting
- sap-bw
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: regulatory-reporting
port: 8080
tools:
- name: generate-apra-report
description: "Given a reporting period and report type, extract data from SAP BW, generate the APRA report, and distribute to compliance."
inputParameters:
- name: report_period
in: body
type: string
description: "The reporting period in YYYY-MM format."
- name: report_type
in: body
type: string
description: "The APRA report type (e.g., ARF_320_0, ARF_330_0)."
steps:
- name: extract-data
type: call
call: "sapbw.run-query"
with:
query_name: "APRA_{{report_type}}"
period: "{{report_period}}"
- name: generate-report
type: call
call: "reporting-engine.transform"
with:
data: "{{extract-data.results}}"
template: "{{report_type}}"
- name: upload-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "compliance_reports"
file_path: "APRA/{{report_type}}/{{report_period}}.xlsx"
content: "{{generate-report.file_content}}"
- name: notify-compliance
type: call
call: "msteams.send-message"
with:
channel_id: "regulatory-reporting"
text: "APRA report {{report_type}} for {{report_period}} generated and uploaded. File: {{upload-report.url}}."
consumes:
- type: http
namespace: sapbw
baseUri: "https://commbank-bw.sap.com/sap/bw/ina"
authentication:
type: basic
username: "$secrets.sapbw_user"
password: "$secrets.sapbw_password"
resources:
- name: queries
path: "/GetResponse"
operations:
- name: run-query
method: POST
- type: http
namespace: reporting-engine
baseUri: "https://api.internal.commbank.com.au/reporting/v1"
authentication:
type: bearer
token: "$secrets.reporting_token"
resources:
- name: transform
path: "/transform"
operations:
- name: transform
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:/{{file_path}}:/content"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: upload-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/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves a pending access certification campaign from SailPoint, returning campaign name, reviewer, number of items, and due date.
naftiko: "0.5"
info:
label: "SailPoint Access Certification Review"
description: "Retrieves a pending access certification campaign from SailPoint, returning campaign name, reviewer, number of items, and due date."
tags:
- identity
- access-management
- sailpoint
capability:
exposes:
- type: mcp
namespace: identity-governance
port: 8080
tools:
- name: get-certification-campaign
description: "Look up a SailPoint access certification campaign. Returns campaign name, reviewer, item count, and due date."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The SailPoint certification campaign ID."
call: "sailpoint.get-campaign"
with:
campaign_id: "{{campaign_id}}"
outputParameters:
- name: name
type: string
mapping: "$.name"
- name: reviewer
type: string
mapping: "$.reviewer.name"
- name: item_count
type: number
mapping: "$.totalItems"
- name: due_date
type: string
mapping: "$.dueDate"
consumes:
- type: http
namespace: sailpoint
baseUri: "https://commbank.api.identitynow.com/v3"
authentication:
type: bearer
token: "$secrets.sailpoint_token"
resources:
- name: campaigns
path: "/campaigns/{{campaign_id}}"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-campaign
method: GET
When a new business banking lead is created in Salesforce, enriches it with Bloomberg Intelligence firmographic data, scores the lead, and assigns to the appropriate relationship manager.
naftiko: "0.5"
info:
label: "Salesforce Lead Qualification Pipeline"
description: "When a new business banking lead is created in Salesforce, enriches it with Bloomberg Intelligence firmographic data, scores the lead, and assigns to the appropriate relationship manager."
tags:
- sales
- crm
- salesforce
- bloomberg-intelligence
- lead-management
capability:
exposes:
- type: mcp
namespace: sales-ops
port: 8080
tools:
- name: qualify-business-lead
description: "Given a Salesforce lead ID, enrich with firmographic data from Bloomberg, score the lead, and assign to a RM."
inputParameters:
- name: lead_id
in: body
type: string
description: "The Salesforce lead ID."
steps:
- name: get-lead
type: call
call: "salesforce.get-lead"
with:
lead_id: "{{lead_id}}"
- name: get-firmographics
type: call
call: "bloomberg.get-company-profile"
with:
company_name: "{{get-lead.Company}}"
- name: update-lead
type: call
call: "salesforce.update-lead"
with:
lead_id: "{{lead_id}}"
annual_revenue: "{{get-firmographics.revenue}}"
industry: "{{get-firmographics.industry}}"
employee_count: "{{get-firmographics.employee_count}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: leads
path: "/sobjects/Lead/{{lead_id}}"
inputParameters:
- name: lead_id
in: path
operations:
- name: get-lead
method: GET
- name: update-lead
method: PATCH
- type: http
namespace: bloomberg
baseUri: "https://bsapi.bloomberg.com/eap/catalogs/bbg/datasets"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: company-profiles
path: "/company/{{company_name}}"
inputParameters:
- name: company_name
in: path
operations:
- name: get-company-profile
method: GET
When an expense report is submitted in SAP Concur, validates policy compliance, routes for manager approval in Workday, and notifies the submitter via Microsoft Outlook.
naftiko: "0.5"
info:
label: "SAP Concur Expense Approval Pipeline"
description: "When an expense report is submitted in SAP Concur, validates policy compliance, routes for manager approval in Workday, and notifies the submitter via Microsoft Outlook."
tags:
- expense-management
- sap-concur
- workday
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: expense-management
port: 8080
tools:
- name: process-expense-report
description: "Given a Concur expense report ID, validate against policy, route for approval, and notify the submitter."
inputParameters:
- name: report_id
in: body
type: string
description: "The SAP Concur expense report ID."
- name: submitter_employee_id
in: body
type: string
description: "The Workday employee ID of the submitter."
steps:
- name: get-report
type: call
call: "concur.get-expense-report"
with:
report_id: "{{report_id}}"
- name: get-submitter
type: call
call: "workday.get-worker"
with:
worker_id: "{{submitter_employee_id}}"
- name: get-manager
type: call
call: "workday.get-worker"
with:
worker_id: "{{get-submitter.manager_id}}"
- name: notify-submitter
type: call
call: "outlook.send-email"
with:
to: "{{get-submitter.work_email}}"
subject: "Expense report {{report_id}} submitted for approval"
body: "Your expense report totalling {{get-report.total_amount}} {{get-report.currency}} has been routed to {{get-manager.full_name}} for approval."
consumes:
- type: http
namespace: concur
baseUri: "https://us2.api.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: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: mail
path: "/users/{{to}}/sendMail"
inputParameters:
- name: to
in: path
operations:
- name: send-email
method: POST
Looks up a SAP payment order by reference number and returns status, amount, currency, and beneficiary details for the payments operations team.
naftiko: "0.5"
info:
label: "SAP Payment Order Status"
description: "Looks up a SAP payment order by reference number and returns status, amount, currency, and beneficiary details for the payments operations team."
tags:
- payments
- erp
- sap
- finance
capability:
exposes:
- type: mcp
namespace: payments
port: 8080
tools:
- name: get-payment-order
description: "Look up a SAP payment order by reference number. Returns status, amount, currency, and beneficiary."
inputParameters:
- name: payment_ref
in: body
type: string
description: "The SAP payment order reference number."
call: "sap.get-payment"
with:
payment_ref: "{{payment_ref}}"
outputParameters:
- name: status
type: string
mapping: "$.d.PaymentStatus"
- name: amount
type: string
mapping: "$.d.Amount"
- name: currency
type: string
mapping: "$.d.Currency"
- name: beneficiary
type: string
mapping: "$.d.BeneficiaryName"
consumes:
- type: http
namespace: sap
baseUri: "https://commbank-s4.sap.com/sap/opu/odata/sap/FI_PAYMENT_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
inputParameters:
- name: Accept
in: header
value: "application/json"
resources:
- name: payment-orders
path: "/A_PaymentOrder('{{payment_ref}}')"
inputParameters:
- name: payment_ref
in: path
operations:
- name: get-payment
method: GET
Retrieves the status of a ServiceNow change request, returning current state, approval status, planned start date, and risk assessment.
naftiko: "0.5"
info:
label: "ServiceNow Change Request Status"
description: "Retrieves the status of a ServiceNow change request, returning current state, approval status, planned start date, and risk assessment."
tags:
- change-management
- servicenow
capability:
exposes:
- type: mcp
namespace: change-management
port: 8080
tools:
- name: get-change-request
description: "Look up a ServiceNow change request. Returns state, approval status, planned start, and risk assessment."
inputParameters:
- name: change_number
in: body
type: string
description: "The ServiceNow change request number (e.g., CHG0012345)."
call: "servicenow.get-change"
with:
change_number: "{{change_number}}"
outputParameters:
- name: state
type: string
mapping: "$.result.state"
- name: approval
type: string
mapping: "$.result.approval"
- name: planned_start
type: string
mapping: "$.result.start_date"
- name: risk
type: string
mapping: "$.result.risk"
consumes:
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: changes
path: "/table/change_request"
operations:
- name: get-change
method: GET
Retrieves IT incident details from ServiceNow for technology operations.
naftiko: "0.5"
info:
label: "ServiceNow IT Incident Lookup"
description: "Retrieves IT incident details from ServiceNow for technology operations."
tags:
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: operations
port: 8080
tools:
- name: get-data
description: "Retrieves IT incident details from ServiceNow for technology operations."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "servicenow.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://api.internal.commbank.com.au/operations/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET
Assesses SME cash flow lending by pulling accounting data from Xero, running risk models, and generating loan offers.
naftiko: "0.5"
info:
label: "SME Cash Flow Lending Pipeline"
description: "Assesses SME cash flow lending by pulling accounting data from Xero, running risk models, and generating loan offers."
tags:
- business-banking
- sme-lending
- xero
- salesforce
capability:
exposes:
- type: mcp
namespace: sme-cash-flow-lending
port: 8080
tools:
- name: run-sme-cash-flow-lending-pipeline
description: "Assesses SME cash flow lending by pulling accounting data from Xero, running risk models, and generating loan offers."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "xero.get-accounts"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "ml.run-model"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "salesforce.get-account"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: xero
baseUri: "https://api.xero.com/api.xro/2.0"
authentication:
type: bearer
token: "$secrets.xero_token"
resources:
- name: accounts
path: "/Accounts"
operations:
- name: get-accounts
method: GET
- type: http
namespace: ml
baseUri: "https://ml.internal.commbank.com.au/v1"
authentication:
type: bearer
token: "$secrets.ml_token"
resources:
- name: models
path: "/predict"
operations:
- name: run-model
method: POST
- type: http
namespace: salesforce
baseUri: "https://commbank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account"
operations:
- name: get-account
method: GET
Executes a SQL query against a Snowflake warehouse and returns the query result set, execution time, and rows returned.
naftiko: "0.5"
info:
label: "Snowflake Query Execution"
description: "Executes a SQL query against a Snowflake warehouse and returns the query result set, execution time, and rows returned."
tags:
- data-warehouse
- snowflake
- analytics
capability:
exposes:
- type: mcp
namespace: data-warehouse
port: 8080
tools:
- name: run-snowflake-query
description: "Execute a SQL query on Snowflake. Returns result set, execution time, and row count."
inputParameters:
- name: warehouse
in: body
type: string
description: "The Snowflake warehouse name."
- name: database
in: body
type: string
description: "The Snowflake database name."
- name: sql
in: body
type: string
description: "The SQL query to execute."
call: "snowflake.execute-query"
with:
warehouse: "{{warehouse}}"
database: "{{database}}"
statement: "{{sql}}"
outputParameters:
- name: rows_returned
type: number
mapping: "$.resultSetMetaData.numRows"
- name: execution_time_ms
type: number
mapping: "$.stats.executionTime"
consumes:
- type: http
namespace: snowflake
baseUri: "https://commbank.au-east-1.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
Runs a security event search in Splunk for a given time range and source type, returning event count, top sources, and severity breakdown.
naftiko: "0.5"
info:
label: "Splunk Security Event Search"
description: "Runs a security event search in Splunk for a given time range and source type, returning event count, top sources, and severity breakdown."
tags:
- security
- siem
- splunk
capability:
exposes:
- type: mcp
namespace: security-ops
port: 8080
tools:
- name: search-security-events
description: "Search Splunk for security events. Returns event count, top sources, and severity breakdown."
inputParameters:
- name: search_query
in: body
type: string
description: "The SPL search query."
- name: time_range
in: body
type: string
description: "The time range (e.g., -24h, -7d)."
call: "splunk.run-search"
with:
search: "{{search_query}}"
earliest_time: "{{time_range}}"
outputParameters:
- name: event_count
type: number
mapping: "$.results.total"
- name: top_sources
type: string
mapping: "$.results.top_sources"
consumes:
- type: http
namespace: splunk
baseUri: "https://splunk.internal.commbank.com.au:8089/services"
authentication:
type: bearer
token: "$secrets.splunk_token"
resources:
- name: search
path: "/search/jobs/export"
operations:
- name: run-search
method: POST
Certifies staff system access by pulling entitlements from SailPoint, routing reviews, and revoking uncertified access.
naftiko: "0.5"
info:
label: "Staff Access Certification Pipeline"
description: "Certifies staff system access by pulling entitlements from SailPoint, routing reviews, and revoking uncertified access."
tags:
- security
- sailpoint
- access-certification
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: staff-access-certification
port: 8080
tools:
- name: run-staff-access-certification-pipeline
description: "Certifies staff system access by pulling entitlements from SailPoint, routing reviews, and revoking uncertified access."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "sailpoint.get-identity"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "compliance.run-check"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: sailpoint
baseUri: "https://commbank.api.identitynow.com/v3"
authentication:
type: bearer
token: "$secrets.sailpoint_token"
resources:
- name: identities
path: "/identities"
operations:
- name: get-identity
method: GET
- type: http
namespace: compliance
baseUri: "https://api.internal.commbank.com.au/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: checks
path: "/checks"
operations:
- name: run-check
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/messages"
operations:
- name: send-notification
method: POST
Processes super fund rollovers by verifying member details, initiating transfer, and confirming with the member.
naftiko: "0.5"
info:
label: "Superannuation Rollover Pipeline"
description: "Processes super fund rollovers by verifying member details, initiating transfer, and confirming with the member."
tags:
- superannuation
- colonial-first-state
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: superannuation-rollover
port: 8080
tools:
- name: run-superannuation-rollover-pipeline
description: "Processes super fund rollovers by verifying member details, initiating transfer, and confirming with the member."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "cfs.get-fund"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "corebanking.get-account"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: cfs
baseUri: "https://api.internal.commbank.com.au/cfs/v1"
authentication:
type: bearer
token: "$secrets.cfs_token"
resources:
- name: funds
path: "/funds"
operations:
- name: get-fund
method: GET
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
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-email
method: POST
Retrieves metadata for a Tableau workbook including view count, last refresh time, and data source connection status.
naftiko: "0.5"
info:
label: "Tableau Dashboard Lookup"
description: "Retrieves metadata for a Tableau workbook including view count, last refresh time, and data source connection status."
tags:
- analytics
- tableau
- reporting
capability:
exposes:
- type: mcp
namespace: bi-analytics
port: 8080
tools:
- name: get-workbook-info
description: "Look up Tableau workbook metadata. Returns view count, last refresh time, and data source status."
inputParameters:
- name: workbook_id
in: body
type: string
description: "The Tableau workbook ID."
call: "tableau.get-workbook"
with:
workbook_id: "{{workbook_id}}"
outputParameters:
- name: name
type: string
mapping: "$.workbook.name"
- name: view_count
type: number
mapping: "$.workbook.viewCount"
- name: last_refresh
type: string
mapping: "$.workbook.updatedAt"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.internal.commbank.com.au/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: workbooks
path: "/sites/{{site_id}}/workbooks/{{workbook_id}}"
inputParameters:
- name: workbook_id
in: path
operations:
- name: get-workbook
method: GET
Manages technology changes by creating ServiceNow change requests, running pre-deployment checks, and notifying teams.
naftiko: "0.5"
info:
label: "Technology Change Management Pipeline"
description: "Manages technology changes by creating ServiceNow change requests, running pre-deployment checks, and notifying teams."
tags:
- operations
- servicenow
- azure-devops
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: technology-change-management
port: 8080
tools:
- name: run-technology-change-management-pipeli
description: "Manages technology changes by creating ServiceNow change requests, running pre-deployment checks, and notifying teams."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "servicenow.create-incident"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "snowflake.execute-query"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now/table"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: snowflake
baseUri: "https://commbank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/messages"
operations:
- name: send-notification
method: POST
Runs a data quality validation query against Teradata and returns row count, null percentage, and duplicate count for a given table.
naftiko: "0.5"
info:
label: "Teradata Data Quality Check"
description: "Runs a data quality validation query against Teradata and returns row count, null percentage, and duplicate count for a given table."
tags:
- data-quality
- teradata
- data-governance
capability:
exposes:
- type: mcp
namespace: data-quality
port: 8080
tools:
- name: check-data-quality
description: "Run data quality checks on a Teradata table. Returns row count, null percentage, and duplicate count."
inputParameters:
- name: database_name
in: body
type: string
description: "The Teradata database name."
- name: table_name
in: body
type: string
description: "The table name to validate."
- name: key_column
in: body
type: string
description: "The primary key column for duplicate checking."
call: "teradata.run-quality-check"
with:
database: "{{database_name}}"
table: "{{table_name}}"
key_column: "{{key_column}}"
outputParameters:
- name: row_count
type: number
mapping: "$.quality.rowCount"
- name: null_pct
type: number
mapping: "$.quality.nullPercentage"
- name: duplicate_count
type: number
mapping: "$.quality.duplicateCount"
consumes:
- type: http
namespace: teradata
baseUri: "https://teradata.internal.commbank.com.au/api/v1"
authentication:
type: bearer
token: "$secrets.teradata_token"
resources:
- name: quality
path: "/quality/check"
operations:
- name: run-quality-check
method: POST
Runs a Terraform plan against the current state, identifies drift, creates a ServiceNow change request for remediation, and alerts the platform team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Terraform Infrastructure Drift Detection Pipeline"
description: "Runs a Terraform plan against the current state, identifies drift, creates a ServiceNow change request for remediation, and alerts the platform team via Microsoft Teams."
tags:
- infrastructure
- terraform
- servicenow
- microsoft-teams
- platform
capability:
exposes:
- type: mcp
namespace: infra-ops
port: 8080
tools:
- name: detect-infra-drift
description: "Given a Terraform workspace, run a plan to detect drift, create a change request, and notify the platform team."
inputParameters:
- name: workspace_id
in: body
type: string
description: "The Terraform Cloud workspace ID."
- name: organization
in: body
type: string
description: "The Terraform Cloud organization name."
steps:
- name: trigger-plan
type: call
call: "terraform.create-run"
with:
workspace_id: "{{workspace_id}}"
is_destroy: false
message: "Automated drift detection"
- name: create-change
type: call
call: "servicenow.create-change"
with:
short_description: "Infrastructure drift detected: workspace {{workspace_id}}"
category: "infrastructure"
description: "Terraform plan run {{trigger-plan.id}} detected changes. Resources to add: {{trigger-plan.resource_additions}}, change: {{trigger-plan.resource_changes}}, destroy: {{trigger-plan.resource_destructions}}."
- name: notify-platform
type: call
call: "msteams.send-message"
with:
channel_id: "platform-engineering"
text: "Infrastructure drift detected in workspace {{workspace_id}}. Plan: +{{trigger-plan.resource_additions}} ~{{trigger-plan.resource_changes}} -{{trigger-plan.resource_destructions}}. CHG: {{create-change.number}}."
consumes:
- type: http
namespace: terraform
baseUri: "https://app.terraform.io/api/v2"
authentication:
type: bearer
token: "$secrets.terraform_token"
resources:
- name: runs
path: "/runs"
operations:
- name: create-run
method: POST
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: changes
path: "/table/change_request"
operations:
- name: create-change
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Submits a bond trade request via Tradeweb, records the execution in Bloomberg AIM, and notifies the trading desk via Microsoft Teams with fill details.
naftiko: "0.5"
info:
label: "Tradeweb Bond Trade Execution Pipeline"
description: "Submits a bond trade request via Tradeweb, records the execution in Bloomberg AIM, and notifies the trading desk via Microsoft Teams with fill details."
tags:
- trading
- fixed-income
- tradeweb
- bloomberg-aim
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: fixed-income-trading
port: 8080
tools:
- name: execute-bond-trade
description: "Given bond details and trade parameters, submit an order via Tradeweb, record in Bloomberg AIM, and notify the desk."
inputParameters:
- name: isin
in: body
type: string
description: "The bond ISIN code."
- name: side
in: body
type: string
description: "The trade side (buy or sell)."
- name: notional
in: body
type: number
description: "The notional amount of the trade."
- name: counterparty
in: body
type: string
description: "The counterparty dealer ID."
steps:
- name: submit-rfq
type: call
call: "tradeweb.submit-rfq"
with:
isin: "{{isin}}"
side: "{{side}}"
notional: "{{notional}}"
counterparty: "{{counterparty}}"
- name: record-trade
type: call
call: "bloomberg-aim.record-execution"
with:
trade_id: "{{submit-rfq.trade_id}}"
isin: "{{isin}}"
price: "{{submit-rfq.fill_price}}"
notional: "{{notional}}"
- name: notify-desk
type: call
call: "msteams.send-message"
with:
channel_id: "fi-trading-desk"
text: "Bond trade executed: {{isin}} {{side}} {{notional}} @ {{submit-rfq.fill_price}}. Tradeweb ID: {{submit-rfq.trade_id}}. AIM ref: {{record-trade.aim_reference}}."
consumes:
- type: http
namespace: tradeweb
baseUri: "https://api.tradeweb.com/v2"
authentication:
type: bearer
token: "$secrets.tradeweb_token"
resources:
- name: rfq
path: "/rfq"
operations:
- name: submit-rfq
method: POST
- type: http
namespace: bloomberg-aim
baseUri: "https://bsapi.bloomberg.com/aim/api/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_aim_token"
resources:
- name: executions
path: "/executions"
operations:
- name: record-execution
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves fraud alert details from Splunk for a given transaction ID, returning risk score, alert category, and flagged patterns for the fraud operations team.
naftiko: "0.5"
info:
label: "Transaction Fraud Alert Lookup"
description: "Retrieves fraud alert details from Splunk for a given transaction ID, returning risk score, alert category, and flagged patterns for the fraud operations team."
tags:
- fraud
- security
- splunk
- transaction-monitoring
capability:
exposes:
- type: mcp
namespace: fraud-ops
port: 8080
tools:
- name: get-fraud-alert
description: "Look up a fraud alert by transaction ID in Splunk. Returns risk score, alert category, and flagged patterns."
inputParameters:
- name: transaction_id
in: body
type: string
description: "The unique transaction identifier."
call: "splunk.search-alert"
with:
transaction_id: "{{transaction_id}}"
outputParameters:
- name: risk_score
type: number
mapping: "$.results[0].risk_score"
- name: alert_category
type: string
mapping: "$.results[0].category"
- name: flagged_patterns
type: string
mapping: "$.results[0].patterns"
consumes:
- type: http
namespace: splunk
baseUri: "https://splunk.internal.commbank.com.au:8089/services"
authentication:
type: bearer
token: "$secrets.splunk_token"
resources:
- name: search
path: "/search/jobs/export"
operations:
- name: search-alert
method: POST
Generates daily treasury cash positions by aggregating across all accounts, computing net position, and distributing.
naftiko: "0.5"
info:
label: "Treasury Daily Cash Position Pipeline"
description: "Generates daily treasury cash positions by aggregating across all accounts, computing net position, and distributing."
tags:
- treasury
- core-banking
- bloomberg
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: treasury-daily-cash-position
port: 8080
tools:
- name: run-treasury-daily-cash-position-pipeli
description: "Generates daily treasury cash positions by aggregating across all accounts, computing net position, and distributing."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "corebanking.get-account"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "bloomberg.get-data"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "msteams.send-notification"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: corebanking
baseUri: "https://api.internal.commbank.com.au/core/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: get-account
method: GET
- type: http
namespace: bloomberg
baseUri: "https://bsapi.bloomberg.com/eap/catalogs/bbg"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: data
path: "/datasets"
operations:
- name: get-data
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/messages"
operations:
- name: send-notification
method: POST
Runs a vulnerability scan report from SolarWinds, correlates findings with the CMDB in ServiceNow, and creates remediation tasks assigned to the owning team.
naftiko: "0.5"
info:
label: "Vulnerability Scan Report Pipeline"
description: "Runs a vulnerability scan report from SolarWinds, correlates findings with the CMDB in ServiceNow, and creates remediation tasks assigned to the owning team."
tags:
- security
- vulnerability-management
- solarwinds
- servicenow
capability:
exposes:
- type: mcp
namespace: vuln-management
port: 8080
tools:
- name: process-vuln-report
description: "Given a scan ID, retrieve SolarWinds vulnerability results, match to CMDB, and create ServiceNow remediation tasks."
inputParameters:
- name: scan_id
in: body
type: string
description: "The SolarWinds vulnerability scan ID."
steps:
- name: get-scan-results
type: call
call: "solarwinds.get-scan"
with:
scan_id: "{{scan_id}}"
- name: get-cmdb-ci
type: call
call: "servicenow.get-ci"
with:
ip_address: "{{get-scan-results.host_ip}}"
- name: create-remediation
type: call
call: "servicenow.create-task"
with:
short_description: "Vulnerability remediation: {{get-scan-results.top_vuln}} on {{get-cmdb-ci.name}}"
category: "security_remediation"
assigned_group: "{{get-cmdb-ci.support_group}}"
description: "Critical vulns: {{get-scan-results.critical_count}}. High: {{get-scan-results.high_count}}. Host: {{get-scan-results.host_ip}}. CI: {{get-cmdb-ci.name}}."
consumes:
- type: http
namespace: solarwinds
baseUri: "https://solarwinds.internal.commbank.com.au/api/v2"
authentication:
type: bearer
token: "$secrets.solarwinds_token"
resources:
- name: scans
path: "/scans/{{scan_id}}/results"
inputParameters:
- name: scan_id
in: path
operations:
- name: get-scan
method: GET
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cmdb
path: "/table/cmdb_ci"
operations:
- name: get-ci
method: GET
- name: tasks
path: "/table/sc_task"
operations:
- name: create-task
method: POST
When a wealth portfolio drifts beyond threshold, pulls current allocations from Bloomberg AIM, calculates rebalance trades, and submits orders to the trading system while notifying the portfolio manager via Microsoft Teams.
naftiko: "0.5"
info:
label: "Wealth Management Portfolio Rebalance Pipeline"
description: "When a wealth portfolio drifts beyond threshold, pulls current allocations from Bloomberg AIM, calculates rebalance trades, and submits orders to the trading system while notifying the portfolio manager via Microsoft Teams."
tags:
- wealth-management
- portfolio
- bloomberg-aim
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: wealth-management
port: 8080
tools:
- name: rebalance-portfolio
description: "Given a portfolio ID and drift threshold, calculate and submit rebalancing trades and notify the portfolio manager."
inputParameters:
- name: portfolio_id
in: body
type: string
description: "The Bloomberg AIM portfolio identifier."
- name: drift_threshold
in: body
type: number
description: "The maximum allowable drift percentage before rebalancing."
steps:
- name: get-allocations
type: call
call: "bloomberg-aim.get-portfolio"
with:
portfolio_id: "{{portfolio_id}}"
- name: calculate-trades
type: call
call: "rebalance-engine.calculate"
with:
current_allocations: "{{get-allocations.positions}}"
target_allocations: "{{get-allocations.model}}"
threshold: "{{drift_threshold}}"
- name: submit-orders
type: call
call: "bloomberg-aim.submit-orders"
with:
portfolio_id: "{{portfolio_id}}"
orders: "{{calculate-trades.trade_list}}"
- name: notify-pm
type: call
call: "msteams.send-message"
with:
channel_id: "wealth-trading"
text: "Portfolio {{portfolio_id}} rebalanced. {{calculate-trades.trade_count}} trades submitted. Max drift was {{calculate-trades.max_drift}}%."
consumes:
- type: http
namespace: bloomberg-aim
baseUri: "https://bsapi.bloomberg.com/aim/api/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_aim_token"
resources:
- name: portfolios
path: "/portfolios/{{portfolio_id}}"
inputParameters:
- name: portfolio_id
in: path
operations:
- name: get-portfolio
method: GET
- name: orders
path: "/orders"
operations:
- name: submit-orders
method: POST
- type: http
namespace: rebalance-engine
baseUri: "https://api.internal.commbank.com.au/wealth/v1"
authentication:
type: bearer
token: "$secrets.wealth_token"
resources:
- name: rebalance
path: "/rebalance/calculate"
operations:
- name: calculate
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Conducts wealth portfolio reviews by pulling positions from Colonial First State, computing performance, and emailing the advisor.
naftiko: "0.5"
info:
label: "Wealth Portfolio Review Pipeline"
description: "Conducts wealth portfolio reviews by pulling positions from Colonial First State, computing performance, and emailing the advisor."
tags:
- wealth-management
- colonial-first-state
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: wealth-portfolio-review
port: 8080
tools:
- name: run-wealth-portfolio-review-pipeline
description: "Conducts wealth portfolio reviews by pulling positions from Colonial First State, computing performance, and emailing the advisor."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
- name: scope
in: body
type: string
description: "The processing scope."
steps:
- name: fetch-data
type: call
call: "cfs.get-fund"
with:
input_id: "{{input_id}}"
- name: process-data
type: call
call: "snowflake.execute-query"
with:
data: "{{fetch-data.result}}"
- name: deliver-results
type: call
call: "outlook.send-email"
with:
data: "{{process-data.result}}"
consumes:
- type: http
namespace: cfs
baseUri: "https://api.internal.commbank.com.au/cfs/v1"
authentication:
type: bearer
token: "$secrets.cfs_token"
resources:
- name: funds
path: "/funds"
operations:
- name: get-fund
method: GET
- type: http
namespace: snowflake
baseUri: "https://commbank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Retrieves an employee's current compensation from Workday, compares against Mercer market data, and creates a compensation review task in ServiceNow for HR approval.
naftiko: "0.5"
info:
label: "Workday Compensation Review Pipeline"
description: "Retrieves an employee's current compensation from Workday, compares against Mercer market data, and creates a compensation review task in ServiceNow for HR approval."
tags:
- hr
- compensation
- workday
- servicenow
capability:
exposes:
- type: mcp
namespace: hr-compensation
port: 8080
tools:
- name: initiate-comp-review
description: "Given an employee ID and job profile, pull current compensation from Workday, compare to market data, and create a review task."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday employee ID."
- name: job_profile
in: body
type: string
description: "The Workday job profile code."
steps:
- name: get-compensation
type: call
call: "workday.get-compensation"
with:
worker_id: "{{employee_id}}"
- name: get-market-data
type: call
call: "mercer.get-benchmark"
with:
job_profile: "{{job_profile}}"
country: "AU"
- name: create-review
type: call
call: "servicenow.create-task"
with:
short_description: "Compensation review: {{employee_id}}"
category: "hr_compensation"
description: "Current: {{get-compensation.total_base_pay}} AUD. Market P50: {{get-market-data.p50}}. Market P75: {{get-market-data.p75}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: compensation
path: "/workers/{{worker_id}}/compensation"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-compensation
method: GET
- type: http
namespace: mercer
baseUri: "https://api.mercer.com/compensation/v1"
authentication:
type: bearer
token: "$secrets.mercer_token"
resources:
- name: benchmarks
path: "/benchmarks"
operations:
- name: get-benchmark
method: GET
- type: http
namespace: servicenow
baseUri: "https://commbank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/sc_task"
operations:
- name: create-task
method: POST
Retrieves portfolio company details from x15 Ventures investment tracking.
naftiko: "0.5"
info:
label: "x15 Ventures Portfolio Lookup"
description: "Retrieves portfolio company details from x15 Ventures investment tracking."
tags:
- innovation
- x15-ventures
capability:
exposes:
- type: mcp
namespace: innovation
port: 8080
tools:
- name: get-data
description: "Retrieves portfolio company details from x15 Ventures investment tracking."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary identifier."
call: "x15_ventures.get-data"
with:
input_id: "{{input_id}}"
consumes:
- type: http
namespace: x15_ventures
baseUri: "https://api.internal.commbank.com.au/innovation/v1"
authentication:
type: bearer
token: "$secrets.x15_ventures_token"
resources:
- name: data
path: "/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: get-data
method: GET