Northwestern Mutual Capabilities
Naftiko 0.5 capability definitions for Northwestern Mutual - 100 capabilities showing integration workflows and service orchestrations.
Calculates advisor commissions by pulling policy sales from Salesforce, applying commission rules from SAP, and updating the Workday compensation record.
naftiko: "0.5"
info:
label: "Advisor Commission Calculator"
description: "Calculates advisor commissions by pulling policy sales from Salesforce, applying commission rules from SAP, and updating the Workday compensation record."
tags:
- commissions
- salesforce
- sap
- workday
- finance
capability:
exposes:
- type: mcp
namespace: advisor-commissions
port: 8080
tools:
- name: calculate-commissions
description: "Given an advisor ID and period, pull sales, apply rules, and update compensation."
inputParameters:
- name: advisor_id
in: body
type: string
description: "The advisor's employee identifier."
- name: commission_period
in: body
type: string
description: "The commission period (e.g., 2025-Q1)."
steps:
- name: fetch-sales
type: call
call: "salesforce.get-advisor-sales"
with:
advisor_id: "{{advisor_id}}"
period: "{{commission_period}}"
- name: apply-rules
type: call
call: "sap.calculate-commission"
with:
sales_data: "{{fetch-sales.records}}"
advisor_tier: "{{fetch-sales.advisor_tier}}"
- name: update-compensation
type: call
call: "workday.update-compensation"
with:
worker_id: "{{advisor_id}}"
commission_amount: "{{apply-rules.total_commission}}"
period: "{{commission_period}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: advisor-sales
path: "/query/?q=SELECT+Id,Amount,Product__c+FROM+Policy_Sale__c+WHERE+Advisor_Id__c='{{advisor_id}}'+AND+Period__c='{{period}}'"
inputParameters:
- name: advisor_id
in: query
- name: period
in: query
operations:
- name: get-advisor-sales
method: GET
- type: http
namespace: sap
baseUri: "https://northwesternmutual-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: commissions
path: "/COMMISSION_CALC_SRV/Calculate"
operations:
- name: calculate-commission
method: POST
- 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: update-compensation
method: PATCH
Verifies advisor licensing by checking Workday employment, querying Salesforce licensing records, and flagging non-compliant advisors in ServiceNow.
naftiko: "0.5"
info:
label: "Advisor Licensing Verification Pipeline"
description: "Verifies advisor licensing by checking Workday employment, querying Salesforce licensing records, and flagging non-compliant advisors in ServiceNow."
tags:
- compliance
- advisor-licensing
- workday
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: advisor-compliance
port: 8080
tools:
- name: verify-advisor-licensing
description: "Given an advisor ID and state, verify licensing across systems."
inputParameters:
- name: advisor_id
in: body
type: string
description: "The advisor's employee identifier."
- name: state_code
in: body
type: string
description: "The state code to verify."
steps:
- name: check-employment
type: call
call: "workday.get-worker"
with:
worker_id: "{{advisor_id}}"
- name: check-license
type: call
call: "salesforce.get-license"
with:
advisor_id: "{{advisor_id}}"
state: "{{state_code}}"
- name: flag-noncompliant
type: call
call: "servicenow.create-case"
with:
short_description: "License Verification: Advisor {{advisor_id}} - {{state_code}}"
category: "advisor_compliance"
description: "Employment: {{check-employment.status}}. License: {{check-license.license_status}}. Expiry: {{check-license.expiry_date}}."
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: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: licenses
path: "/query/?q=SELECT+Id,Status__c,Expiry__c+FROM+Advisor_License__c+WHERE+Advisor_Id__c='{{advisor_id}}'+AND+State__c='{{state}}'"
inputParameters:
- name: advisor_id
in: query
- name: state
in: query
operations:
- name: get-license
method: GET
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cases
path: "/table/sn_customerservice_case"
operations:
- name: create-case
method: POST
Invokes an AWS Lambda function and returns the execution result.
naftiko: "0.5"
info:
label: "AWS Lambda Function Invocation"
description: "Invokes an AWS Lambda function and returns the execution result."
tags:
- cloud
- aws-lambda
- serverless
capability:
exposes:
- type: mcp
namespace: serverless
port: 8080
tools:
- name: invoke-lambda
description: "Invoke an AWS Lambda function by name."
inputParameters:
- name: function_name
in: body
type: string
description: "The Lambda function name."
- name: payload
in: body
type: string
description: "JSON payload."
call: "lambda.invoke-function"
with:
function_name: "{{function_name}}"
payload: "{{payload}}"
outputParameters:
- name: status_code
type: string
mapping: "$.StatusCode"
- name: result
type: string
mapping: "$.Payload"
consumes:
- type: http
namespace: lambda
baseUri: "https://lambda.us-east-1.amazonaws.com/2015-03-31"
authentication:
type: aws
accessKeyId: "$secrets.aws_access_key"
secretAccessKey: "$secrets.aws_secret_key"
resources:
- name: functions
path: "/functions/{{function_name}}/invocations"
inputParameters:
- name: function_name
in: path
operations:
- name: invoke-function
method: POST
Retrieves user profile information from Azure Active Directory.
naftiko: "0.5"
info:
label: "Azure Active Directory User Lookup"
description: "Retrieves user profile information from Azure Active Directory."
tags:
- security
- azure-active-directory
- identity
capability:
exposes:
- type: mcp
namespace: identity
port: 8080
tools:
- name: get-ad-user
description: "Look up an Azure AD user by UPN or object ID."
inputParameters:
- name: user_id
in: body
type: string
description: "The user principal name or object ID."
call: "azuread.get-user"
with:
user_id: "{{user_id}}"
outputParameters:
- name: display_name
type: string
mapping: "$.displayName"
- name: job_title
type: string
mapping: "$.jobTitle"
- name: department
type: string
mapping: "$.department"
consumes:
- type: http
namespace: azuread
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: users
path: "/users/{{user_id}}"
inputParameters:
- name: user_id
in: path
operations:
- name: get-user
method: GET
Retrieves real-time market data from Bloomberg for investment instruments, returning price, yield, and change percentage.
naftiko: "0.5"
info:
label: "Bloomberg Market Data Lookup"
description: "Retrieves real-time market data from Bloomberg for investment instruments, returning price, yield, and change percentage."
tags:
- wealth-management
- bloomberg
- market-data
capability:
exposes:
- type: mcp
namespace: market-data
port: 8080
tools:
- name: get-market-data
description: "Look up Bloomberg market data by ticker symbol."
inputParameters:
- name: ticker
in: body
type: string
description: "The Bloomberg ticker symbol."
call: "bloomberg.get-quote"
with:
ticker: "{{ticker}}"
outputParameters:
- name: price
type: string
mapping: "$.data.price"
- name: yield
type: string
mapping: "$.data.yield"
- name: change_pct
type: string
mapping: "$.data.changePercent"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/eap/catalogs/bbg/fields"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: quotes
path: "/{{ticker}}"
inputParameters:
- name: ticker
in: path
operations:
- name: get-quote
method: GET
Retrieves a document from Box by file ID.
naftiko: "0.5"
info:
label: "Box Document Retrieval"
description: "Retrieves a document from Box by file ID."
tags:
- document-management
- box
capability:
exposes:
- type: mcp
namespace: documents
port: 8080
tools:
- name: get-box-document
description: "Retrieve a Box document by file ID."
inputParameters:
- name: file_id
in: body
type: string
description: "The Box file identifier."
call: "box.get-file"
with:
file_id: "{{file_id}}"
outputParameters:
- name: file_name
type: string
mapping: "$.name"
- name: size
type: string
mapping: "$.size"
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
When a new claim is filed, creates the claim record in Salesforce, opens a ServiceNow case, uploads supporting documents to SharePoint, and notifies the claims adjuster via Microsoft Teams.
naftiko: "0.5"
info:
label: "Claims Intake Orchestrator"
description: "When a new claim is filed, creates the claim record in Salesforce, opens a ServiceNow case, uploads supporting documents to SharePoint, and notifies the claims adjuster via Microsoft Teams."
tags:
- claims
- salesforce
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: process-claim-intake
description: "Given a policy number, claimant name, and claim type, create the claim record, open a case, store documents, and notify the adjuster."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: claimant_name
in: body
type: string
description: "The claimant's name."
- name: claim_type
in: body
type: string
description: "Type of claim (death benefit, disability, long-term care)."
- name: claim_description
in: body
type: string
description: "Description of the claim."
steps:
- name: create-claim
type: call
call: "salesforce.create-claim"
with:
policy_number: "{{policy_number}}"
claimant: "{{claimant_name}}"
type: "{{claim_type}}"
description: "{{claim_description}}"
- name: open-case
type: call
call: "servicenow.create-case"
with:
short_description: "Claim Processing: {{claim_type}} - Policy {{policy_number}}"
category: "claims_processing"
description: "Claim {{create-claim.claim_id}} filed by {{claimant_name}}. {{claim_description}}"
- name: provision-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "claims_site"
folder_path: "Claims/{{create-claim.claim_id}}"
- name: notify-adjuster
type: call
call: "msteams.send-message"
with:
channel_id: "claims-intake"
text: "New claim: {{claim_type}} for policy {{policy_number}}. Claim ID: {{create-claim.claim_id}}. Claimant: {{claimant_name}}. ServiceNow: {{open-case.number}}. Documents: {{provision-folder.url}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: claims
path: "/sobjects/Claim__c"
operations:
- name: create-claim
method: POST
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cases
path: "/table/sn_customerservice_case"
operations:
- name: create-case
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
operations:
- name: create-folder
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Queries Cloudflare analytics for Northwestern Mutual web properties.
naftiko: "0.5"
info:
label: "Cloudflare CDN Performance Check"
description: "Queries Cloudflare analytics for Northwestern Mutual web properties."
tags:
- infrastructure
- cloudflare
- cdn
capability:
exposes:
- type: mcp
namespace: cdn
port: 8080
tools:
- name: get-cdn-performance
description: "Retrieve Cloudflare CDN performance metrics for a given zone."
inputParameters:
- name: zone_id
in: body
type: string
description: "The Cloudflare zone identifier."
call: "cloudflare.get-zone-analytics"
with:
zone_id: "{{zone_id}}"
outputParameters:
- name: bandwidth
type: string
mapping: "$.result.totals.bandwidth.all"
- name: cache_hit_ratio
type: string
mapping: "$.result.totals.bandwidth.cached"
consumes:
- type: http
namespace: cloudflare
baseUri: "https://api.cloudflare.com/client/v4"
authentication:
type: bearer
token: "$secrets.cloudflare_token"
resources:
- name: zone-analytics
path: "/zones/{{zone_id}}/analytics/dashboard"
inputParameters:
- name: zone_id
in: path
operations:
- name: get-zone-analytics
method: GET
Generates a compliance audit trail by pulling policy transactions from Salesforce, investment activities from Bloomberg AIM, and employee actions from Workday, then storing the report in SharePoint.
naftiko: "0.5"
info:
label: "Compliance Audit Trail Generator"
description: "Generates a compliance audit trail by pulling policy transactions from Salesforce, investment activities from Bloomberg AIM, and employee actions from Workday, then storing the report in SharePoint."
tags:
- compliance
- audit
- salesforce
- bloomberg-aim
- workday
- sharepoint
capability:
exposes:
- type: mcp
namespace: compliance-audit
port: 8080
tools:
- name: generate-audit-trail
description: "Given a date range, pull data from all systems and generate a consolidated audit report."
inputParameters:
- name: start_date
in: body
type: string
description: "Audit period start date."
- name: end_date
in: body
type: string
description: "Audit period end date."
- name: audit_scope
in: body
type: string
description: "Scope of audit."
steps:
- name: fetch-policy-data
type: call
call: "salesforce.query-transactions"
with:
start_date: "{{start_date}}"
end_date: "{{end_date}}"
- name: fetch-investment-data
type: call
call: "bloomberg-aim.get-activity-log"
with:
start_date: "{{start_date}}"
end_date: "{{end_date}}"
- name: fetch-employee-data
type: call
call: "workday.get-audit-log"
with:
start_date: "{{start_date}}"
end_date: "{{end_date}}"
- name: store-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "compliance_site"
folder_path: "AuditTrails/{{start_date}}_{{end_date}}"
file_name: "audit_trail.json"
content: "Policies: {{fetch-policy-data.records}} | Investments: {{fetch-investment-data.activities}} | Employee: {{fetch-employee-data.events}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: transactions
path: "/query/?q=SELECT+Id,Type,Amount,CreatedDate+FROM+Transaction__c+WHERE+CreatedDate>={{start_date}}+AND+CreatedDate<={{end_date}}"
inputParameters:
- name: start_date
in: query
- name: end_date
in: query
operations:
- name: query-transactions
method: GET
- type: http
namespace: bloomberg-aim
baseUri: "https://aim.bloomberg.com/api/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_aim_token"
resources:
- name: activity-log
path: "/activity"
operations:
- name: get-activity-log
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: audit-log
path: "/auditLogs"
operations:
- name: get-audit-log
method: GET
- 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}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
Generates a comprehensive financial plan by pulling client data from Salesforce, running Monte Carlo projections in Azure ML, fetching portfolio performance from Bloomberg AIM, and delivering the plan via SharePoint and Microsoft Outlook.
naftiko: "0.5"
info:
label: "Comprehensive Financial Plan Generator"
description: "Generates a comprehensive financial plan by pulling client data from Salesforce, running Monte Carlo projections in Azure ML, fetching portfolio performance from Bloomberg AIM, and delivering the plan via SharePoint and Microsoft Outlook."
tags:
- financial-planning
- wealth-management
- salesforce
- azure-machine-learning
- bloomberg-aim
- sharepoint
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: financial-plan-gen
port: 8080
tools:
- name: generate-financial-plan
description: "Given a client ID and planning horizon, pull data, run projections, and deliver the plan."
inputParameters:
- name: client_id
in: body
type: string
description: "The client identifier."
- name: planning_horizon
in: body
type: string
description: "Planning horizon in years."
- name: advisor_email
in: body
type: string
description: "The financial advisor's email."
steps:
- name: get-client-data
type: call
call: "salesforce.get-client-profile"
with:
client_id: "{{client_id}}"
- name: get-portfolio
type: call
call: "bloomberg-aim.get-portfolio"
with:
account_id: "{{get-client-data.account_id}}"
- name: run-projections
type: call
call: "azureml.project-financial-plan"
with:
client_data: "{{get-client-data}}"
portfolio: "{{get-portfolio}}"
horizon: "{{planning_horizon}}"
- name: store-plan
type: call
call: "sharepoint.upload-file"
with:
site_id: "financial_plans_site"
folder_path: "Plans/{{client_id}}"
file_name: "financial_plan_{{planning_horizon}}yr.pdf"
content: "{{run-projections.plan_content}}"
- name: email-advisor
type: call
call: "outlook.send-mail"
with:
recipient: "{{advisor_email}}"
subject: "Financial Plan Ready: {{get-client-data.client_name}}"
body: "The {{planning_horizon}}-year plan for {{get-client-data.client_name}} is ready. Portfolio: ${{get-portfolio.market_value}}. Projected growth: {{run-projections.projected_growth}}. Download: {{store-plan.url}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: clients
path: "/sobjects/Client__c/{{client_id}}"
inputParameters:
- name: client_id
in: path
operations:
- name: get-client-profile
method: GET
- type: http
namespace: bloomberg-aim
baseUri: "https://aim.bloomberg.com/api/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_aim_token"
resources:
- name: portfolios
path: "/portfolios/{{account_id}}"
inputParameters:
- name: account_id
in: path
operations:
- name: get-portfolio
method: GET
- type: http
namespace: azureml
baseUri: "https://northwesternmutual-ml.eastus.inference.ml.azure.com"
authentication:
type: bearer
token: "$secrets.azureml_token"
resources:
- name: projections
path: "/score"
operations:
- name: project-financial-plan
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}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-mail
method: POST
Searches the Northwestern Mutual Confluence knowledge base by keyword.
naftiko: "0.5"
info:
label: "Confluence Knowledge Base Search"
description: "Searches the Northwestern Mutual Confluence knowledge base by keyword."
tags:
- knowledge-management
- confluence
capability:
exposes:
- type: mcp
namespace: knowledge
port: 8080
tools:
- name: search-knowledge-base
description: "Search Confluence knowledge base by keyword."
inputParameters:
- name: query
in: body
type: string
description: "The search query."
call: "confluence.search"
with:
query: "{{query}}"
outputParameters:
- name: results
type: array
mapping: "$.results"
- name: total_count
type: string
mapping: "$.totalSize"
consumes:
- type: http
namespace: confluence
baseUri: "https://northwesternmutual.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: search
path: "/search?cql=text~'{{query}}'"
inputParameters:
- name: query
in: query
operations:
- name: search
method: GET
Checks the status of a Databricks ML pipeline run.
naftiko: "0.5"
info:
label: "Databricks ML Pipeline Status"
description: "Checks the status of a Databricks ML pipeline run."
tags:
- data-science
- databricks
- machine-learning
capability:
exposes:
- type: mcp
namespace: ml-ops
port: 8080
tools:
- name: get-pipeline-status
description: "Check Databricks pipeline run status by run ID."
inputParameters:
- name: run_id
in: body
type: string
description: "The Databricks run identifier."
call: "databricks.get-run"
with:
run_id: "{{run_id}}"
outputParameters:
- name: state
type: string
mapping: "$.state.life_cycle_state"
- name: result_state
type: string
mapping: "$.state.result_state"
consumes:
- type: http
namespace: databricks
baseUri: "https://northwesternmutual.cloud.databricks.com/api/2.1"
authentication:
type: bearer
token: "$secrets.databricks_token"
resources:
- name: runs
path: "/jobs/runs/get?run_id={{run_id}}"
inputParameters:
- name: run_id
in: query
operations:
- name: get-run
method: GET
Queries Datadog for current infrastructure health, returning host count, alert counts, and critical monitors.
naftiko: "0.5"
info:
label: "Datadog Infrastructure Health Check"
description: "Queries Datadog for current infrastructure health, returning host count, alert counts, and critical monitors."
tags:
- infrastructure
- monitoring
- datadog
capability:
exposes:
- type: mcp
namespace: infra-monitoring
port: 8080
tools:
- name: get-infra-health
description: "Retrieve Datadog infrastructure health summary."
inputParameters:
- name: environment
in: body
type: string
description: "The environment (production, staging)."
call: "datadog.get-monitors"
with:
environment: "{{environment}}"
outputParameters:
- name: total_hosts
type: string
mapping: "$.total_hosts"
- name: active_alerts
type: string
mapping: "$.alert_count"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: monitors
path: "/monitor"
operations:
- name: get-monitors
method: GET
Assesses disability insurance claims by pulling medical data from the claims system, running the disability assessment model in Azure ML, creating the assessment report in SharePoint, and routing for adjudicator review in ServiceNow.
naftiko: "0.5"
info:
label: "Disability Insurance Claim Assessment Pipeline"
description: "Assesses disability insurance claims by pulling medical data from the claims system, running the disability assessment model in Azure ML, creating the assessment report in SharePoint, and routing for adjudicator review in ServiceNow."
tags:
- insurance
- disability
- claims
- azure-machine-learning
- sharepoint
- servicenow
capability:
exposes:
- type: mcp
namespace: disability-claims
port: 8080
tools:
- name: assess-disability-claim
description: "Given a claim ID and policy number, run the disability assessment model and route for review."
inputParameters:
- name: claim_id
in: body
type: string
description: "The claim identifier."
- name: policy_number
in: body
type: string
description: "The associated policy number."
steps:
- name: get-claim-data
type: call
call: "salesforce.get-claim"
with:
claim_id: "{{claim_id}}"
- name: run-assessment
type: call
call: "azureml.assess-disability"
with:
claim_data: "{{get-claim-data}}"
policy_number: "{{policy_number}}"
- name: store-assessment
type: call
call: "sharepoint.upload-file"
with:
site_id: "claims_site"
folder_path: "DisabilityAssessments/{{claim_id}}"
file_name: "assessment_report.pdf"
content: "{{run-assessment.report}}"
- name: route-review
type: call
call: "servicenow.create-case"
with:
short_description: "Disability Claim Review: {{claim_id}}"
category: "disability_claims"
description: "Assessment score: {{run-assessment.score}}. Recommendation: {{run-assessment.recommendation}}. Report: {{store-assessment.url}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: claims
path: "/sobjects/Claim__c/{{claim_id}}"
inputParameters:
- name: claim_id
in: path
operations:
- name: get-claim
method: GET
- type: http
namespace: azureml
baseUri: "https://northwesternmutual-ml.eastus.inference.ml.azure.com"
authentication:
type: bearer
token: "$secrets.azureml_token"
resources:
- name: assessments
path: "/score"
operations:
- name: assess-disability
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}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cases
path: "/table/sn_customerservice_case"
operations:
- name: create-case
method: POST
Queries Dynatrace for application health metrics.
naftiko: "0.5"
info:
label: "Dynatrace Application Health Check"
description: "Queries Dynatrace for application health metrics."
tags:
- monitoring
- dynatrace
- application-health
capability:
exposes:
- type: mcp
namespace: app-health
port: 8080
tools:
- name: get-dynatrace-health
description: "Retrieve Dynatrace application health metrics by entity ID."
inputParameters:
- name: entity_id
in: body
type: string
description: "The Dynatrace application entity ID."
call: "dynatrace.get-app-health"
with:
entity_id: "{{entity_id}}"
outputParameters:
- name: availability
type: string
mapping: "$.result[0].data[0].values[0]"
- name: response_time
type: string
mapping: "$.result[1].data[0].values[0]"
- name: failure_rate
type: string
mapping: "$.result[2].data[0].values[0]"
consumes:
- type: http
namespace: dynatrace
baseUri: "https://northwesternmutual.live.dynatrace.com/api/v2"
authentication:
type: bearer
token: "$secrets.dynatrace_token"
resources:
- name: metrics
path: "/metrics/query"
operations:
- name: get-app-health
method: POST
Retrieves the status of an AWS EC2 instance, returning instance state, type, and public IP.
naftiko: "0.5"
info:
label: "EC2 Instance Status Check"
description: "Retrieves the status of an AWS EC2 instance, returning instance state, type, and public IP."
tags:
- cloud
- ec2
- infrastructure
capability:
exposes:
- type: mcp
namespace: cloud-infra
port: 8080
tools:
- name: get-ec2-status
description: "Check the status of an EC2 instance by instance ID."
inputParameters:
- name: instance_id
in: body
type: string
description: "The EC2 instance identifier."
call: "ec2.describe-instance"
with:
instance_id: "{{instance_id}}"
outputParameters:
- name: state
type: string
mapping: "$.Reservations[0].Instances[0].State.Name"
- name: instance_type
type: string
mapping: "$.Reservations[0].Instances[0].InstanceType"
- name: public_ip
type: string
mapping: "$.Reservations[0].Instances[0].PublicIpAddress"
consumes:
- type: http
namespace: ec2
baseUri: "https://ec2.us-east-1.amazonaws.com"
authentication:
type: aws
accessKeyId: "$secrets.aws_access_key"
secretAccessKey: "$secrets.aws_secret_key"
resources:
- name: instances
path: "/?Action=DescribeInstances&InstanceId.1={{instance_id}}"
inputParameters:
- name: instance_id
in: query
operations:
- name: describe-instance
method: GET
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Given a Workday employee ID and start date, orchestrate onboarding."
inputParameters:
- name: workday_employee_id
in: body
type: string
description: "The Workday worker ID."
- name: start_date
in: body
type: string
description: "Employee start date in YYYY-MM-DD format."
- name: department
in: body
type: string
description: "The department."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{workday_employee_id}}"
- name: open-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "New hire onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
- 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 Northwestern Mutual, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}."
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://northwesternmutual.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
Generates estate planning documents by pulling client estate data from Salesforce, running tax projection models in Azure ML, creating the document package in SharePoint, and emailing the advisor via Microsoft Outlook.
naftiko: "0.5"
info:
label: "Estate Planning Document Generator"
description: "Generates estate planning documents by pulling client estate data from Salesforce, running tax projection models in Azure ML, creating the document package in SharePoint, and emailing the advisor via Microsoft Outlook."
tags:
- financial-planning
- estate-planning
- salesforce
- azure-machine-learning
- sharepoint
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: estate-planning
port: 8080
tools:
- name: generate-estate-plan
description: "Given a client ID and estate value, generate tax projections and estate planning documents."
inputParameters:
- name: client_id
in: body
type: string
description: "The client identifier."
- name: estate_value
in: body
type: string
description: "Estimated estate value."
- name: advisor_email
in: body
type: string
description: "The advisor's email."
steps:
- name: get-estate-data
type: call
call: "salesforce.get-estate-profile"
with:
client_id: "{{client_id}}"
- name: run-tax-projection
type: call
call: "azureml.project-estate-tax"
with:
estate_value: "{{estate_value}}"
beneficiaries: "{{get-estate-data.beneficiaries}}"
- name: create-documents
type: call
call: "sharepoint.upload-file"
with:
site_id: "estate_planning_site"
folder_path: "EstatePlans/{{client_id}}"
file_name: "estate_plan.pdf"
content: "{{run-tax-projection.plan_content}}"
- name: email-advisor
type: call
call: "outlook.send-mail"
with:
recipient: "{{advisor_email}}"
subject: "Estate Plan Ready: {{get-estate-data.client_name}}"
body: "Estate plan for {{get-estate-data.client_name}} is ready. Estate value: ${{estate_value}}. Projected tax: ${{run-tax-projection.estimated_tax}}. Download: {{create-documents.url}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: estate-profiles
path: "/sobjects/Estate_Profile__c/{{client_id}}"
inputParameters:
- name: client_id
in: path
operations:
- name: get-estate-profile
method: GET
- type: http
namespace: azureml
baseUri: "https://northwesternmutual-ml.eastus.inference.ml.azure.com"
authentication:
type: bearer
token: "$secrets.azureml_token"
resources:
- name: projections
path: "/score"
operations:
- name: project-estate-tax
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}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-mail
method: POST
Retrieves investment research data from FactSet for a given security.
naftiko: "0.5"
info:
label: "FactSet Investment Research Lookup"
description: "Retrieves investment research data from FactSet for a given security."
tags:
- wealth-management
- research
- factset
capability:
exposes:
- type: mcp
namespace: investment-research
port: 8080
tools:
- name: get-factset-research
description: "Look up FactSet research data by security identifier."
inputParameters:
- name: security_id
in: body
type: string
description: "The FactSet security identifier."
call: "factset.get-research"
with:
security_id: "{{security_id}}"
outputParameters:
- name: analyst_rating
type: string
mapping: "$.data.consensus_rating"
- name: price_target
type: string
mapping: "$.data.mean_price_target"
- name: pe_ratio
type: string
mapping: "$.data.pe_ratio"
consumes:
- type: http
namespace: factset
baseUri: "https://api.factset.com/content/factset-estimates/v2"
authentication:
type: basic
username: "$secrets.factset_user"
password: "$secrets.factset_password"
resources:
- name: estimates
path: "/consensus-estimates"
operations:
- name: get-research
method: POST
Retrieves a client's financial planning goals from Salesforce, returning goal name, target amount, current progress, and target date.
naftiko: "0.5"
info:
label: "Financial Planning Goal Tracker"
description: "Retrieves a client's financial planning goals from Salesforce, returning goal name, target amount, current progress, and target date."
tags:
- financial-planning
- goals
- salesforce
capability:
exposes:
- type: mcp
namespace: financial-planning
port: 8080
tools:
- name: get-client-goals
description: "Look up a client's financial planning goals by client ID."
inputParameters:
- name: client_id
in: body
type: string
description: "The client identifier."
call: "salesforce.get-goals"
with:
client_id: "{{client_id}}"
outputParameters:
- name: goals
type: array
mapping: "$.records"
- name: total_goals
type: string
mapping: "$.totalSize"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: goals
path: "/query/?q=SELECT+Id,Goal_Name__c,Target_Amount__c,Current_Progress__c,Target_Date__c+FROM+Financial_Goal__c+WHERE+Client_Id__c='{{client_id}}'"
inputParameters:
- name: client_id
in: query
operations:
- name: get-goals
method: GET
Retrieves the current status of a Northwestern Mutual GitHub repository.
naftiko: "0.5"
info:
label: "GitHub Repository Status"
description: "Retrieves the current status of a Northwestern Mutual GitHub repository."
tags:
- development
- github
capability:
exposes:
- type: mcp
namespace: dev-ops
port: 8080
tools:
- name: get-repo-status
description: "Look up GitHub repository status by repo name."
inputParameters:
- name: repo_name
in: body
type: string
description: "The GitHub repository name."
call: "github.get-repo"
with:
repo: "{{repo_name}}"
outputParameters:
- name: open_prs
type: string
mapping: "$.open_issues_count"
- name: default_branch
type: string
mapping: "$.default_branch"
- name: last_push
type: string
mapping: "$.pushed_at"
consumes:
- type: http
namespace: github
baseUri: "https://api.github.com"
authentication:
type: bearer
token: "$secrets.github_token"
resources:
- name: repos
path: "/repos/northwesternmutual/{{repo}}"
inputParameters:
- name: repo
in: path
operations:
- name: get-repo
method: GET
Checks the status of an Informatica data integration job.
naftiko: "0.5"
info:
label: "Informatica Data Integration Status"
description: "Checks the status of an Informatica data integration job."
tags:
- data-engineering
- informatica
- integration
capability:
exposes:
- type: mcp
namespace: data-integration
port: 8080
tools:
- name: get-integration-status
description: "Check Informatica job status by run ID."
inputParameters:
- name: run_id
in: body
type: string
description: "The Informatica run identifier."
call: "informatica.get-job-status"
with:
run_id: "{{run_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: rows_processed
type: string
mapping: "$.targetRowsInserted"
consumes:
- type: http
namespace: informatica
baseUri: "https://na1.dm-us.informaticacloud.com/saas/api/v2"
authentication:
type: bearer
token: "$secrets.informatica_token"
resources:
- name: jobs
path: "/activity/activityLog/{{run_id}}"
inputParameters:
- name: run_id
in: path
operations:
- name: get-job-status
method: GET
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 1"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-1
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-1"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 10"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-10
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-10"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-10
method: POST
- type: http
namespace: sharepoint
baseUri: "https://northwesternmutual.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 11"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-11
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-11"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 11 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-11
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 12"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-12
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-12"
with:
identifier: "{{identifier}}"
- name: push
type: call
call: "datadog.submit-metrics"
with:
metric_name: "insurance.workflow_12"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-12
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_token"
resources:
- name: metrics
path: "/metrics"
operations:
- name: submit-metrics
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 13"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-13
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-13"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-13
method: POST
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 14"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-14
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-14"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-14
method: POST
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 15"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- slack
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-15
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-15"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#insurance"
text: "Completed workflow 15: {{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-15
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 16"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-16
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-16"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "INSURA"
title: "Report 16"
content: "{{process.report}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-16
method: POST
- type: http
namespace: confluence
baseUri: "https://northwesternmutual.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 17"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-17
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-17"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_17"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-17
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 18"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- jira
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-18
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-18"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "INSU"
summary: "Task from workflow 18"
description: "{{process.details}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-18
method: POST
- type: http
namespace: jira
baseUri: "https://northwesternmutual.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 19"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-19
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-19"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "insurance"
message: "Workflow 19 complete: {{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-19
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 2"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-2
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-2"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 20"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-20
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-20"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_20"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-20
method: POST
- type: http
namespace: tableau
baseUri: "https://northwesternmutual-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 21"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- box
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-21
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-21"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-21
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 22"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-22
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-22"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-22
method: POST
- type: http
namespace: sharepoint
baseUri: "https://northwesternmutual.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 23"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-23
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-23"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 23 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-23
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 24"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-24
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-24"
with:
identifier: "{{identifier}}"
- name: push
type: call
call: "datadog.submit-metrics"
with:
metric_name: "insurance.workflow_24"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-24
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_token"
resources:
- name: metrics
path: "/metrics"
operations:
- name: submit-metrics
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 25"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-25
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-25"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-25
method: POST
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 26"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-26
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-26"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-26
method: POST
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 27"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- slack
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-27
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-27"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#insurance"
text: "Completed workflow 27: {{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-27
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 28"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-28
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-28"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "INSURA"
title: "Report 28"
content: "{{process.report}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-28
method: POST
- type: http
namespace: confluence
baseUri: "https://northwesternmutual.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 29"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-29
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-29"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_29"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-29
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 3"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- slack
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-3
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-3"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#insurance"
text: "Completed workflow 3: {{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-3
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 30"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- jira
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-30
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-30"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "INSU"
summary: "Task from workflow 30"
description: "{{process.details}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-30
method: POST
- type: http
namespace: jira
baseUri: "https://northwesternmutual.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 31"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-31
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-31"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "insurance"
message: "Workflow 31 complete: {{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-31
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 32"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-32
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-32"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_32"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-32
method: POST
- type: http
namespace: tableau
baseUri: "https://northwesternmutual-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 33"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- box
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-33
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-33"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-33
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 34"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-34
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-34"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-34
method: POST
- type: http
namespace: sharepoint
baseUri: "https://northwesternmutual.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 35"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-35
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-35"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 35 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-35
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 4"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-4
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-4"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "INSURA"
title: "Report 4"
content: "{{process.report}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-4
method: POST
- type: http
namespace: confluence
baseUri: "https://northwesternmutual.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 5"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-5
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-5"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_5"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-5
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 6"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- jira
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-6
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-6"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "INSU"
summary: "Task from workflow 6"
description: "{{process.details}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-6
method: POST
- type: http
namespace: jira
baseUri: "https://northwesternmutual.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 7"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-7
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-7"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "insurance"
message: "Workflow 7 complete: {{process.summary}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-7
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 8"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-8
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-8"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_8"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-8
method: POST
- type: http
namespace: tableau
baseUri: "https://northwesternmutual-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual.
naftiko: "0.5"
info:
label: "Northwestern Mutual Workflow 9"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
tags:
- insurance
- operations
- box
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: northwestern-mutual-workflow-9
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for Northwestern Mutual."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "northwesternmutual-ops.run-workflow-9"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: northwesternmutual-ops
baseUri: "https://api.northwesternmutual.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-9
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 1"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-1
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-1"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-1
path: "/data-1/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-1
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 10"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-10
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-10"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-10
path: "/data-10/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-10
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 11"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-11
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-11"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-11
path: "/data-11/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-11
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 12"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-12
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-12"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-12
path: "/data-12/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-12
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 13"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-13
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-13"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-13
path: "/data-13/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-13
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 14"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-14
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-14"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-14
path: "/data-14/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-14
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 15"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-15
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-15"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-15
path: "/data-15/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-15
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 2"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-2
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-2"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-2
path: "/data-2/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-2
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 3"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-3
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-3"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-3
path: "/data-3/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-3
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 4"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-4
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-4"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-4
path: "/data-4/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-4
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 5"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-5
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-5"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-5
path: "/data-5/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-5
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 6"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-6
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-6"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-6
path: "/data-6/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-6
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 7"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-7
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-7"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-7
path: "/data-7/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-7
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 8"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-8
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-8"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-8
path: "/data-8/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-8
method: GET
Retrieves operational data for Northwestern Mutual insurance workflows.
naftiko: "0.5"
info:
label: "Northwestern Mutual Data Lookup 9"
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: northwesternmutual-data
port: 8080
tools:
- name: get-data-9
description: "Retrieves operational data for Northwestern Mutual insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "northwesternmutual-data.get-data-9"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: northwesternmutual-data
baseUri: "https://api.northwesternmutual.com/data/v1"
authentication:
type: bearer
token: "$secrets.nwm_api_token"
resources:
- name: data-9
path: "/data-9/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-9
method: GET
Monitors trade execution via Bloomberg EMSX, captures fill status, and logs completed trades in Snowflake for compliance.
naftiko: "0.5"
info:
label: "Investment Trade Execution Monitor"
description: "Monitors trade execution via Bloomberg EMSX, captures fill status, and logs completed trades in Snowflake for compliance."
tags:
- wealth-management
- trading
- bloomberg-emsx
- snowflake
capability:
exposes:
- type: mcp
namespace: trade-monitoring
port: 8080
tools:
- name: monitor-trade-execution
description: "Given a trade order ID, check execution status and log to Snowflake."
inputParameters:
- name: order_id
in: body
type: string
description: "The Bloomberg EMSX order identifier."
- name: account_id
in: body
type: string
description: "The investment account identifier."
steps:
- name: check-execution
type: call
call: "bloomberg-emsx.get-order-status"
with:
order_id: "{{order_id}}"
- name: log-trade
type: call
call: "snowflake.insert-trade-record"
with:
order_id: "{{order_id}}"
account_id: "{{account_id}}"
status: "{{check-execution.status}}"
fill_price: "{{check-execution.fill_price}}"
consumes:
- type: http
namespace: bloomberg-emsx
baseUri: "https://emsx.bloomberg.com/api/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_emsx_token"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order-status
method: GET
- type: http
namespace: snowflake
baseUri: "https://northwesternmutual.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: insert-trade-record
method: POST
Retrieves the current sprint status from Jira.
naftiko: "0.5"
info:
label: "Jira Sprint Status Lookup"
description: "Retrieves the current sprint status from Jira."
tags:
- development
- jira
- agile
capability:
exposes:
- type: mcp
namespace: agile
port: 8080
tools:
- name: get-sprint-status
description: "Look up Jira active sprint by board ID."
inputParameters:
- name: board_id
in: body
type: string
description: "The Jira board identifier."
call: "jira.get-active-sprint"
with:
board_id: "{{board_id}}"
outputParameters:
- name: sprint_name
type: string
mapping: "$.values[0].name"
- name: end_date
type: string
mapping: "$.values[0].endDate"
consumes:
- type: http
namespace: jira
baseUri: "https://northwesternmutual.atlassian.net/rest/agile/1.0"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: sprints
path: "/board/{{board_id}}/sprint?state=active"
inputParameters:
- name: board_id
in: path
operations:
- name: get-active-sprint
method: GET
Manages Northwestern Mutual LinkedIn campaigns for advisor recruitment and brand awareness.
naftiko: "0.5"
info:
label: "LinkedIn Advisor Brand Campaign"
description: "Manages Northwestern Mutual LinkedIn campaigns for advisor recruitment and brand awareness."
tags:
- marketing
- linkedin
- brand
capability:
exposes:
- type: mcp
namespace: brand-marketing
port: 8080
tools:
- name: get-linkedin-campaign
description: "Retrieve LinkedIn campaign analytics by campaign ID."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The LinkedIn campaign identifier."
call: "linkedin.get-campaign-analytics"
with:
campaign_id: "{{campaign_id}}"
outputParameters:
- name: impressions
type: string
mapping: "$.elements[0].impressions"
- name: clicks
type: string
mapping: "$.elements[0].clicks"
- name: spend
type: string
mapping: "$.elements[0].costInLocalCurrency"
consumes:
- type: http
namespace: linkedin
baseUri: "https://api.linkedin.com/v2"
authentication:
type: bearer
token: "$secrets.linkedin_token"
resources:
- name: analytics
path: "/adAnalyticsV2"
operations:
- name: get-campaign-analytics
method: GET
Checks Microsoft Entra identity governance access reviews for a user.
naftiko: "0.5"
info:
label: "Microsoft Entra Access Review"
description: "Checks Microsoft Entra identity governance access reviews for a user."
tags:
- security
- microsoft-entra
- identity-governance
capability:
exposes:
- type: mcp
namespace: identity-governance
port: 8080
tools:
- name: get-access-reviews
description: "Check pending access reviews for a user."
inputParameters:
- name: user_id
in: body
type: string
description: "The user principal name."
call: "entra.get-reviews"
with:
user_id: "{{user_id}}"
outputParameters:
- name: pending_reviews
type: string
mapping: "$.value.length"
consumes:
- type: http
namespace: entra
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: access-reviews
path: "/identityGovernance/accessReviews/definitions"
operations:
- name: get-reviews
method: GET
Triggers a Microsoft Power Automate flow for workflow automation.
naftiko: "0.5"
info:
label: "Microsoft Power Automate Flow Trigger"
description: "Triggers a Microsoft Power Automate flow for workflow automation."
tags:
- automation
- microsoft-power-automate
capability:
exposes:
- type: mcp
namespace: workflow-automation
port: 8080
tools:
- name: trigger-flow
description: "Trigger a Power Automate flow by ID."
inputParameters:
- name: flow_id
in: body
type: string
description: "The Power Automate flow identifier."
- name: input_data
in: body
type: string
description: "JSON input data."
call: "powerautomate.trigger-flow"
with:
flow_id: "{{flow_id}}"
data: "{{input_data}}"
outputParameters:
- name: run_id
type: string
mapping: "$.name"
- name: status
type: string
mapping: "$.properties.status"
consumes:
- type: http
namespace: powerautomate
baseUri: "https://management.azure.com/subscriptions"
authentication:
type: bearer
token: "$secrets.azure_management_token"
resources:
- name: flows
path: "/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.Logic/workflows/{{flow_id}}/triggers/manual/run"
inputParameters:
- name: subscription_id
in: path
- name: resource_group
in: path
- name: flow_id
in: path
operations:
- name: trigger-flow
method: POST
Retrieves application performance metrics from New Relic.
naftiko: "0.5"
info:
label: "New Relic Application Performance Lookup"
description: "Retrieves application performance metrics from New Relic."
tags:
- monitoring
- new-relic
- application-performance
capability:
exposes:
- type: mcp
namespace: apm
port: 8080
tools:
- name: get-app-performance
description: "Look up New Relic application performance by app name."
inputParameters:
- name: app_name
in: body
type: string
description: "The New Relic application name."
call: "newrelic.get-app-metrics"
with:
app_name: "{{app_name}}"
outputParameters:
- name: response_time
type: string
mapping: "$.application.application_summary.response_time"
- name: throughput
type: string
mapping: "$.application.application_summary.throughput"
- name: error_rate
type: string
mapping: "$.application.application_summary.error_rate"
consumes:
- type: http
namespace: newrelic
baseUri: "https://api.newrelic.com/v2"
authentication:
type: apiKey
key: "$secrets.newrelic_api_key"
resources:
- name: applications
path: "/applications.json?filter[name]={{app_name}}"
inputParameters:
- name: app_name
in: query
operations:
- name: get-app-metrics
method: GET
Checks Oracle GoldenGate replication process status.
naftiko: "0.5"
info:
label: "Oracle GoldenGate Replication Status"
description: "Checks Oracle GoldenGate replication process status."
tags:
- data-engineering
- oracle-goldengate
- replication
capability:
exposes:
- type: mcp
namespace: data-replication
port: 8080
tools:
- name: get-replication-status
description: "Check GoldenGate replication status."
inputParameters:
- name: process_name
in: body
type: string
description: "The GoldenGate process name."
call: "goldengate.get-process"
with:
process_name: "{{process_name}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: lag_seconds
type: string
mapping: "$.lagSeconds"
consumes:
- type: http
namespace: goldengate
baseUri: "https://northwesternmutual-gg.oraclecloud.com/services/v2"
authentication:
type: bearer
token: "$secrets.goldengate_token"
resources:
- name: processes
path: "/deployments/current/processes/{{process_name}}"
inputParameters:
- name: process_name
in: path
operations:
- name: get-process
method: GET
Queries Palo Alto Networks firewall for a specific security rule.
naftiko: "0.5"
info:
label: "Palo Alto Firewall Rule Lookup"
description: "Queries Palo Alto Networks firewall for a specific security rule."
tags:
- security
- palo-alto-networks
- firewall
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."
inputParameters:
- name: rule_name
in: body
type: string
description: "The firewall rule name."
call: "paloalto.get-rule"
with:
rule_name: "{{rule_name}}"
outputParameters:
- name: action
type: string
mapping: "$.result.entry.action"
- name: source_zones
type: array
mapping: "$.result.entry.from.member"
consumes:
- type: http
namespace: paloalto
baseUri: "https://northwesternmutual-fw.paloaltonetworks.com/restapi/v10.2"
authentication:
type: apiKey
key: "$secrets.paloalto_api_key"
resources:
- name: security-rules
path: "/Policies/SecurityRules?name={{rule_name}}"
inputParameters:
- name: rule_name
in: query
operations:
- name: get-rule
method: GET
Retrieves Perforce depot status for a given depot path, returning changelist count and last submit information.
naftiko: "0.5"
info:
label: "Perforce Version Control Status"
description: "Retrieves Perforce depot status for a given depot path, returning changelist count and last submit information."
tags:
- development
- perforce
- version-control
capability:
exposes:
- type: mcp
namespace: version-control
port: 8080
tools:
- name: get-depot-status
description: "Check Perforce depot status by depot path."
inputParameters:
- name: depot_path
in: body
type: string
description: "The Perforce depot path."
call: "perforce.get-changes"
with:
depot_path: "{{depot_path}}"
outputParameters:
- name: latest_changelist
type: string
mapping: "$.data[0].change"
- name: last_user
type: string
mapping: "$.data[0].user"
- name: last_description
type: string
mapping: "$.data[0].desc"
consumes:
- type: http
namespace: perforce
baseUri: "https://northwesternmutual-p4.perforce.com/api/v1"
authentication:
type: bearer
token: "$secrets.perforce_token"
resources:
- name: changes
path: "/changes?path={{depot_path}}&max=1"
inputParameters:
- name: depot_path
in: query
operations:
- name: get-changes
method: GET
Retrieves an insurance policy record from Salesforce by policy number, returning status, coverage amount, premium due date, and policyholder name.
naftiko: "0.5"
info:
label: "Policy Status Lookup"
description: "Retrieves an insurance policy record from Salesforce by policy number, returning status, coverage amount, premium due date, and policyholder name."
tags:
- insurance
- policy-management
- salesforce
capability:
exposes:
- type: mcp
namespace: policy-ops
port: 8080
tools:
- name: get-policy-status
description: "Look up a life insurance policy by number. Returns status, coverage, premium, and policyholder."
inputParameters:
- name: policy_number
in: body
type: string
description: "The insurance policy number."
call: "salesforce.get-policy"
with:
policy_number: "{{policy_number}}"
outputParameters:
- name: status
type: string
mapping: "$.Policy_Status__c"
- name: coverage_amount
type: string
mapping: "$.Coverage_Amount__c"
- name: premium_due_date
type: string
mapping: "$.Premium_Due_Date__c"
- name: policyholder
type: string
mapping: "$.Policyholder_Name__c"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: policies
path: "/sobjects/Policy__c/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
Generates and sends policyholder communications by pulling policy data from Salesforce, triggering the email via Adobe Campaign, and logging the activity in ServiceNow.
naftiko: "0.5"
info:
label: "Policyholder Communication Orchestrator"
description: "Generates and sends policyholder communications by pulling policy data from Salesforce, triggering the email via Adobe Campaign, and logging the activity in ServiceNow."
tags:
- communications
- salesforce
- adobe-campaign
- servicenow
capability:
exposes:
- type: mcp
namespace: policyholder-comms
port: 8080
tools:
- name: send-policyholder-communication
description: "Given a policy number and communication type, pull data, send email, and log."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: communication_type
in: body
type: string
description: "Type of communication (renewal, premium reminder, annual statement)."
steps:
- name: get-policy
type: call
call: "salesforce.get-policy"
with:
policy_number: "{{policy_number}}"
- name: send-email
type: call
call: "adobe-campaign.trigger-email"
with:
template: "{{communication_type}}"
recipient_email: "{{get-policy.policyholder_email}}"
policy_number: "{{policy_number}}"
- name: log-activity
type: call
call: "servicenow.create-record"
with:
table: "communication_log"
policy_number: "{{policy_number}}"
type: "{{communication_type}}"
status: "sent"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: policies
path: "/sobjects/Policy__c/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- type: http
namespace: adobe-campaign
baseUri: "https://mc.adobe.io/northwesternmutual/campaign"
authentication:
type: bearer
token: "$secrets.adobe_campaign_token"
resources:
- name: email-triggers
path: "/profileAndServicesExt/aemTriggerEvent"
operations:
- name: trigger-email
method: POST
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: records
path: "/table/{{table}}"
inputParameters:
- name: table
in: path
operations:
- name: create-record
method: POST
Triggers a Power BI dataset refresh for Northwestern Mutual reporting dashboards.
naftiko: "0.5"
info:
label: "Power BI Dashboard Refresh"
description: "Triggers a Power BI dataset refresh for Northwestern Mutual reporting dashboards."
tags:
- analytics
- power-bi
- reporting
capability:
exposes:
- type: mcp
namespace: reporting
port: 8080
tools:
- name: refresh-dashboard
description: "Trigger a Power BI dataset refresh."
inputParameters:
- name: dataset_id
in: body
type: string
description: "The Power BI dataset identifier."
call: "powerbi.refresh-dataset"
with:
dataset_id: "{{dataset_id}}"
outputParameters:
- 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: "/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: dataset_id
in: path
operations:
- name: refresh-dataset
method: POST
Processes premium payments by validating the policy in Salesforce, processing the payment via Mastercard, updating the ledger in SAP, and sending confirmation via Adobe Campaign.
naftiko: "0.5"
info:
label: "Premium Payment Processing Pipeline"
description: "Processes premium payments by validating the policy in Salesforce, processing the payment via Mastercard, updating the ledger in SAP, and sending confirmation via Adobe Campaign."
tags:
- payments
- premium
- salesforce
- mastercard
- sap
- adobe-campaign
capability:
exposes:
- type: mcp
namespace: payment-processing
port: 8080
tools:
- name: process-premium-payment
description: "Given a policy number, amount, and payment method, validate, process, update, and confirm."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: payment_amount
in: body
type: string
description: "The payment amount."
- name: payment_method
in: body
type: string
description: "Payment method identifier."
steps:
- name: validate-policy
type: call
call: "salesforce.get-policy"
with:
policy_number: "{{policy_number}}"
- name: process-payment
type: call
call: "mastercard.process-payment"
with:
amount: "{{payment_amount}}"
payment_method: "{{payment_method}}"
reference: "{{policy_number}}"
- name: update-ledger
type: call
call: "sap.post-payment"
with:
policy_number: "{{policy_number}}"
amount: "{{payment_amount}}"
transaction_id: "{{process-payment.transaction_id}}"
- name: send-confirmation
type: call
call: "adobe-campaign.trigger-email"
with:
template: "payment_confirmation"
recipient_email: "{{validate-policy.policyholder_email}}"
amount: "{{payment_amount}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: policies
path: "/sobjects/Policy__c/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- type: http
namespace: mastercard
baseUri: "https://gateway.mastercard.com/api/rest/version/73"
authentication:
type: basic
username: "$secrets.mastercard_merchant_id"
password: "$secrets.mastercard_api_password"
resources:
- name: payments
path: "/merchant/{{merchant_id}}/order/{{order_id}}/transaction/{{transaction_id}}"
inputParameters:
- name: merchant_id
in: path
- name: order_id
in: path
- name: transaction_id
in: path
operations:
- name: process-payment
method: PUT
- type: http
namespace: sap
baseUri: "https://northwesternmutual-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: payments
path: "/PAYMENT_POSTING_SRV/PostPayment"
operations:
- name: post-payment
method: POST
- type: http
namespace: adobe-campaign
baseUri: "https://mc.adobe.io/northwesternmutual/campaign"
authentication:
type: bearer
token: "$secrets.adobe_campaign_token"
resources:
- name: email-triggers
path: "/profileAndServicesExt/aemTriggerEvent"
operations:
- name: trigger-email
method: POST
Retrieves Qlik Sense dashboard metadata and data, returning app name, sheet count, and last reload time.
naftiko: "0.5"
info:
label: "Qlik Sense Dashboard Lookup"
description: "Retrieves Qlik Sense dashboard metadata and data, returning app name, sheet count, and last reload time."
tags:
- analytics
- qlik-sense
- reporting
capability:
exposes:
- type: mcp
namespace: bi-reporting
port: 8080
tools:
- name: get-qlik-dashboard
description: "Look up a Qlik Sense app by ID."
inputParameters:
- name: app_id
in: body
type: string
description: "The Qlik Sense app identifier."
call: "qliksense.get-app"
with:
app_id: "{{app_id}}"
outputParameters:
- name: app_name
type: string
mapping: "$.name"
- name: last_reload
type: string
mapping: "$.lastReloadTime"
- name: published
type: string
mapping: "$.published"
consumes:
- type: http
namespace: qliksense
baseUri: "https://northwesternmutual.us.qlikcloud.com/api/v1"
authentication:
type: bearer
token: "$secrets.qliksense_token"
resources:
- name: apps
path: "/apps/{{app_id}}"
inputParameters:
- name: app_id
in: path
operations:
- name: get-app
method: GET
Prepares regulatory filings by pulling metrics from Snowflake, generating the filing in SharePoint, submitting for review in ServiceNow, and notifying legal via Microsoft Teams.
naftiko: "0.5"
info:
label: "Regulatory Filing Pipeline"
description: "Prepares regulatory filings by pulling metrics from Snowflake, generating the filing in SharePoint, submitting for review in ServiceNow, and notifying legal via Microsoft Teams."
tags:
- compliance
- regulatory
- snowflake
- sharepoint
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: regulatory-compliance
port: 8080
tools:
- name: prepare-regulatory-filing
description: "Given a filing type and period, pull metrics, generate filing, submit review, and notify."
inputParameters:
- name: filing_type
in: body
type: string
description: "Type of filing (statutory, GAAP, risk-based capital)."
- name: reporting_period
in: body
type: string
description: "The reporting period."
steps:
- name: pull-metrics
type: call
call: "snowflake.query-filing-metrics"
with:
type: "{{filing_type}}"
period: "{{reporting_period}}"
- name: generate-filing
type: call
call: "sharepoint.upload-file"
with:
site_id: "regulatory_site"
folder_path: "Filings/{{filing_type}}/{{reporting_period}}"
file_name: "filing.xlsx"
content: "{{pull-metrics.data}}"
- name: submit-review
type: call
call: "servicenow.create-case"
with:
short_description: "Filing Review: {{filing_type}} - {{reporting_period}}"
category: "regulatory_compliance"
- name: notify-legal
type: call
call: "msteams.send-message"
with:
channel_id: "legal-regulatory"
text: "Filing prepared: {{filing_type}} for {{reporting_period}}. Review: {{submit-review.number}}. Document: {{generate-filing.url}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://northwesternmutual.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: query-filing-metrics
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}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cases
path: "/table/sn_customerservice_case"
operations:
- name: create-case
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Projects retirement outcomes by pulling client data and goals from Salesforce, running retirement simulations in Azure ML, and delivering the projection report via SharePoint.
naftiko: "0.5"
info:
label: "Retirement Plan Projector"
description: "Projects retirement outcomes by pulling client data and goals from Salesforce, running retirement simulations in Azure ML, and delivering the projection report via SharePoint."
tags:
- financial-planning
- retirement
- salesforce
- azure-machine-learning
- sharepoint
capability:
exposes:
- type: mcp
namespace: retirement-planning
port: 8080
tools:
- name: project-retirement
description: "Given a client ID, current age, and target retirement age, run projection and deliver report."
inputParameters:
- name: client_id
in: body
type: string
description: "The client identifier."
- name: current_age
in: body
type: string
description: "Client's current age."
- name: retirement_age
in: body
type: string
description: "Target retirement age."
steps:
- name: get-client
type: call
call: "salesforce.get-client-profile"
with:
client_id: "{{client_id}}"
- name: run-simulation
type: call
call: "azureml.simulate-retirement"
with:
client_data: "{{get-client}}"
current_age: "{{current_age}}"
retirement_age: "{{retirement_age}}"
- name: store-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "financial_plans_site"
folder_path: "RetirementProjections/{{client_id}}"
file_name: "retirement_projection.pdf"
content: "{{run-simulation.report}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: clients
path: "/sobjects/Client__c/{{client_id}}"
inputParameters:
- name: client_id
in: path
operations:
- name: get-client-profile
method: GET
- type: http
namespace: azureml
baseUri: "https://northwesternmutual-ml.eastus.inference.ml.azure.com"
authentication:
type: bearer
token: "$secrets.azureml_token"
resources:
- name: simulations
path: "/score"
operations:
- name: simulate-retirement
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}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
Retrieves an expense report from SAP Concur by report ID.
naftiko: "0.5"
info:
label: "SAP Concur Expense Report Lookup"
description: "Retrieves an expense report from SAP Concur by report ID."
tags:
- finance
- sap-concur
- expense-management
capability:
exposes:
- type: mcp
namespace: expense
port: 8080
tools:
- name: get-expense-report
description: "Look up a Concur expense report by ID."
inputParameters:
- name: report_id
in: body
type: string
description: "The expense report identifier."
call: "concur.get-report"
with:
report_id: "{{report_id}}"
outputParameters:
- name: total_amount
type: string
mapping: "$.Total"
- name: approval_status
type: string
mapping: "$.ApprovalStatusName"
consumes:
- type: http
namespace: concur
baseUri: "https://us.api.concursolutions.com/api/v3.0"
authentication:
type: bearer
token: "$secrets.concur_token"
resources:
- name: reports
path: "/expense/reports/{{report_id}}"
inputParameters:
- name: report_id
in: path
operations:
- name: get-report
method: GET
Retrieves a general ledger account balance from SAP for a given account and fiscal period.
naftiko: "0.5"
info:
label: "SAP General Ledger Balance Lookup"
description: "Retrieves a general ledger account balance from SAP for a given account and fiscal period."
tags:
- finance
- sap
- general-ledger
capability:
exposes:
- type: mcp
namespace: finance
port: 8080
tools:
- name: get-gl-balance
description: "Look up SAP general ledger balance by account and period."
inputParameters:
- name: gl_account
in: body
type: string
description: "The general ledger account number."
- name: fiscal_period
in: body
type: string
description: "The fiscal period."
call: "sap.get-gl-balance"
with:
account: "{{gl_account}}"
period: "{{fiscal_period}}"
outputParameters:
- name: balance
type: string
mapping: "$.d.Balance"
- name: currency
type: string
mapping: "$.d.Currency"
consumes:
- type: http
namespace: sap
baseUri: "https://northwesternmutual-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: gl-accounts
path: "/GL_ACCOUNT_BALANCE_SRV/GLAccountBalance(Account='{{account}}',Period='{{period}}')"
inputParameters:
- name: account
in: path
- name: period
in: path
operations:
- name: get-gl-balance
method: GET
Retrieves a ServiceNow incident by number and returns the current state, assignee, and priority.
naftiko: "0.5"
info:
label: "ServiceNow Incident Status"
description: "Retrieves a ServiceNow incident by number and returns the current state, assignee, and priority."
tags:
- it-operations
- servicenow
capability:
exposes:
- type: mcp
namespace: it-ops
port: 8080
tools:
- name: get-incident-status
description: "Look up a ServiceNow incident by number."
inputParameters:
- name: incident_number
in: body
type: string
description: "The ServiceNow incident number."
call: "servicenow.get-incident"
with:
number: "{{incident_number}}"
outputParameters:
- name: state
type: string
mapping: "$.result[0].state"
- name: assigned_to
type: string
mapping: "$.result[0].assigned_to.display_value"
- name: priority
type: string
mapping: "$.result[0].priority"
consumes:
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident?sysparm_query=number={{number}}"
inputParameters:
- name: number
in: query
operations:
- name: get-incident
method: GET
Sends a notification to a Slack channel for cross-team alerts.
naftiko: "0.5"
info:
label: "Slack Channel Notification"
description: "Sends a notification to a Slack channel for cross-team alerts."
tags:
- collaboration
- slack
- notifications
capability:
exposes:
- type: mcp
namespace: notifications
port: 8080
tools:
- name: send-slack-notification
description: "Send a message to a Slack channel."
inputParameters:
- name: channel
in: body
type: string
description: "The Slack channel."
- name: message
in: body
type: string
description: "The message text."
call: "slack.post-message"
with:
channel: "{{channel}}"
text: "{{message}}"
outputParameters:
- name: message_ts
type: string
mapping: "$.ts"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Executes a predefined analytics query against Snowflake and returns results.
naftiko: "0.5"
info:
label: "Snowflake Analytics Query"
description: "Executes a predefined analytics query against Snowflake and returns results."
tags:
- analytics
- snowflake
- data-warehouse
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: run-analytics-query
description: "Execute a named analytics query in Snowflake."
inputParameters:
- name: query_name
in: body
type: string
description: "The predefined query name."
- name: parameters
in: body
type: string
description: "Query parameters as JSON."
call: "snowflake.execute-query"
with:
query_name: "{{query_name}}"
parameters: "{{parameters}}"
outputParameters:
- name: row_count
type: string
mapping: "$.resultSetMetaData.numRows"
- name: data
type: array
mapping: "$.data"
consumes:
- type: http
namespace: snowflake
baseUri: "https://northwesternmutual.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
Retrieves Tableau dashboard metadata for Northwestern Mutual reporting.
naftiko: "0.5"
info:
label: "Tableau Reporting Dashboard Lookup"
description: "Retrieves Tableau dashboard metadata for Northwestern Mutual reporting."
tags:
- analytics
- tableau
- reporting
capability:
exposes:
- type: mcp
namespace: tableau-reporting
port: 8080
tools:
- name: get-tableau-dashboard
description: "Look up a Tableau workbook by ID."
inputParameters:
- name: workbook_id
in: body
type: string
description: "The Tableau workbook identifier."
call: "tableau.get-workbook"
with:
workbook_id: "{{workbook_id}}"
outputParameters:
- name: name
type: string
mapping: "$.workbook.name"
- name: view_count
type: string
mapping: "$.workbook.viewCount"
- name: updated_at
type: string
mapping: "$.workbook.updatedAt"
consumes:
- type: http
namespace: tableau
baseUri: "https://northwesternmutual.online.tableau.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: workbooks
path: "/sites/{{site_id}}/workbooks/{{workbook_id}}"
inputParameters:
- name: site_id
in: path
- name: workbook_id
in: path
operations:
- name: get-workbook
method: GET
When a new insurance application is submitted, runs the Azure ML risk model, creates the underwriting case in Salesforce, routes for medical review in ServiceNow, and notifies the underwriter via Microsoft Teams.
naftiko: "0.5"
info:
label: "Underwriting Application Pipeline"
description: "When a new insurance application is submitted, runs the Azure ML risk model, creates the underwriting case in Salesforce, routes for medical review in ServiceNow, and notifies the underwriter via Microsoft Teams."
tags:
- underwriting
- application-processing
- azure-machine-learning
- salesforce
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: underwriting-pipeline
port: 8080
tools:
- name: process-application
description: "Given an applicant ID and application data, score risk, create case, route for review, and notify."
inputParameters:
- name: applicant_id
in: body
type: string
description: "The applicant identifier."
- name: product_type
in: body
type: string
description: "Insurance product type (whole life, term, universal, disability)."
- name: coverage_amount
in: body
type: string
description: "Requested coverage amount."
steps:
- name: score-risk
type: call
call: "azureml.score-application"
with:
applicant_id: "{{applicant_id}}"
product: "{{product_type}}"
amount: "{{coverage_amount}}"
- name: create-case
type: call
call: "salesforce.create-underwriting-case"
with:
applicant_id: "{{applicant_id}}"
risk_score: "{{score-risk.risk_score}}"
risk_tier: "{{score-risk.risk_tier}}"
- name: route-review
type: call
call: "servicenow.create-case"
with:
short_description: "Underwriting Review: {{applicant_id}} - {{product_type}}"
category: "underwriting"
description: "Risk: {{score-risk.risk_tier}} ({{score-risk.risk_score}}). Coverage: {{coverage_amount}}"
- name: notify-underwriter
type: call
call: "msteams.send-message"
with:
channel_id: "underwriting-queue"
text: "New application: {{applicant_id}}. Product: {{product_type}}. Coverage: {{coverage_amount}}. Risk: {{score-risk.risk_tier}}. Case: {{route-review.number}}"
consumes:
- type: http
namespace: azureml
baseUri: "https://northwesternmutual-ml.eastus.inference.ml.azure.com"
authentication:
type: bearer
token: "$secrets.azureml_token"
resources:
- name: scoring
path: "/score"
operations:
- name: score-application
method: POST
- type: http
namespace: salesforce
baseUri: "https://northwesternmutual.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: underwriting-cases
path: "/sobjects/Underwriting_Case__c"
operations:
- name: create-underwriting-case
method: POST
- type: http
namespace: servicenow
baseUri: "https://northwesternmutual.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cases
path: "/table/sn_customerservice_case"
operations:
- name: create-case
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Queries the underwriting risk model via Azure Machine Learning to retrieve a risk score for a given applicant.
naftiko: "0.5"
info:
label: "Underwriting Risk Score Lookup"
description: "Queries the underwriting risk model via Azure Machine Learning to retrieve a risk score for a given applicant."
tags:
- underwriting
- risk-assessment
- azure-machine-learning
capability:
exposes:
- type: mcp
namespace: underwriting
port: 8080
tools:
- name: get-risk-score
description: "Retrieve the underwriting risk score for an applicant."
inputParameters:
- name: applicant_id
in: body
type: string
description: "The applicant identifier."
- name: age
in: body
type: string
description: "Applicant age."
- name: health_class
in: body
type: string
description: "Health classification (preferred, standard, substandard)."
call: "azureml.score-risk"
with:
applicant_id: "{{applicant_id}}"
age: "{{age}}"
health_class: "{{health_class}}"
outputParameters:
- name: risk_score
type: string
mapping: "$.result.risk_score"
- name: risk_tier
type: string
mapping: "$.result.risk_tier"
- name: recommended_action
type: string
mapping: "$.result.recommended_action"
consumes:
- type: http
namespace: azureml
baseUri: "https://northwesternmutual-ml.eastus.inference.ml.azure.com"
authentication:
type: bearer
token: "$secrets.azureml_token"
resources:
- name: scoring
path: "/score"
operations:
- name: score-risk
method: POST
Retrieves a client's investment portfolio summary from Bloomberg AIM, returning total market value, asset allocation, and year-to-date performance.
naftiko: "0.5"
info:
label: "Wealth Management Portfolio Summary"
description: "Retrieves a client's investment portfolio summary from Bloomberg AIM, returning total market value, asset allocation, and year-to-date performance."
tags:
- wealth-management
- portfolio
- bloomberg-aim
capability:
exposes:
- type: mcp
namespace: wealth
port: 8080
tools:
- name: get-portfolio-summary
description: "Look up a client's investment portfolio in Bloomberg AIM by account ID."
inputParameters:
- name: account_id
in: body
type: string
description: "The Bloomberg AIM account identifier."
call: "bloomberg-aim.get-portfolio"
with:
account_id: "{{account_id}}"
outputParameters:
- name: market_value
type: string
mapping: "$.portfolio.total_market_value"
- name: asset_allocation
type: object
mapping: "$.portfolio.allocation"
- name: ytd_return
type: string
mapping: "$.portfolio.ytd_return"
consumes:
- type: http
namespace: bloomberg-aim
baseUri: "https://aim.bloomberg.com/api/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_aim_token"
resources:
- name: portfolios
path: "/portfolios/{{account_id}}"
inputParameters:
- name: account_id
in: path
operations:
- name: get-portfolio
method: GET
Searches the Northwestern Mutual Workday tenant for an employee by worker ID.
naftiko: "0.5"
info:
label: "Workday Employee Directory Lookup"
description: "Searches the Northwestern Mutual Workday tenant for an employee by worker ID."
tags:
- hr
- workday
- employee-directory
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: lookup-employee
description: "Look up an employee in Workday by worker ID."
inputParameters:
- name: worker_id
in: body
type: string
description: "The Workday worker ID."
call: "workday.get-worker"
with:
worker_id: "{{worker_id}}"
outputParameters:
- name: full_name
type: string
mapping: "$.Worker.Worker_Data.Personal_Data.Name_Data.Legal_Name.Name_Detail_Data.Full_Name"
- name: title
type: string
mapping: "$.Worker.Worker_Data.Employment_Data.Worker_Job_Data.Position_Data.Business_Title"
- name: department
type: string
mapping: "$.Worker.Worker_Data.Employment_Data.Worker_Job_Data.Position_Data.Business_Site_Summary.Name"
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
Retrieves a Zendesk support ticket by ID.
naftiko: "0.5"
info:
label: "Zendesk Customer Support Ticket Lookup"
description: "Retrieves a Zendesk support ticket by ID."
tags:
- customer-service
- zendesk
capability:
exposes:
- type: mcp
namespace: customer-support
port: 8080
tools:
- name: get-support-ticket
description: "Look up a Zendesk support ticket by ID."
inputParameters:
- name: ticket_id
in: body
type: string
description: "The Zendesk ticket identifier."
call: "zendesk.get-ticket"
with:
ticket_id: "{{ticket_id}}"
outputParameters:
- name: subject
type: string
mapping: "$.ticket.subject"
- name: status
type: string
mapping: "$.ticket.status"
- name: priority
type: string
mapping: "$.ticket.priority"
consumes:
- type: http
namespace: zendesk
baseUri: "https://northwesternmutual.zendesk.com/api/v2"
authentication:
type: bearer
token: "$secrets.zendesk_token"
resources:
- name: tickets
path: "/tickets/{{ticket_id}}"
inputParameters:
- name: ticket_id
in: path
operations:
- name: get-ticket
method: GET
Creates a Zoom meeting for advisor-client consultations and notifies the advisor via Microsoft Teams.
naftiko: "0.5"
info:
label: "Zoom Client Meeting Scheduler"
description: "Creates a Zoom meeting for advisor-client consultations and notifies the advisor via Microsoft Teams."
tags:
- collaboration
- zoom
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: collaboration
port: 8080
tools:
- name: schedule-client-meeting
description: "Given a topic, start time, and duration, create a Zoom meeting and notify via Teams."
inputParameters:
- name: topic
in: body
type: string
description: "The meeting topic."
- name: start_time
in: body
type: string
description: "Meeting start time in ISO 8601."
- name: duration
in: body
type: string
description: "Duration in minutes."
steps:
- name: create-meeting
type: call
call: "zoom.create-meeting"
with:
topic: "{{topic}}"
start_time: "{{start_time}}"
duration: "{{duration}}"
- name: notify-advisor
type: call
call: "msteams.send-message"
with:
channel_id: "advisor-meetings"
text: "Client meeting scheduled: {{topic}} at {{start_time}}. Join: {{create-meeting.join_url}}"
consumes:
- type: http
namespace: zoom
baseUri: "https://api.zoom.us/v2"
authentication:
type: bearer
token: "$secrets.zoom_token"
resources:
- name: meetings
path: "/users/me/meetings"
operations:
- name: create-meeting
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST