New York Life Capabilities
Naftiko 0.5 capability definitions for New York Life - 100 capabilities showing integration workflows and service orchestrations.
Calculates agent commissions by pulling policy sales data from Salesforce Sales Cloud, applying commission rules from SAP, and posting the results to the agent's Workday compensation record.
naftiko: "0.5"
info:
label: "Agent Commission Calculator"
description: "Calculates agent commissions by pulling policy sales data from Salesforce Sales Cloud, applying commission rules from SAP, and posting the results to the agent's Workday compensation record."
tags:
- commissions
- salesforce-sales-cloud
- sap
- workday
- finance
capability:
exposes:
- type: mcp
namespace: agent-commissions
port: 8080
tools:
- name: calculate-commissions
description: "Given an agent ID and commission period, pull sales data, apply commission rules, and update the compensation record."
inputParameters:
- name: agent_id
in: body
type: string
description: "The agent'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-agent-sales"
with:
agent_id: "{{agent_id}}"
period: "{{commission_period}}"
- name: apply-rules
type: call
call: "sap.calculate-commission"
with:
sales_data: "{{fetch-sales.records}}"
agent_tier: "{{fetch-sales.agent_tier}}"
- name: update-compensation
type: call
call: "workday.update-compensation"
with:
worker_id: "{{agent_id}}"
commission_amount: "{{apply-rules.total_commission}}"
period: "{{commission_period}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://newyorklife.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: agent-sales
path: "/query/?q=SELECT+Id,Amount,Product__c+FROM+Policy_Sale__c+WHERE+Agent_Id__c='{{agent_id}}'+AND+Period__c='{{period}}'"
inputParameters:
- name: agent_id
in: query
- name: period
in: query
operations:
- name: get-agent-sales
method: GET
- type: http
namespace: sap
baseUri: "https://newyorklife-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 agent licensing status by checking Workday employment records, querying the licensing database in Salesforce, validating continuing education credits, and flagging non-compliant agents in ServiceNow.
naftiko: "0.5"
info:
label: "Agent Licensing Verification Pipeline"
description: "Verifies agent licensing status by checking Workday employment records, querying the licensing database in Salesforce, validating continuing education credits, and flagging non-compliant agents in ServiceNow."
tags:
- compliance
- agent-licensing
- workday
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: agent-compliance
port: 8080
tools:
- name: verify-agent-licensing
description: "Given an agent ID and state, verify licensing status across Workday, Salesforce, and flag issues in ServiceNow."
inputParameters:
- name: agent_id
in: body
type: string
description: "The agent's employee identifier."
- name: state_code
in: body
type: string
description: "The state code to verify licensing for."
steps:
- name: check-employment
type: call
call: "workday.get-worker"
with:
worker_id: "{{agent_id}}"
- name: check-license
type: call
call: "salesforce.get-license"
with:
agent_id: "{{agent_id}}"
state: "{{state_code}}"
- name: flag-noncompliant
type: call
call: "servicenow.create-case"
with:
short_description: "License Verification: Agent {{agent_id}} - {{state_code}}"
category: "agent_compliance"
description: "Employment status: {{check-employment.status}}. License status: {{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://newyorklife.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+Agent_License__c+WHERE+Agent_Id__c='{{agent_id}}'+AND+State__c='{{state}}'"
inputParameters:
- name: agent_id
in: query
- name: state
in: query
operations:
- name: get-license
method: GET
- type: http
namespace: servicenow
baseUri: "https://newyorklife.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
Executes a named analytics query against Amazon Redshift and returns the result set for reporting purposes.
naftiko: "0.5"
info:
label: "Amazon Redshift Analytics Query"
description: "Executes a named analytics query against Amazon Redshift and returns the result set for reporting purposes."
tags:
- analytics
- amazon-redshift
- data-warehouse
capability:
exposes:
- type: mcp
namespace: analytics-warehouse
port: 8080
tools:
- name: run-redshift-query
description: "Execute a named query in Amazon Redshift."
inputParameters:
- name: query_name
in: body
type: string
description: "The predefined query name."
- name: parameters
in: body
type: string
description: "Query parameters as JSON string."
call: "redshift.execute-statement"
with:
query_name: "{{query_name}}"
parameters: "{{parameters}}"
outputParameters:
- name: statement_id
type: string
mapping: "$.Id"
- name: status
type: string
mapping: "$.Status"
consumes:
- type: http
namespace: redshift
baseUri: "https://redshift-data.us-east-1.amazonaws.com"
authentication:
type: aws
accessKeyId: "$secrets.aws_access_key"
secretAccessKey: "$secrets.aws_secret_key"
resources:
- name: statements
path: "/execute-statement"
operations:
- name: execute-statement
method: POST
Retrieves a document from Amazon S3 by bucket and key, returning the download URL, file size, and last modified timestamp.
naftiko: "0.5"
info:
label: "Amazon S3 Document Retrieval"
description: "Retrieves a document from Amazon S3 by bucket and key, returning the download URL, file size, and last modified timestamp."
tags:
- document-management
- amazon-s3
- cloud-storage
capability:
exposes:
- type: mcp
namespace: cloud-storage
port: 8080
tools:
- name: get-s3-document
description: "Retrieve an S3 object by bucket and key."
inputParameters:
- name: bucket
in: body
type: string
description: "The S3 bucket name."
- name: key
in: body
type: string
description: "The S3 object key."
call: "s3.get-object"
with:
bucket: "{{bucket}}"
key: "{{key}}"
outputParameters:
- name: content_type
type: string
mapping: "$.ContentType"
- name: content_length
type: string
mapping: "$.ContentLength"
- name: last_modified
type: string
mapping: "$.LastModified"
consumes:
- type: http
namespace: s3
baseUri: "https://s3.amazonaws.com"
authentication:
type: aws
accessKeyId: "$secrets.aws_access_key"
secretAccessKey: "$secrets.aws_secret_key"
resources:
- name: objects
path: "/{{bucket}}/{{key}}"
inputParameters:
- name: bucket
in: path
- name: key
in: path
operations:
- name: get-object
method: GET
Generates an annuity product illustration by pulling rate tables from SAP, running Monte Carlo projections via Azure Machine Learning, creating the illustration document in SharePoint, and emailing it to the agent via Microsoft Outlook.
naftiko: "0.5"
info:
label: "Annuity Illustration Generator"
description: "Generates an annuity product illustration by pulling rate tables from SAP, running Monte Carlo projections via Azure Machine Learning, creating the illustration document in SharePoint, and emailing it to the agent via Microsoft Outlook."
tags:
- insurance
- annuity
- sap
- azure-machine-learning
- sharepoint
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: product-illustration
port: 8080
tools:
- name: generate-annuity-illustration
description: "Given product type, premium amount, and client age, generate a full annuity illustration with projections."
inputParameters:
- name: product_type
in: body
type: string
description: "Annuity product type (fixed, variable, indexed)."
- name: premium_amount
in: body
type: string
description: "The premium amount."
- name: client_age
in: body
type: string
description: "The client's current age."
- name: agent_email
in: body
type: string
description: "The agent's email address."
steps:
- name: get-rates
type: call
call: "sap.get-annuity-rates"
with:
product: "{{product_type}}"
- name: run-projection
type: call
call: "azureml.project-annuity"
with:
rates: "{{get-rates.rate_table}}"
premium: "{{premium_amount}}"
age: "{{client_age}}"
product: "{{product_type}}"
- name: create-illustration
type: call
call: "sharepoint.upload-file"
with:
site_id: "product_illustrations"
folder_path: "Annuity/{{product_type}}"
file_name: "illustration_{{client_age}}_{{premium_amount}}.pdf"
content: "{{run-projection.illustration_content}}"
- name: email-agent
type: call
call: "outlook.send-mail"
with:
recipient: "{{agent_email}}"
subject: "Annuity Illustration: {{product_type}} - ${{premium_amount}}"
body: "Your annuity illustration is ready. Projected accumulation: {{run-projection.projected_value}}. Download: {{create-illustration.url}}"
consumes:
- type: http
namespace: sap
baseUri: "https://newyorklife-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: annuity-rates
path: "/ANNUITY_RATE_SRV/Rates"
operations:
- name: get-annuity-rates
method: GET
- type: http
namespace: azureml
baseUri: "https://newyorklife-ml.eastus.inference.ml.azure.com"
authentication:
type: bearer
token: "$secrets.azureml_token"
resources:
- name: projections
path: "/score"
operations:
- name: project-annuity
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
Invokes an AWS Lambda function by name and returns the execution result, status code, and execution duration.
naftiko: "0.5"
info:
label: "AWS Lambda Function Invocation"
description: "Invokes an AWS Lambda function by name and returns the execution result, status code, and execution duration."
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 with a JSON payload."
inputParameters:
- name: function_name
in: body
type: string
description: "The Lambda function name."
- name: payload
in: body
type: string
description: "The JSON payload to pass to the function."
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 including display name, job title, department, and manager.
naftiko: "0.5"
info:
label: "Azure Active Directory User Lookup"
description: "Retrieves user profile information from Azure Active Directory including display name, job title, department, and manager."
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"
- name: manager
type: string
mapping: "$.manager.displayName"
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}}?$expand=manager"
inputParameters:
- name: user_id
in: path
operations:
- name: get-user
method: GET
Processes a beneficiary change request by validating the policy in Salesforce, updating the beneficiary record, creating a compliance review in ServiceNow, and sending confirmation to the policyholder via Microsoft Teams.
naftiko: "0.5"
info:
label: "Beneficiary Change Request Processor"
description: "Processes a beneficiary change request by validating the policy in Salesforce, updating the beneficiary record, creating a compliance review in ServiceNow, and sending confirmation to the policyholder via Microsoft Teams."
tags:
- insurance
- beneficiary
- salesforce
- servicenow
- microsoft-teams
- compliance
capability:
exposes:
- type: mcp
namespace: beneficiary-changes
port: 8080
tools:
- name: process-beneficiary-change
description: "Given a policy number, new beneficiary details, and change reason, update the beneficiary, create compliance review, and send confirmation."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: new_beneficiary_name
in: body
type: string
description: "The new beneficiary's full name."
- name: relationship
in: body
type: string
description: "Relationship to policyholder (spouse, child, trust, etc.)."
- name: allocation_pct
in: body
type: string
description: "Benefit allocation percentage."
steps:
- name: validate-policy
type: call
call: "salesforce.get-policy"
with:
policy_number: "{{policy_number}}"
- name: update-beneficiary
type: call
call: "salesforce.update-beneficiary"
with:
policy_number: "{{policy_number}}"
beneficiary_name: "{{new_beneficiary_name}}"
relationship: "{{relationship}}"
allocation: "{{allocation_pct}}"
- name: compliance-review
type: call
call: "servicenow.create-case"
with:
short_description: "Beneficiary Change Review: Policy {{policy_number}}"
category: "compliance_review"
description: "Beneficiary changed to {{new_beneficiary_name}} ({{relationship}}) at {{allocation_pct}}% for policy {{policy_number}}."
- name: send-confirmation
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{validate-policy.policyholder_email}}"
text: "Your beneficiary change for policy {{policy_number}} has been submitted. New beneficiary: {{new_beneficiary_name}} ({{relationship}}). Compliance review: {{compliance-review.number}}."
consumes:
- type: http
namespace: salesforce
baseUri: "https://newyorklife.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
- name: beneficiaries
path: "/sobjects/Beneficiary__c"
operations:
- name: update-beneficiary
method: POST
- type: http
namespace: servicenow
baseUri: "https://newyorklife.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: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Retrieves real-time market data from Bloomberg for investment instruments in the New York Life portfolio, returning price, yield, and change metrics.
naftiko: "0.5"
info:
label: "Bloomberg Market Data Lookup"
description: "Retrieves real-time market data from Bloomberg for investment instruments in the New York Life portfolio, returning price, yield, and change metrics."
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, returning the file name, size, owner, and download URL.
naftiko: "0.5"
info:
label: "Box Document Retrieval"
description: "Retrieves a document from Box by file ID, returning the file name, size, owner, and download URL."
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"
- name: owner
type: string
mapping: "$.owned_by.name"
consumes:
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files/{{file_id}}"
inputParameters:
- name: file_id
in: path
operations:
- name: get-file
method: GET
Retrieves IVR call metrics from Cisco Voice Portal for the New York Life customer service line, returning call volume, average handle time, and abandonment rate.
naftiko: "0.5"
info:
label: "Cisco Voice Portal IVR Metrics"
description: "Retrieves IVR call metrics from Cisco Voice Portal for the New York Life customer service line, returning call volume, average handle time, and abandonment rate."
tags:
- customer-service
- cisco-voice-portal
- telephony
capability:
exposes:
- type: mcp
namespace: contact-center
port: 8080
tools:
- name: get-ivr-metrics
description: "Retrieve Cisco Voice Portal IVR metrics for a given date range."
inputParameters:
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD format."
call: "cisco-cvp.get-metrics"
with:
start_date: "{{start_date}}"
end_date: "{{end_date}}"
outputParameters:
- name: total_calls
type: string
mapping: "$.data.total_calls"
- name: avg_handle_time
type: string
mapping: "$.data.avg_handle_time_seconds"
- name: abandonment_rate
type: string
mapping: "$.data.abandonment_rate"
consumes:
- type: http
namespace: cisco-cvp
baseUri: "https://newyorklife-cvp.cisco.com/api/v1"
authentication:
type: bearer
token: "$secrets.cisco_cvp_token"
resources:
- name: metrics
path: "/reports/ivr-metrics"
operations:
- name: get-metrics
method: POST
When a new claim is filed, creates the claim record in Salesforce Service Cloud, opens a ServiceNow case for the claims processing team, 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 Service Cloud, opens a ServiceNow case for the claims processing team, uploads supporting documents to SharePoint, and notifies the claims adjuster via Microsoft Teams."
tags:
- claims
- salesforce-service-cloud
- 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 processing case, store documents, and notify the adjuster."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number associated with the claim."
- name: claimant_name
in: body
type: string
description: "The name of the claimant."
- name: claim_type
in: body
type: string
description: "Type of claim (death benefit, disability, accelerated benefit)."
- name: claim_description
in: body
type: string
description: "Description of the claim circumstances."
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}}. Type: {{claim_type}}. {{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 filed: {{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://newyorklife.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://newyorklife.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
Generates a comprehensive financial plan by pulling client data from Salesforce, running projections in Azure ML, fetching portfolio performance from Bloomberg AIM, and delivering the plan via SharePoint and Microsoft Outlook.
naftiko: "0.5"
info:
label: "Client Financial Plan Orchestrator"
description: "Generates a comprehensive financial plan by pulling client data from Salesforce, running projections in Azure ML, fetching portfolio performance from Bloomberg AIM, and delivering the plan via SharePoint and Microsoft Outlook."
tags:
- wealth-management
- financial-planning
- salesforce
- azure-machine-learning
- bloomberg-aim
- sharepoint
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: financial-planning
port: 8080
tools:
- name: generate-financial-plan
description: "Given a client ID and planning horizon, pull data, run projections, and deliver the comprehensive financial 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: Client {{get-client-data.client_name}}"
body: "The {{planning_horizon}}-year financial plan for {{get-client-data.client_name}} is ready. Portfolio value: {{get-portfolio.market_value}}. Projected growth: {{run-projections.projected_growth}}. Download: {{store-plan.url}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://newyorklife.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://newyorklife-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
Queries Cloudflare analytics for New York Life web properties to return bandwidth usage, cache hit ratio, and threat event counts.
naftiko: "0.5"
info:
label: "Cloudflare CDN Performance Check"
description: "Queries Cloudflare analytics for New York Life web properties to return bandwidth usage, cache hit ratio, and threat event counts."
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"
- name: threats
type: string
mapping: "$.result.totals.threats.all"
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 consolidated audit 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 consolidated audit 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 and audit scope, pull data from Salesforce, Bloomberg AIM, and Workday, and generate a consolidated audit report in SharePoint."
inputParameters:
- name: start_date
in: body
type: string
description: "Audit period start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "Audit period end date in YYYY-MM-DD format."
- name: audit_scope
in: body
type: string
description: "Scope of audit (policy-transactions, investment-activities, all)."
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_{{audit_scope}}.json"
content: "Policies: {{fetch-policy-data.records}} | Investments: {{fetch-investment-data.activities}} | Employee: {{fetch-employee-data.events}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://newyorklife.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
Searches the New York Life Confluence knowledge base by keyword and returns matching page titles, spaces, and last update dates.
naftiko: "0.5"
info:
label: "Confluence Knowledge Base Search"
description: "Searches the New York Life Confluence knowledge base by keyword and returns matching page titles, spaces, and last update dates."
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 keywords."
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://newyorklife.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 machine learning pipeline run, returning run state, start time, and output metrics.
naftiko: "0.5"
info:
label: "Databricks ML Pipeline Status"
description: "Checks the status of a Databricks machine learning pipeline run, returning run state, start time, and output metrics."
tags:
- data-science
- databricks
- machine-learning
capability:
exposes:
- type: mcp
namespace: ml-ops
port: 8080
tools:
- name: get-pipeline-status
description: "Check the status of a Databricks pipeline run 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"
- name: start_time
type: string
mapping: "$.start_time"
consumes:
- type: http
namespace: databricks
baseUri: "https://newyorklife.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 the current health status of New York Life infrastructure, returning host count, alert counts, and critical monitors.
naftiko: "0.5"
info:
label: "Datadog Infrastructure Health Check"
description: "Queries Datadog for the current health status of New York Life infrastructure, 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 to check (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"
- name: critical_monitors
type: array
mapping: "$.critical_monitors"
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
Queries Dynatrace for application health metrics for New York Life digital services, returning availability, response time, and failure rate.
naftiko: "0.5"
info:
label: "Dynatrace Application Health Check"
description: "Queries Dynatrace for application health metrics for New York Life digital services, returning availability, response time, and failure rate."
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://newyorklife.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
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Given a Workday employee ID and start date, orchestrate onboarding across ServiceNow, SharePoint, and Microsoft Teams."
inputParameters:
- name: workday_employee_id
in: body
type: string
description: "The Workday worker ID for the new hire."
- 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 the new hire is joining."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{workday_employee_id}}"
- name: open-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "New hire onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
assigned_group: "IT_Onboarding"
description: "Onboarding for {{get-employee.full_name}} starting {{start_date}} in {{department}}."
- name: provision-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "hr_onboarding_site"
folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
- name: send-welcome
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{get-employee.work_email}}"
text: "Welcome to New York Life, {{get-employee.first_name}}! Your IT onboarding ticket is {{open-ticket.number}}. Documents: {{provision-folder.url}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://newyorklife.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
Retrieves investment research data from FactSet for a given security, returning analyst ratings, price targets, and fundamental metrics.
naftiko: "0.5"
info:
label: "FactSet Investment Research Lookup"
description: "Retrieves investment research data from FactSet for a given security, returning analyst ratings, price targets, and fundamental metrics."
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 the current status of a New York Life GitHub repository including open pull requests, recent commits, and branch information.
naftiko: "0.5"
info:
label: "GitHub Repository Status"
description: "Retrieves the current status of a New York Life GitHub repository including open pull requests, recent commits, and branch information."
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/newyorklife/{{repo}}"
inputParameters:
- name: repo
in: path
operations:
- name: get-repo
method: GET
Checks the status of an Informatica data integration job, returning job state, start time, and rows processed.
naftiko: "0.5"
info:
label: "Informatica Data Integration Status"
description: "Checks the status of an Informatica data integration job, returning job state, start time, and rows processed."
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: start_time
type: string
mapping: "$.startTime"
- 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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 1"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-1
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-1"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 10"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-10
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-10"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-10
method: POST
- type: http
namespace: sharepoint
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 11"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-11
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 12"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-12
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 13"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-13
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-13"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-13
method: POST
- type: http
namespace: salesforce
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 14"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-14
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-14"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-14
method: POST
- type: http
namespace: servicenow
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 15"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- slack
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-15
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 16"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-16
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-16
method: POST
- type: http
namespace: confluence
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 17"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-17
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 18"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- jira
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-18
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-18
method: POST
- type: http
namespace: jira
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 19"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-19
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 2"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-2
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-2"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 20"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-20
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-20
method: POST
- type: http
namespace: tableau
baseUri: "https://newyorklife-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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 21"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- box
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-21
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-21"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 22"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-22
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-22"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-22
method: POST
- type: http
namespace: sharepoint
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 23"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-23
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 24"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-24
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 25"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-25
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-25"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-25
method: POST
- type: http
namespace: salesforce
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 26"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-26
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-26"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-26
method: POST
- type: http
namespace: servicenow
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 27"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- slack
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-27
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 28"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-28
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-28
method: POST
- type: http
namespace: confluence
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 29"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-29
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 3"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- slack
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-3
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 30"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- jira
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-30
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-30
method: POST
- type: http
namespace: jira
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 31"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-31
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 32"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-32
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-32
method: POST
- type: http
namespace: tableau
baseUri: "https://newyorklife-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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 33"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- box
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-33
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-33"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 34"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-34
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-34"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-34
method: POST
- type: http
namespace: sharepoint
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 35"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-35
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 4"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-4
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-4
method: POST
- type: http
namespace: confluence
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 5"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-5
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 6"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- jira
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-6
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-6
method: POST
- type: http
namespace: jira
baseUri: "https://newyorklife.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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 7"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-7
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 8"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-8
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-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: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-8
method: POST
- type: http
namespace: tableau
baseUri: "https://newyorklife-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 New York Life.
naftiko: "0.5"
info:
label: "New York Life Workflow 9"
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
tags:
- insurance
- operations
- box
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: new-york-life-workflow-9
description: "Orchestrates insurance operations including data retrieval, processing, and automated notification for New York Life."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "newyorklife-ops.run-workflow-9"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: newyorklife-ops
baseUri: "https://api.newyorklife.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 1"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-1
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-1"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 10"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-10
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-10"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 11"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-11
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-11"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 12"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-12
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-12"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 13"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-13
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-13"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 14"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-14
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-14"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 15"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-15
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-15"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 2"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-2
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-2"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 3"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-3
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-3"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 4"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-4
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-4"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 5"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-5
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-5"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 6"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-6
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-6"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 7"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-7
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-7"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 8"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-8
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-8"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 New York Life insurance workflows.
naftiko: "0.5"
info:
label: "New York Life Data Lookup 9"
description: "Retrieves operational data for New York Life insurance workflows."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: newyorklife-data
port: 8080
tools:
- name: get-data-9
description: "Retrieves operational data for New York Life insurance workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "newyorklife-data.get-data-9"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: newyorklife-data
baseUri: "https://api.newyorklife.com/data/v1"
authentication:
type: bearer
token: "$secrets.nyl_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 reporting.
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 reporting."
tags:
- wealth-management
- trading
- bloomberg-emsx
- snowflake
- compliance
capability:
exposes:
- type: mcp
namespace: trade-monitoring
port: 8080
tools:
- name: monitor-trade-execution
description: "Given a trade order ID, check execution status in Bloomberg EMSX and log the result in 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}}"
fill_quantity: "{{check-execution.fill_quantity}}"
execution_time: "{{check-execution.execution_time}}"
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://newyorklife.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 for a given project board, returning sprint name, story points completed, and remaining items.
naftiko: "0.5"
info:
label: "Jira Sprint Status Lookup"
description: "Retrieves the current sprint status from Jira for a given project board, returning sprint name, story points completed, and remaining items."
tags:
- development
- jira
- agile
capability:
exposes:
- type: mcp
namespace: dev-ops
port: 8080
tools:
- name: get-sprint-status
description: "Look up Jira sprint status 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: start_date
type: string
mapping: "$.values[0].startDate"
- name: end_date
type: string
mapping: "$.values[0].endDate"
consumes:
- type: http
namespace: jira
baseUri: "https://newyorklife.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 New York Life LinkedIn corporate campaigns by creating sponsored content, pulling engagement analytics, and syncing results to Salesforce for lead tracking.
naftiko: "0.5"
info:
label: "LinkedIn Corporate Brand Campaign Manager"
description: "Manages New York Life LinkedIn corporate campaigns by creating sponsored content, pulling engagement analytics, and syncing results to Salesforce for lead tracking."
tags:
- marketing
- linkedin
- salesforce
- brand
capability:
exposes:
- type: mcp
namespace: brand-marketing
port: 8080
tools:
- name: manage-linkedin-campaign
description: "Given a campaign brief and target audience, create sponsored content on LinkedIn, fetch metrics, and sync leads to Salesforce."
inputParameters:
- name: campaign_name
in: body
type: string
description: "The campaign name."
- name: content_text
in: body
type: string
description: "The sponsored content text."
- name: target_audience
in: body
type: string
description: "Target audience description."
steps:
- name: create-content
type: call
call: "linkedin.create-sponsored-content"
with:
campaign_name: "{{campaign_name}}"
text: "{{content_text}}"
audience: "{{target_audience}}"
- name: fetch-metrics
type: call
call: "linkedin.get-campaign-analytics"
with:
campaign_id: "{{create-content.campaign_id}}"
- name: sync-leads
type: call
call: "salesforce.create-leads"
with:
campaign_id: "{{create-content.campaign_id}}"
leads: "{{fetch-metrics.lead_forms}}"
consumes:
- type: http
namespace: linkedin
baseUri: "https://api.linkedin.com/v2"
authentication:
type: bearer
token: "$secrets.linkedin_token"
resources:
- name: sponsored-content
path: "/adCreativesV2"
operations:
- name: create-sponsored-content
method: POST
- name: analytics
path: "/adAnalyticsV2"
operations:
- name: get-campaign-analytics
method: GET
- type: http
namespace: salesforce
baseUri: "https://newyorklife.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: leads
path: "/sobjects/Lead"
operations:
- name: create-leads
method: POST
Checks Microsoft Entra identity governance access reviews for a user, returning pending reviews and last certification date.
naftiko: "0.5"
info:
label: "Microsoft Entra Identity Governance"
description: "Checks Microsoft Entra identity governance access reviews for a user, returning pending reviews and last certification date."
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 in Microsoft Entra."
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"
- name: last_certification
type: string
mapping: "$.value[0].lastCertifiedDateTime"
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?$filter=reviewers/any(r:r/id eq '{{user_id}}')"
inputParameters:
- name: user_id
in: query
operations:
- name: get-reviews
method: GET
Triggers a Microsoft Power Automate flow by flow ID and returns the run status and output.
naftiko: "0.5"
info:
label: "Microsoft Power Automate Flow Trigger"
description: "Triggers a Microsoft Power Automate flow by flow ID and returns the run status and output."
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 flow 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 for the flow."
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 for New York Life digital services, including response time, throughput, and error rate.
naftiko: "0.5"
info:
label: "New Relic Application Performance Lookup"
description: "Retrieves application performance metrics from New Relic for New York Life digital services, including response time, throughput, and error rate."
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 application 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 the status of an Oracle GoldenGate replication process, returning lag time, status, and checkpoint position.
naftiko: "0.5"
info:
label: "Oracle GoldenGate Replication Status"
description: "Checks the status of an Oracle GoldenGate replication process, returning lag time, status, and checkpoint position."
tags:
- data-engineering
- oracle-goldengate
- replication
capability:
exposes:
- type: mcp
namespace: data-replication
port: 8080
tools:
- name: get-replication-status
description: "Check Oracle GoldenGate replication process 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"
- name: checkpoint
type: string
mapping: "$.checkpointPosition"
consumes:
- type: http
namespace: goldengate
baseUri: "https://newyorklife-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, returning the action, source zones, and destination zones.
naftiko: "0.5"
info:
label: "Palo Alto Firewall Rule Lookup"
description: "Queries Palo Alto Networks firewall for a specific security rule, returning the action, source zones, and destination zones."
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"
- name: destination_zones
type: array
mapping: "$.result.entry.to.member"
consumes:
- type: http
namespace: paloalto
baseUri: "https://newyorklife-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 an insurance policy record from Salesforce by policy number and returns the current 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 and returns the current 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 amount, premium due date, 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://newyorklife.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, creating the communication in Adobe Campaign, and logging the outreach in ServiceNow.
naftiko: "0.5"
info:
label: "Policyholder Communication Orchestrator"
description: "Generates and sends policyholder communications by pulling policy data from Salesforce, creating the communication in Adobe Campaign, and logging the outreach in ServiceNow."
tags:
- communications
- policyholder
- 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 policy data, trigger the Adobe Campaign email, and log the activity."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: communication_type
in: body
type: string
description: "Type of communication (renewal notice, premium reminder, beneficiary update)."
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}}"
policyholder_name: "{{get-policy.policyholder_name}}"
- name: log-activity
type: call
call: "servicenow.create-record"
with:
table: "communication_log"
policy_number: "{{policy_number}}"
type: "{{communication_type}}"
status: "sent"
campaign_id: "{{send-email.campaign_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://newyorklife.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/newyorklife/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://newyorklife.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 New York Life reporting dashboards and returns the refresh status.
naftiko: "0.5"
info:
label: "Power BI Dashboard Refresh"
description: "Triggers a Power BI dataset refresh for New York Life reporting dashboards and returns the refresh status."
tags:
- analytics
- power-bi
- reporting
capability:
exposes:
- type: mcp
namespace: reporting
port: 8080
tools:
- name: refresh-dashboard
description: "Trigger a Power BI dataset refresh and check status."
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"
- name: request_id
type: string
mapping: "$.requestId"
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
When a premium payment is received, validates the policy in Salesforce, processes the payment via Mastercard gateway, updates the policy ledger in SAP, and sends a confirmation via Adobe Campaign email.
naftiko: "0.5"
info:
label: "Premium Payment Processing Pipeline"
description: "When a premium payment is received, validates the policy in Salesforce, processes the payment via Mastercard gateway, updates the policy ledger in SAP, and sends a confirmation via Adobe Campaign email."
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, payment amount, and payment method, validate, process, update ledger, and send confirmation."
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 (card token)."
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}}"
transaction_id: "{{process-payment.transaction_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://newyorklife.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://newyorklife-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/newyorklife/campaign"
authentication:
type: bearer
token: "$secrets.adobe_campaign_token"
resources:
- name: email-triggers
path: "/profileAndServicesExt/aemTriggerEvent"
operations:
- name: trigger-email
method: POST
Prepares regulatory filings by pulling policy metrics from Snowflake, generating the filing document in SharePoint, submitting to the compliance system via ServiceNow, and notifying the legal team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Regulatory Filing Compliance Pipeline"
description: "Prepares regulatory filings by pulling policy metrics from Snowflake, generating the filing document in SharePoint, submitting to the compliance system via ServiceNow, and notifying the legal team via Microsoft Teams."
tags:
- compliance
- regulatory
- snowflake
- sharepoint
- servicenow
- microsoft-teams
- legal
capability:
exposes:
- type: mcp
namespace: regulatory-compliance
port: 8080
tools:
- name: prepare-regulatory-filing
description: "Given a filing type and reporting period, pull metrics, generate the filing, submit for review, and notify legal."
inputParameters:
- name: filing_type
in: body
type: string
description: "Type of regulatory filing (statutory, GAAP, risk-based capital)."
- name: reporting_period
in: body
type: string
description: "The reporting period (e.g., 2025-Q4)."
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_{{filing_type}}_{{reporting_period}}.xlsx"
content: "{{pull-metrics.data}}"
- name: submit-review
type: call
call: "servicenow.create-case"
with:
short_description: "Regulatory Filing Review: {{filing_type}} - {{reporting_period}}"
category: "regulatory_compliance"
description: "Filing document: {{generate-filing.url}}"
- name: notify-legal
type: call
call: "msteams.send-message"
with:
channel_id: "legal-regulatory"
text: "Regulatory filing prepared: {{filing_type}} for {{reporting_period}}. Review case: {{submit-review.number}}. Document: {{generate-filing.url}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://newyorklife.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://newyorklife.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
Triggers a SailPoint access certification campaign, retrieves pending reviews, and notifies managers via Microsoft Teams to complete their certifications.
naftiko: "0.5"
info:
label: "SailPoint Access Certification Review"
description: "Triggers a SailPoint access certification campaign, retrieves pending reviews, and notifies managers via Microsoft Teams to complete their certifications."
tags:
- security
- access-management
- sailpoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: access-management
port: 8080
tools:
- name: trigger-access-review
description: "Given a certification campaign name and deadline, trigger the SailPoint campaign and notify managers to complete reviews."
inputParameters:
- name: campaign_name
in: body
type: string
description: "The access certification campaign name."
- name: deadline
in: body
type: string
description: "The review deadline in YYYY-MM-DD format."
steps:
- name: create-campaign
type: call
call: "sailpoint.create-certification"
with:
name: "{{campaign_name}}"
deadline: "{{deadline}}"
- name: get-reviewers
type: call
call: "sailpoint.get-pending-reviews"
with:
campaign_id: "{{create-campaign.campaign_id}}"
- name: notify-managers
type: call
call: "msteams.send-message"
with:
channel_id: "access-certifications"
text: "Access Certification Campaign '{{campaign_name}}' is now active. Deadline: {{deadline}}. {{get-reviewers.pending_count}} reviews pending across {{get-reviewers.reviewer_count}} managers."
consumes:
- type: http
namespace: sailpoint
baseUri: "https://newyorklife.api.identitynow.com/v3"
authentication:
type: bearer
token: "$secrets.sailpoint_token"
resources:
- name: certifications
path: "/campaigns"
operations:
- name: create-certification
method: POST
- name: reviews
path: "/campaigns/{{campaign_id}}/access-review-items"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-pending-reviews
method: GET
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves a customer service case from Salesforce Service Cloud by case number, returning status, subject, priority, and assigned agent.
naftiko: "0.5"
info:
label: "Salesforce Service Cloud Case Lookup"
description: "Retrieves a customer service case from Salesforce Service Cloud by case number, returning status, subject, priority, and assigned agent."
tags:
- customer-service
- salesforce-service-cloud
capability:
exposes:
- type: mcp
namespace: customer-service
port: 8080
tools:
- name: get-service-case
description: "Look up a Salesforce Service Cloud case by case number."
inputParameters:
- name: case_number
in: body
type: string
description: "The Salesforce case number."
call: "salesforce.get-case"
with:
case_number: "{{case_number}}"
outputParameters:
- name: status
type: string
mapping: "$.Status"
- name: subject
type: string
mapping: "$.Subject"
- name: priority
type: string
mapping: "$.Priority"
- name: owner
type: string
mapping: "$.Owner.Name"
consumes:
- type: http
namespace: salesforce
baseUri: "https://newyorklife.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: cases
path: "/sobjects/Case/{{case_number}}"
inputParameters:
- name: case_number
in: path
operations:
- name: get-case
method: GET
Retrieves a general ledger account balance from SAP for a given cost center 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 cost center 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 (e.g., 2025-Q1)."
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"
- name: debit_total
type: string
mapping: "$.d.DebitTotal"
- name: credit_total
type: string
mapping: "$.d.CreditTotal"
consumes:
- type: http
namespace: sap
baseUri: "https://newyorklife-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, priority, and last updated timestamp.
naftiko: "0.5"
info:
label: "ServiceNow Incident Status"
description: "Retrieves a ServiceNow incident by number and returns the current state, assignee, priority, and last updated timestamp."
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. Returns state, assignee, and priority."
inputParameters:
- name: incident_number
in: body
type: string
description: "The ServiceNow incident number (e.g., INC0012345)."
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://newyorklife.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
Retrieves portfolio valuation data from SimCorp Dimension for a given fund, returning net asset value, security positions, and unrealized gains.
naftiko: "0.5"
info:
label: "SimCorp Portfolio Valuation"
description: "Retrieves portfolio valuation data from SimCorp Dimension for a given fund, returning net asset value, security positions, and unrealized gains."
tags:
- wealth-management
- portfolio-valuation
- simcorp-dimension
capability:
exposes:
- type: mcp
namespace: portfolio-valuation
port: 8080
tools:
- name: get-portfolio-valuation
description: "Look up portfolio valuation in SimCorp Dimension by fund code."
inputParameters:
- name: fund_code
in: body
type: string
description: "The fund code identifier."
call: "simcorp.get-valuation"
with:
fund_code: "{{fund_code}}"
outputParameters:
- name: nav
type: string
mapping: "$.fund.net_asset_value"
- name: positions_count
type: string
mapping: "$.fund.position_count"
- name: unrealized_gain
type: string
mapping: "$.fund.unrealized_gain_loss"
consumes:
- type: http
namespace: simcorp
baseUri: "https://newyorklife.simcorpdimension.com/api/v1"
authentication:
type: bearer
token: "$secrets.simcorp_token"
resources:
- name: funds
path: "/funds/{{fund_code}}/valuation"
inputParameters:
- name: fund_code
in: path
operations:
- name: get-valuation
method: GET
Sends a notification message to a Slack channel for cross-team communication and alerts.
naftiko: "0.5"
info:
label: "Slack Channel Notification"
description: "Sends a notification message to a Slack channel for cross-team communication and 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 or ID."
- 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"
- name: channel_id
type: string
mapping: "$.channel"
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 result rows for reporting dashboards.
naftiko: "0.5"
info:
label: "Snowflake Analytics Query"
description: "Executes a predefined analytics query against Snowflake and returns result rows for reporting dashboards."
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 and return results."
inputParameters:
- name: query_name
in: body
type: string
description: "The predefined query name."
- name: parameters
in: body
type: string
description: "Query parameters as JSON string."
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://newyorklife.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 and view information for New York Life reporting, returning workbook name, view count, and last refresh time.
naftiko: "0.5"
info:
label: "Tableau Dashboard Lookup"
description: "Retrieves Tableau dashboard metadata and view information for New York Life reporting, returning workbook name, view count, and last refresh time."
tags:
- analytics
- tableau
- reporting
capability:
exposes:
- type: mcp
namespace: bi-reporting
port: 8080
tools:
- name: get-tableau-dashboard
description: "Look up a Tableau workbook by site and workbook name."
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://newyorklife.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
Executes a policy analytics query against Teradata, returning policy counts, lapse rates, and average premium by product line.
naftiko: "0.5"
info:
label: "Teradata Policy Analytics Query"
description: "Executes a policy analytics query against Teradata, returning policy counts, lapse rates, and average premium by product line."
tags:
- analytics
- teradata
- insurance
capability:
exposes:
- type: mcp
namespace: policy-analytics
port: 8080
tools:
- name: query-policy-analytics
description: "Run a Teradata policy analytics query by product line and date range."
inputParameters:
- name: product_line
in: body
type: string
description: "The insurance product line."
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD."
call: "teradata.query-policies"
with:
product_line: "{{product_line}}"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
outputParameters:
- name: active_policies
type: string
mapping: "$.results[0].active_count"
- name: lapse_rate
type: string
mapping: "$.results[0].lapse_rate"
- name: avg_premium
type: string
mapping: "$.results[0].avg_premium"
consumes:
- type: http
namespace: teradata
baseUri: "https://newyorklife-analytics.teradata.com/api/v1"
authentication:
type: bearer
token: "$secrets.teradata_token"
resources:
- name: queries
path: "/query"
operations:
- name: query-policies
method: POST
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 the risk, create the underwriting case, route for review, and notify the underwriter."
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)."
- 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}}"
product: "{{product_type}}"
- name: route-review
type: call
call: "servicenow.create-case"
with:
short_description: "Underwriting Review: {{applicant_id}} - {{product_type}}"
category: "underwriting"
description: "Risk score: {{score-risk.risk_score}}. Tier: {{score-risk.risk_tier}}. Coverage: {{coverage_amount}}"
- name: notify-underwriter
type: call
call: "msteams.send-message"
with:
channel_id: "underwriting-queue"
text: "New application for review: {{applicant_id}}. Product: {{product_type}}. Coverage: {{coverage_amount}}. Risk: {{score-risk.risk_tier}} ({{score-risk.risk_score}}). Case: {{route-review.number}}"
consumes:
- type: http
namespace: azureml
baseUri: "https://newyorklife-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://newyorklife.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://newyorklife.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, returning the risk tier, score, and recommended action.
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, returning the risk tier, score, and recommended action."
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 by submitting demographic and health data to the Azure ML model."
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://newyorklife-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 breakdown, 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 breakdown, 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 New York Life Workday tenant for an employee by worker ID and returns profile details including name, title, department, and office location.
naftiko: "0.5"
info:
label: "Workday Employee Lookup"
description: "Searches the New York Life Workday tenant for an employee by worker ID and returns profile details including name, title, department, and office location."
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. Returns name, title, department, and location."
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
Creates a Zoom meeting for a given topic and attendees, and sends the invite details via Microsoft Teams.
naftiko: "0.5"
info:
label: "Zoom Meeting Scheduler"
description: "Creates a Zoom meeting for a given topic and attendees, and sends the invite details via Microsoft Teams."
tags:
- collaboration
- zoom
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: collaboration
port: 8080
tools:
- name: schedule-zoom-meeting
description: "Given a topic, start time, and attendees, create a Zoom meeting and notify via Microsoft 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 format."
- name: duration
in: body
type: string
description: "Meeting duration in minutes."
steps:
- name: create-meeting
type: call
call: "zoom.create-meeting"
with:
topic: "{{topic}}"
start_time: "{{start_time}}"
duration: "{{duration}}"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "general"
text: "Zoom meeting scheduled: {{topic}} at {{start_time}}. Join: {{create-meeting.join_url}}"
consumes:
- type: http
namespace: zoom
baseUri: "https://api.zoom.us/v2"
authentication:
type: bearer
token: "$secrets.zoom_token"
resources:
- name: meetings
path: "/users/me/meetings"
operations:
- name: create-meeting
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST