Prudential Financial Capabilities
Naftiko 0.5 capability definitions for Prudential Financial - 100 capabilities showing integration workflows and service orchestrations.
Orchestrates advisor licensing renewal pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Advisor Licensing Renewal Pipeline"
description: "Orchestrates advisor licensing renewal pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- advisor
- prudential-financial
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: advisor
port: 8080
tools:
- name: advisor-licensing-renewal-pipeline
description: "Orchestrates advisor licensing renewal pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/advisor"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/advisor"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/advisor"
operations:
- name: execute-3
method: POST
Queries an insurance agent's licensing status from the NIPR licensing database, returning active licenses, states, expiration dates, and lines of authority.
naftiko: "0.5"
info:
label: "Agent Licensing Status Check"
description: "Queries an insurance agent's licensing status from the NIPR licensing database, returning active licenses, states, expiration dates, and lines of authority."
tags:
- compliance
- agent
- nipr
capability:
exposes:
- type: mcp
namespace: agent-licensing
port: 8080
tools:
- name: get-agent-licenses
description: "Look up an agent's licensing status from NIPR."
inputParameters:
- name: npn
in: body
type: string
description: "The agent's National Producer Number."
call: "nipr.get-producer"
with:
npn: "{{npn}}"
outputParameters:
- name: licenses
type: string
mapping: "$.data.licenses"
- name: active_states
type: string
mapping: "$.data.activeStates"
consumes:
- type: http
namespace: nipr
baseUri: "https://api.nipr.com/v2"
authentication:
type: bearer
token: "$secrets.nipr_token"
resources:
- name: producers
path: "/producers/{{npn}}"
inputParameters:
- name: npn
in: path
operations:
- name: get-producer
method: GET
Runs anti-money laundering and know-your-customer screening on a new client by checking identity against LexisNexis, screening OFAC/sanctions lists, running PEP checks, and logging results in the compliance system.
naftiko: "0.5"
info:
label: "AML/KYC Screening Orchestrator"
description: "Runs anti-money laundering and know-your-customer screening on a new client by checking identity against LexisNexis, screening OFAC/sanctions lists, running PEP checks, and logging results in the compliance system."
tags:
- compliance
- aml
- kyc
- lexisnexis
capability:
exposes:
- type: mcp
namespace: aml-kyc
port: 8080
tools:
- name: screen-client
description: "Given client details, run AML/KYC screening across identity verification, sanctions, and PEP databases."
inputParameters:
- name: client_name
in: body
type: string
description: "Full name of the client."
- name: date_of_birth
in: body
type: string
description: "Date of birth in YYYY-MM-DD format."
- name: country
in: body
type: string
description: "Country of residence ISO code."
steps:
- name: verify-identity
type: call
call: "lexisnexis.verify-identity"
with:
name: "{{client_name}}"
dob: "{{date_of_birth}}"
- name: screen-sanctions
type: call
call: "sanctions-api.screen"
with:
name: "{{client_name}}"
country: "{{country}}"
- name: check-pep
type: call
call: "sanctions-api.check-pep"
with:
name: "{{client_name}}"
country: "{{country}}"
- name: log-results
type: call
call: "compliance-system.create-screening-record"
with:
client_name: "{{client_name}}"
identity_verified: "{{verify-identity.verified}}"
sanctions_hit: "{{screen-sanctions.hit}}"
pep_status: "{{check-pep.is_pep}}"
consumes:
- type: http
namespace: lexisnexis
baseUri: "https://api.lexisnexis.com/identity/v2"
authentication:
type: bearer
token: "$secrets.lexisnexis_token"
resources:
- name: identity
path: "/verifications"
operations:
- name: verify-identity
method: POST
- type: http
namespace: sanctions-api
baseUri: "https://api.prudential.com/internal/sanctions/v1"
authentication:
type: bearer
token: "$secrets.sanctions_token"
resources:
- name: screening
path: "/screen"
operations:
- name: screen
method: POST
- name: pep
path: "/pep-check"
operations:
- name: check-pep
method: POST
- type: http
namespace: compliance-system
baseUri: "https://api.prudential.com/internal/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: screenings
path: "/screening-records"
operations:
- name: create-screening-record
method: POST
Orchestrates annual policy review pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Annual Policy Review Pipeline"
description: "Orchestrates annual policy review pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- annual
- prudential-financial
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: annual
port: 8080
tools:
- name: annual-policy-review-pipeline
description: "Orchestrates annual policy review pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/annual"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/annual"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/annual"
operations:
- name: execute-3
method: POST
Orchestrates annuity contract servicing pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Annuity Contract Servicing Pipeline"
description: "Orchestrates annuity contract servicing pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- annuity
- prudential-financial
- tableau
- prudential
- salesforce
capability:
exposes:
- type: mcp
namespace: annuity
port: 8080
tools:
- name: annuity-contract-servicing-pipeline
description: "Orchestrates annuity contract servicing pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "tableau.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "prudential.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/annuity"
operations:
- name: execute-1
method: POST
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/annuity"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/annuity"
operations:
- name: execute-3
method: POST
Retrieves an annuity contract summary from the annuity administration system, returning contract value, guaranteed minimum, surrender charge, income payment amount, and beneficiary.
naftiko: "0.5"
info:
label: "Annuity Contract Summary"
description: "Retrieves an annuity contract summary from the annuity administration system, returning contract value, guaranteed minimum, surrender charge, income payment amount, and beneficiary."
tags:
- insurance
- annuity
capability:
exposes:
- type: mcp
namespace: annuity
port: 8080
tools:
- name: get-annuity-contract
description: "Look up an annuity contract by contract number."
inputParameters:
- name: contract_number
in: body
type: string
description: "The annuity contract number."
call: "annuity-admin.get-contract"
with:
contract_number: "{{contract_number}}"
outputParameters:
- name: contract_value
type: string
mapping: "$.data.contractValue"
- name: guaranteed_minimum
type: string
mapping: "$.data.guaranteedMinimum"
- name: surrender_charge
type: string
mapping: "$.data.surrenderCharge"
- name: income_amount
type: string
mapping: "$.data.incomePaymentAmount"
- name: beneficiary
type: string
mapping: "$.data.beneficiaryName"
consumes:
- type: http
namespace: annuity-admin
baseUri: "https://api.prudential.com/internal/annuity/v2"
authentication:
type: bearer
token: "$secrets.annuity_admin_token"
resources:
- name: contracts
path: "/contracts/{{contract_number}}"
inputParameters:
- name: contract_number
in: path
operations:
- name: get-contract
method: GET
Calculates projected income payments for an annuity contract based on current value, payout option, and start age, returning monthly income, guaranteed period, and total projected payout.
naftiko: "0.5"
info:
label: "Annuity Income Projection"
description: "Calculates projected income payments for an annuity contract based on current value, payout option, and start age, returning monthly income, guaranteed period, and total projected payout."
tags:
- insurance
- annuity
- retirement
capability:
exposes:
- type: mcp
namespace: annuity-projections
port: 8080
tools:
- name: project-annuity-income
description: "Calculate projected income from an annuity contract."
inputParameters:
- name: contract_number
in: body
type: string
description: "The annuity contract number."
- name: payout_option
in: body
type: string
description: "Payout option (life_only, life_with_period_certain, joint_survivor)."
- name: income_start_age
in: body
type: string
description: "Age at which income payments begin."
call: "annuity-admin.project-income"
with:
contract_number: "{{contract_number}}"
payout_option: "{{payout_option}}"
start_age: "{{income_start_age}}"
outputParameters:
- name: monthly_income
type: string
mapping: "$.data.monthlyIncome"
- name: guaranteed_period
type: string
mapping: "$.data.guaranteedPeriodYears"
- name: total_projected_payout
type: string
mapping: "$.data.totalProjectedPayout"
consumes:
- type: http
namespace: annuity-admin
baseUri: "https://api.prudential.com/internal/annuity/v2"
authentication:
type: bearer
token: "$secrets.annuity_admin_token"
resources:
- name: projections
path: "/contracts/{{contract_number}}/projections"
inputParameters:
- name: contract_number
in: path
operations:
- name: project-income
method: POST
Retrieves annuity withdrawal schedule data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Annuity Withdrawal Schedule"
description: "Retrieves annuity withdrawal schedule data from the Prudential Financial financial services and insurance systems."
tags:
- annuity
- prudential-financial
- schedule
capability:
exposes:
- type: mcp
namespace: annuity
port: 8080
tools:
- name: annuity-withdrawal-schedule
description: "Retrieves annuity withdrawal schedule data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.annuity-withdrawal-schedule"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/annuity/withdrawal/schedule/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: annuity-withdrawal-schedule
method: GET
Retrieves beneficiary verification status data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Beneficiary Verification Status"
description: "Retrieves beneficiary verification status data from the Prudential Financial financial services and insurance systems."
tags:
- beneficiary
- prudential-financial
- status
capability:
exposes:
- type: mcp
namespace: beneficiary
port: 8080
tools:
- name: beneficiary-verification-status
description: "Retrieves beneficiary verification status data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.beneficiary-verification-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/beneficiary/verification/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: beneficiary-verification-status
method: GET
Orchestrates client complaint resolution pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Client Complaint Resolution Pipeline"
description: "Orchestrates client complaint resolution pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- client
- prudential-financial
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: client
port: 8080
tools:
- name: client-complaint-resolution-pipeline
description: "Orchestrates client complaint resolution pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/client"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/client"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/client"
operations:
- name: execute-3
method: POST
Orchestrates client data privacy pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Client Data Privacy Pipeline"
description: "Orchestrates client data privacy pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- client
- prudential-financial
- workday
- bloomberg
- tableau
capability:
exposes:
- type: mcp
namespace: client
port: 8080
tools:
- name: client-data-privacy-pipeline
description: "Orchestrates client data privacy pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "workday.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "bloomberg.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "tableau.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/client"
operations:
- name: execute-1
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/client"
operations:
- name: execute-2
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/client"
operations:
- name: execute-3
method: POST
Orchestrates client digital experience pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Client Digital Experience Pipeline"
description: "Orchestrates client digital experience pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- client
- prudential-financial
- teams
- workday
- bloomberg
capability:
exposes:
- type: mcp
namespace: client
port: 8080
tools:
- name: client-digital-experience-pipeline
description: "Orchestrates client digital experience pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "workday.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "bloomberg.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/client"
operations:
- name: execute-1
method: POST
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/client"
operations:
- name: execute-2
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/client"
operations:
- name: execute-3
method: POST
Orchestrates client financial planning pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Client Financial Planning Pipeline"
description: "Orchestrates client financial planning pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- client
- prudential-financial
- prudential
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: client
port: 8080
tools:
- name: client-financial-planning-pipeline
description: "Orchestrates client financial planning pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "prudential.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/client"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/client"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/client"
operations:
- name: execute-3
method: POST
Orchestrates client life event trigger pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Client Life Event Trigger Pipeline"
description: "Orchestrates client life event trigger pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- client
- prudential-financial
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: client
port: 8080
tools:
- name: client-life-event-trigger-pipeline
description: "Orchestrates client life event trigger pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/client"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/client"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/client"
operations:
- name: execute-3
method: POST
Orchestrates client net promoter score pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Client Net Promoter Score Pipeline"
description: "Orchestrates client net promoter score pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- client
- prudential-financial
- prudential
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: client
port: 8080
tools:
- name: client-net-promoter-score-pipeline
description: "Orchestrates client net promoter score pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "prudential.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/client"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/client"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/client"
operations:
- name: execute-3
method: POST
Orchestrates client onboarding suitability pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Client Onboarding Suitability Pipeline"
description: "Orchestrates client onboarding suitability pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- client
- prudential-financial
- teams
- workday
- bloomberg
capability:
exposes:
- type: mcp
namespace: client
port: 8080
tools:
- name: client-onboarding-suitability-pipeline
description: "Orchestrates client onboarding suitability pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "workday.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "bloomberg.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/client"
operations:
- name: execute-1
method: POST
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/client"
operations:
- name: execute-2
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/client"
operations:
- name: execute-3
method: POST
Creates a client risk profile by pulling their financial data from Salesforce, running a risk tolerance assessment, and storing the profile in the wealth management platform for suitability purposes.
naftiko: "0.5"
info:
label: "Client Risk Profiling Orchestrator"
description: "Creates a client risk profile by pulling their financial data from Salesforce, running a risk tolerance assessment, and storing the profile in the wealth management platform for suitability purposes."
tags:
- wealth
- risk
- salesforce
capability:
exposes:
- type: mcp
namespace: risk-profiling
port: 8080
tools:
- name: create-risk-profile
description: "Given a client ID and assessment responses, generate risk profile and store for suitability."
inputParameters:
- name: client_id
in: body
type: string
description: "The Salesforce client contact ID."
- name: risk_responses
in: body
type: string
description: "JSON of risk assessment questionnaire responses."
steps:
- name: get-financials
type: call
call: "salesforce.get-financial-profile"
with:
contact_id: "{{client_id}}"
- name: assess-risk
type: call
call: "risk-assessment.evaluate"
with:
income: "{{get-financials.annual_income}}"
net_worth: "{{get-financials.net_worth}}"
responses: "{{risk_responses}}"
- name: store-profile
type: call
call: "wealth-platform.save-risk-profile"
with:
client_id: "{{client_id}}"
risk_score: "{{assess-risk.score}}"
risk_category: "{{assess-risk.category}}"
time_horizon: "{{assess-risk.time_horizon}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: profiles
path: "/sobjects/FinancialProfile__c"
inputParameters:
- name: contact_id
in: query
operations:
- name: get-financial-profile
method: GET
- type: http
namespace: risk-assessment
baseUri: "https://api.prudential.com/internal/risk-assessment/v1"
authentication:
type: bearer
token: "$secrets.risk_assessment_token"
resources:
- name: evaluations
path: "/evaluations"
operations:
- name: evaluate
method: POST
- type: http
namespace: wealth-platform
baseUri: "https://api.prudential.com/internal/wealth/v2"
authentication:
type: bearer
token: "$secrets.wealth_platform_token"
resources:
- name: risk-profiles
path: "/clients/{{client_id}}/risk-profile"
inputParameters:
- name: client_id
in: path
operations:
- name: save-risk-profile
method: PUT
Checks an employee's compliance training completion status from the LMS, returning completed courses, overdue trainings, and next due date.
naftiko: "0.5"
info:
label: "Compliance Training Completion Check"
description: "Checks an employee's compliance training completion status from the LMS, returning completed courses, overdue trainings, and next due date."
tags:
- compliance
- hr
- training
capability:
exposes:
- type: mcp
namespace: compliance-training
port: 8080
tools:
- name: check-training-status
description: "Check compliance training completion for an employee."
inputParameters:
- name: employee_id
in: body
type: string
description: "The employee identifier."
call: "lms.get-compliance-status"
with:
user_id: "{{employee_id}}"
outputParameters:
- name: completed_courses
type: string
mapping: "$.data.completedCount"
- name: overdue_count
type: string
mapping: "$.data.overdueCount"
- name: next_due
type: string
mapping: "$.data.nextDueDate"
consumes:
- type: http
namespace: lms
baseUri: "https://api.prudential.com/internal/lms/v1"
authentication:
type: bearer
token: "$secrets.lms_token"
resources:
- name: compliance
path: "/users/{{user_id}}/compliance-status"
inputParameters:
- name: user_id
in: path
operations:
- name: get-compliance-status
method: GET
Creates a customer service case in Salesforce Service Cloud for policyholder inquiries, routing to the appropriate queue based on product line and issue type.
naftiko: "0.5"
info:
label: "Customer Service Ticket Creation"
description: "Creates a customer service case in Salesforce Service Cloud for policyholder inquiries, routing to the appropriate queue based on product line and issue type."
tags:
- customer-service
- salesforce
capability:
exposes:
- type: mcp
namespace: customer-service
port: 8080
tools:
- name: create-service-case
description: "Create a customer service case in Salesforce."
inputParameters:
- name: customer_id
in: body
type: string
description: "The Salesforce contact ID."
- name: product_line
in: body
type: string
description: "Product line (life, annuity, retirement, disability, wealth)."
- name: issue_type
in: body
type: string
description: "Type of issue (billing, claim, account_change, general_inquiry)."
- name: description
in: body
type: string
description: "Description of the customer's issue."
call: "salesforce.create-case"
with:
contact_id: "{{customer_id}}"
product_line: "{{product_line}}"
type: "{{issue_type}}"
description: "{{description}}"
outputParameters:
- name: case_number
type: string
mapping: "$.id"
consumes:
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: cases
path: "/sobjects/Case"
operations:
- name: create-case
method: POST
Orchestrates death benefit payout pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Death Benefit Payout Pipeline"
description: "Orchestrates death benefit payout pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- death
- prudential-financial
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: death
port: 8080
tools:
- name: death-benefit-payout-pipeline
description: "Orchestrates death benefit payout pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/death"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/death"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/death"
operations:
- name: execute-3
method: POST
Processes a life insurance death claim by verifying the policy in the admin system, pulling the death certificate from DocuSign, calculating the benefit payout, notifying the beneficiary via email, and creating the payment in SAP.
naftiko: "0.5"
info:
label: "Death Claim Processing Orchestrator"
description: "Processes a life insurance death claim by verifying the policy in the admin system, pulling the death certificate from DocuSign, calculating the benefit payout, notifying the beneficiary via email, and creating the payment in SAP."
tags:
- insurance
- claims
- docusign
- sap
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: death-claims
port: 8080
tools:
- name: process-death-claim
description: "Given a policy number and death certificate ID, verify, calculate payout, notify beneficiary, and create payment."
inputParameters:
- name: policy_number
in: body
type: string
description: "The life insurance policy number."
- name: death_certificate_envelope_id
in: body
type: string
description: "The DocuSign envelope ID containing the death certificate."
- name: date_of_death
in: body
type: string
description: "Date of death in YYYY-MM-DD format."
steps:
- name: verify-policy
type: call
call: "policy-admin.get-policy"
with:
policy_number: "{{policy_number}}"
- name: get-death-cert
type: call
call: "docusign.get-envelope"
with:
envelope_id: "{{death_certificate_envelope_id}}"
- name: calculate-benefit
type: call
call: "claims-engine.calculate-death-benefit"
with:
policy_number: "{{policy_number}}"
face_amount: "{{verify-policy.faceAmount}}"
date_of_death: "{{date_of_death}}"
- name: notify-beneficiary
type: call
call: "sfmc.send-email"
with:
template: "death_claim_notification"
to: "{{verify-policy.beneficiaryEmail}}"
merge_name: "{{verify-policy.beneficiaryName}}"
merge_amount: "{{calculate-benefit.payout_amount}}"
- name: create-payment
type: call
call: "sap.create-payment"
with:
payee: "{{verify-policy.beneficiaryName}}"
amount: "{{calculate-benefit.payout_amount}}"
reference: "DC-{{policy_number}}"
consumes:
- type: http
namespace: policy-admin
baseUri: "https://api.prudential.com/internal/policy-admin/v2"
authentication:
type: bearer
token: "$secrets.policy_admin_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- type: http
namespace: docusign
baseUri: "https://na4.docusign.net/restapi/v2.1"
authentication:
type: bearer
token: "$secrets.docusign_token"
resources:
- name: envelopes
path: "/accounts/{{account_id}}/envelopes/{{envelope_id}}"
inputParameters:
- name: account_id
in: path
- name: envelope_id
in: path
operations:
- name: get-envelope
method: GET
- type: http
namespace: claims-engine
baseUri: "https://api.prudential.com/internal/claims/v2"
authentication:
type: bearer
token: "$secrets.claims_engine_token"
resources:
- name: calculations
path: "/death-benefit-calculations"
operations:
- name: calculate-death-benefit
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
- type: http
namespace: sap
baseUri: "https://prudential-s4.sap.com/sap/opu/odata/sap/FI_PAYMENT_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: payments
path: "/A_Payment"
operations:
- name: create-payment
method: POST
Orchestrates disability claim return to work pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Disability Claim Return To Work Pipeline"
description: "Orchestrates disability claim return to work pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- disability
- prudential-financial
- bloomberg
- tableau
- prudential
capability:
exposes:
- type: mcp
namespace: disability
port: 8080
tools:
- name: disability-claim-return-to-work-pipeline
description: "Orchestrates disability claim return to work pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "bloomberg.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "tableau.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "prudential.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/disability"
operations:
- name: execute-1
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/disability"
operations:
- name: execute-2
method: POST
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/disability"
operations:
- name: execute-3
method: POST
Retrieves the status of a group disability claim from the disability claims system, returning claim state, disability type, benefit amount, and return-to-work date.
naftiko: "0.5"
info:
label: "Disability Claim Status"
description: "Retrieves the status of a group disability claim from the disability claims system, returning claim state, disability type, benefit amount, and return-to-work date."
tags:
- insurance
- disability
- claims
capability:
exposes:
- type: mcp
namespace: disability-claims
port: 8080
tools:
- name: get-disability-claim
description: "Look up a disability claim by claim number."
inputParameters:
- name: claim_number
in: body
type: string
description: "The disability claim number."
call: "disability-system.get-claim"
with:
claim_number: "{{claim_number}}"
outputParameters:
- name: status
type: string
mapping: "$.data.claimStatus"
- name: disability_type
type: string
mapping: "$.data.disabilityType"
- name: benefit_amount
type: string
mapping: "$.data.weeklyBenefit"
- name: return_to_work_date
type: string
mapping: "$.data.expectedReturnDate"
consumes:
- type: http
namespace: disability-system
baseUri: "https://api.prudential.com/internal/disability/v2"
authentication:
type: bearer
token: "$secrets.disability_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
Manages the return-to-work process for a disability claimant by updating the claim status, coordinating with the employer through the group admin system, and sending the RTW plan to the claimant via email.
naftiko: "0.5"
info:
label: "Disability Return-to-Work Orchestrator"
description: "Manages the return-to-work process for a disability claimant by updating the claim status, coordinating with the employer through the group admin system, and sending the RTW plan to the claimant via email."
tags:
- insurance
- disability
- claims
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: rtw-management
port: 8080
tools:
- name: process-return-to-work
description: "Given a claim number and RTW date, update claim, notify employer, and send plan to claimant."
inputParameters:
- name: claim_number
in: body
type: string
description: "The disability claim number."
- name: return_date
in: body
type: string
description: "Planned return-to-work date."
- name: work_restrictions
in: body
type: string
description: "Any work restrictions or accommodations needed."
steps:
- name: update-claim
type: call
call: "disability-system.update-claim"
with:
claim_number: "{{claim_number}}"
return_date: "{{return_date}}"
restrictions: "{{work_restrictions}}"
- name: notify-employer
type: call
call: "group-admin.send-rtw-notice"
with:
claim_number: "{{claim_number}}"
return_date: "{{return_date}}"
restrictions: "{{work_restrictions}}"
- name: send-plan
type: call
call: "sfmc.send-email"
with:
template: "rtw_plan"
to: "{{update-claim.claimant_email}}"
merge_date: "{{return_date}}"
merge_restrictions: "{{work_restrictions}}"
consumes:
- type: http
namespace: disability-system
baseUri: "https://api.prudential.com/internal/disability/v2"
authentication:
type: bearer
token: "$secrets.disability_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: update-claim
method: PATCH
- type: http
namespace: group-admin
baseUri: "https://api.prudential.com/internal/group-admin/v2"
authentication:
type: bearer
token: "$secrets.group_admin_token"
resources:
- name: rtw
path: "/rtw-notices"
operations:
- name: send-rtw-notice
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions access to policy systems, 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 access to policy systems, and sends a Microsoft Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- 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 the full onboarding sequence."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday worker ID."
- name: start_date
in: body
type: string
description: "Employee start date in YYYY-MM-DD format."
- name: department
in: body
type: string
description: "Department the new hire is joining."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{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"
- name: send-welcome
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{get-employee.work_email}}"
text: "Welcome to Prudential, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}. We're excited to have you on the {{department}} team."
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://prudential.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Orchestrates esg investment screening pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Esg Investment Screening Pipeline"
description: "Orchestrates esg investment screening pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- esg
- prudential-financial
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: esg
port: 8080
tools:
- name: esg-investment-screening-pipeline
description: "Orchestrates esg investment screening pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/esg"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/esg"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/esg"
operations:
- name: execute-3
method: POST
Retrieves the ESG (Environmental, Social, Governance) score for a PGIM investment portfolio, returning overall ESG score, environmental score, social score, and governance score.
naftiko: "0.5"
info:
label: "ESG Portfolio Score"
description: "Retrieves the ESG (Environmental, Social, Governance) score for a PGIM investment portfolio, returning overall ESG score, environmental score, social score, and governance score."
tags:
- wealth
- investment
- pgim
- esg
capability:
exposes:
- type: mcp
namespace: esg-analytics
port: 8080
tools:
- name: get-esg-score
description: "Retrieve ESG scores for an investment portfolio from PGIM."
inputParameters:
- name: portfolio_id
in: body
type: string
description: "The portfolio identifier."
call: "pgim-esg.get-scores"
with:
portfolio_id: "{{portfolio_id}}"
outputParameters:
- name: overall_esg
type: string
mapping: "$.data.overallScore"
- name: environmental
type: string
mapping: "$.data.environmentalScore"
- name: social
type: string
mapping: "$.data.socialScore"
- name: governance
type: string
mapping: "$.data.governanceScore"
consumes:
- type: http
namespace: pgim-esg
baseUri: "https://api.pgim.com/esg/v1"
authentication:
type: bearer
token: "$secrets.pgim_esg_token"
resources:
- name: scores
path: "/portfolios/{{portfolio_id}}/esg-scores"
inputParameters:
- name: portfolio_id
in: path
operations:
- name: get-scores
method: GET
Coordinates estate settlement by pulling all policies for a deceased insured, generating a consolidated benefits statement, filing claims across all lines, and notifying the estate executor via email.
naftiko: "0.5"
info:
label: "Estate Settlement Orchestrator"
description: "Coordinates estate settlement by pulling all policies for a deceased insured, generating a consolidated benefits statement, filing claims across all lines, and notifying the estate executor via email."
tags:
- insurance
- claims
- estate
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: estate-settlement
port: 8080
tools:
- name: initiate-estate-settlement
description: "Given a deceased insured's ID, find all policies, file claims, and notify executor."
inputParameters:
- name: insured_id
in: body
type: string
description: "The deceased insured's identifier."
- name: executor_email
in: body
type: string
description: "Estate executor's email address."
- name: date_of_death
in: body
type: string
description: "Date of death in YYYY-MM-DD format."
steps:
- name: find-policies
type: call
call: "policy-admin.find-policies-by-insured"
with:
insured_id: "{{insured_id}}"
- name: file-claims
type: call
call: "claims-engine.file-death-claims-batch"
with:
policies: "{{find-policies.policy_numbers}}"
date_of_death: "{{date_of_death}}"
- name: notify-executor
type: call
call: "sfmc.send-email"
with:
template: "estate_settlement"
to: "{{executor_email}}"
merge_policies: "{{find-policies.count}}"
merge_total_benefit: "{{file-claims.total_benefit}}"
consumes:
- type: http
namespace: policy-admin
baseUri: "https://api.prudential.com/internal/policy-admin/v2"
authentication:
type: bearer
token: "$secrets.policy_admin_token"
resources:
- name: search
path: "/policies/search"
operations:
- name: find-policies-by-insured
method: POST
- type: http
namespace: claims-engine
baseUri: "https://api.prudential.com/internal/claims/v2"
authentication:
type: bearer
token: "$secrets.claims_engine_token"
resources:
- name: batch-claims
path: "/death-claims/batch"
operations:
- name: file-death-claims-batch
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Retrieves a financial advisor's commission and production report from the compensation system, returning total commissions, product mix, and trailing 12-month production.
naftiko: "0.5"
info:
label: "Financial Advisor Commission Report"
description: "Retrieves a financial advisor's commission and production report from the compensation system, returning total commissions, product mix, and trailing 12-month production."
tags:
- wealth
- agent
- compensation
capability:
exposes:
- type: mcp
namespace: advisor-comp
port: 8080
tools:
- name: get-advisor-commissions
description: "Look up advisor commission and production data."
inputParameters:
- name: advisor_id
in: body
type: string
description: "The advisor identifier."
- name: period
in: body
type: string
description: "Period in YYYY-MM format."
call: "comp-system.get-commissions"
with:
advisor_id: "{{advisor_id}}"
period: "{{period}}"
outputParameters:
- name: total_commissions
type: string
mapping: "$.data.totalCommissions"
- name: product_mix
type: string
mapping: "$.data.productMix"
- name: trailing_12m
type: string
mapping: "$.data.trailing12MonthProduction"
consumes:
- type: http
namespace: comp-system
baseUri: "https://api.prudential.com/internal/compensation/v1"
authentication:
type: bearer
token: "$secrets.comp_system_token"
resources:
- name: commissions
path: "/advisors/{{advisor_id}}/commissions"
inputParameters:
- name: advisor_id
in: path
- name: period
in: query
operations:
- name: get-commissions
method: GET
Orchestrates financial advisor compensation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Financial Advisor Compensation Pipeline"
description: "Orchestrates financial advisor compensation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- financial
- prudential-financial
- teams
- workday
- bloomberg
capability:
exposes:
- type: mcp
namespace: financial
port: 8080
tools:
- name: financial-advisor-compensation-pipeline
description: "Orchestrates financial advisor compensation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "workday.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "bloomberg.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/financial"
operations:
- name: execute-1
method: POST
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/financial"
operations:
- name: execute-2
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/financial"
operations:
- name: execute-3
method: POST
Retrieves the duration and convexity metrics for a PGIM fixed income portfolio, returning effective duration, modified duration, spread duration, and key rate durations.
naftiko: "0.5"
info:
label: "Fixed Income Portfolio Duration Check"
description: "Retrieves the duration and convexity metrics for a PGIM fixed income portfolio, returning effective duration, modified duration, spread duration, and key rate durations."
tags:
- wealth
- investment
- pgim
- fixed-income
capability:
exposes:
- type: mcp
namespace: fixed-income
port: 8080
tools:
- name: get-portfolio-duration
description: "Retrieve duration metrics for a fixed income portfolio from PGIM."
inputParameters:
- name: portfolio_id
in: body
type: string
description: "The portfolio identifier."
call: "pgim-fi.get-duration"
with:
portfolio_id: "{{portfolio_id}}"
outputParameters:
- name: effective_duration
type: string
mapping: "$.data.effectiveDuration"
- name: modified_duration
type: string
mapping: "$.data.modifiedDuration"
- name: spread_duration
type: string
mapping: "$.data.spreadDuration"
consumes:
- type: http
namespace: pgim-fi
baseUri: "https://api.pgim.com/fixed-income/v2"
authentication:
type: bearer
token: "$secrets.pgim_fi_token"
resources:
- name: duration
path: "/portfolios/{{portfolio_id}}/duration"
inputParameters:
- name: portfolio_id
in: path
operations:
- name: get-duration
method: GET
Orchestrates group benefits annual renewal pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Group Benefits Annual Renewal Pipeline"
description: "Orchestrates group benefits annual renewal pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- group
- prudential-financial
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: group
port: 8080
tools:
- name: group-benefits-annual-renewal-pipeline
description: "Orchestrates group benefits annual renewal pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/group"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/group"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/group"
operations:
- name: execute-3
method: POST
Retrieves group benefits enrollment details for an employee from the group admin platform, returning enrolled coverages, dependents, coverage amounts, and effective dates.
naftiko: "0.5"
info:
label: "Group Benefits Enrollment Lookup"
description: "Retrieves group benefits enrollment details for an employee from the group admin platform, returning enrolled coverages, dependents, coverage amounts, and effective dates."
tags:
- insurance
- group-benefits
capability:
exposes:
- type: mcp
namespace: group-benefits
port: 8080
tools:
- name: get-enrollment
description: "Look up group benefits enrollment for an employee."
inputParameters:
- name: employer_id
in: body
type: string
description: "The employer group identifier."
- name: employee_ssn_last4
in: body
type: string
description: "Last 4 digits of the employee's SSN."
call: "group-admin.get-enrollment"
with:
employer_id: "{{employer_id}}"
ssn_last4: "{{employee_ssn_last4}}"
outputParameters:
- name: coverages
type: string
mapping: "$.data.enrolledCoverages"
- name: dependents
type: string
mapping: "$.data.dependents"
- name: effective_date
type: string
mapping: "$.data.effectiveDate"
consumes:
- type: http
namespace: group-admin
baseUri: "https://api.prudential.com/internal/group-admin/v2"
authentication:
type: bearer
token: "$secrets.group_admin_token"
resources:
- name: enrollments
path: "/employers/{{employer_id}}/employees"
inputParameters:
- name: employer_id
in: path
- name: ssn_last4
in: query
operations:
- name: get-enrollment
method: GET
Manages group benefits open enrollment by pulling eligible employee census from the employer, sending enrollment invitations via Salesforce Marketing Cloud, and tracking enrollment progress in the group admin system.
naftiko: "0.5"
info:
label: "Group Benefits Open Enrollment Orchestrator"
description: "Manages group benefits open enrollment by pulling eligible employee census from the employer, sending enrollment invitations via Salesforce Marketing Cloud, and tracking enrollment progress in the group admin system."
tags:
- insurance
- group-benefits
- enrollment
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: group-enrollment
port: 8080
tools:
- name: launch-open-enrollment
description: "Given an employer ID and enrollment window, pull eligible employees, send invitations, and track."
inputParameters:
- name: employer_id
in: body
type: string
description: "The employer group identifier."
- name: enrollment_start
in: body
type: string
description: "Enrollment start date."
- name: enrollment_end
in: body
type: string
description: "Enrollment end date."
steps:
- name: get-eligible
type: call
call: "group-admin.get-eligible-employees"
with:
employer_id: "{{employer_id}}"
- name: send-invitations
type: call
call: "sfmc.send-batch-email"
with:
template: "oe_invitation"
recipients: "{{get-eligible.emails}}"
merge_start: "{{enrollment_start}}"
merge_end: "{{enrollment_end}}"
- name: create-window
type: call
call: "group-admin.create-enrollment-window"
with:
employer_id: "{{employer_id}}"
start: "{{enrollment_start}}"
end: "{{enrollment_end}}"
eligible_count: "{{get-eligible.count}}"
consumes:
- type: http
namespace: group-admin
baseUri: "https://api.prudential.com/internal/group-admin/v2"
authentication:
type: bearer
token: "$secrets.group_admin_token"
resources:
- name: eligible
path: "/employers/{{employer_id}}/eligible-employees"
inputParameters:
- name: employer_id
in: path
operations:
- name: get-eligible-employees
method: GET
- name: enrollment-windows
path: "/employers/{{employer_id}}/enrollment-windows"
inputParameters:
- name: employer_id
in: path
operations:
- name: create-enrollment-window
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: batch-emails
path: "/messaging/v1/email/messages/batch"
operations:
- name: send-batch-email
method: POST
Orchestrates group billing reconciliation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Group Billing Reconciliation Pipeline"
description: "Orchestrates group billing reconciliation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- group
- prudential-financial
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: group
port: 8080
tools:
- name: group-billing-reconciliation-pipeline
description: "Orchestrates group billing reconciliation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/group"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/group"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/group"
operations:
- name: execute-3
method: POST
Retrieves group disability benefit calculator data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Group Disability Benefit Calculator"
description: "Retrieves group disability benefit calculator data from the Prudential Financial financial services and insurance systems."
tags:
- group
- prudential-financial
- calculator
capability:
exposes:
- type: mcp
namespace: group
port: 8080
tools:
- name: group-disability-benefit-calculator
description: "Retrieves group disability benefit calculator data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.group-disability-benefit-calculator"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/group/disability/benefit/calculator/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: group-disability-benefit-calculator
method: GET
Retrieves group life certificate lookup data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Group Life Certificate Lookup"
description: "Retrieves group life certificate lookup data from the Prudential Financial financial services and insurance systems."
tags:
- group
- prudential-financial
- lookup
capability:
exposes:
- type: mcp
namespace: group
port: 8080
tools:
- name: group-life-certificate-lookup
description: "Retrieves group life certificate lookup data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.group-life-certificate-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/group/life/certificate/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: group-life-certificate-lookup
method: GET
Generates monthly group life insurance premium billing by pulling census data from the employer feed, calculating premiums by age band, creating an invoice in SAP, and sending the bill to the employer via Salesforce.
naftiko: "0.5"
info:
label: "Group Life Premium Billing Orchestrator"
description: "Generates monthly group life insurance premium billing by pulling census data from the employer feed, calculating premiums by age band, creating an invoice in SAP, and sending the bill to the employer via Salesforce."
tags:
- insurance
- billing
- group-benefits
- sap
- salesforce
capability:
exposes:
- type: mcp
namespace: group-billing
port: 8080
tools:
- name: generate-group-billing
description: "Given an employer ID and billing month, calculate premiums and generate the invoice."
inputParameters:
- name: employer_id
in: body
type: string
description: "The employer group identifier."
- name: billing_month
in: body
type: string
description: "Billing month in YYYY-MM format."
steps:
- name: get-census
type: call
call: "group-admin.get-active-census"
with:
employer_id: "{{employer_id}}"
- name: calculate-premium
type: call
call: "rating-engine.calculate-group-premium"
with:
employer_id: "{{employer_id}}"
census: "{{get-census.employees}}"
month: "{{billing_month}}"
- name: create-invoice
type: call
call: "sap.create-invoice"
with:
customer: "{{employer_id}}"
amount: "{{calculate-premium.total_premium}}"
period: "{{billing_month}}"
- name: send-bill
type: call
call: "salesforce.create-task"
with:
subject: "Group life premium bill: {{employer_id}} for {{billing_month}}"
description: "Total premium: ${{calculate-premium.total_premium}}. Lives: {{get-census.count}}. Invoice: {{create-invoice.invoice_number}}."
consumes:
- type: http
namespace: group-admin
baseUri: "https://api.prudential.com/internal/group-admin/v2"
authentication:
type: bearer
token: "$secrets.group_admin_token"
resources:
- name: census
path: "/employers/{{employer_id}}/active-census"
inputParameters:
- name: employer_id
in: path
operations:
- name: get-active-census
method: GET
- type: http
namespace: rating-engine
baseUri: "https://api.prudential.com/internal/rating/v1"
authentication:
type: bearer
token: "$secrets.rating_engine_token"
resources:
- name: group-premium
path: "/group-premium-calculations"
operations:
- name: calculate-group-premium
method: POST
- type: http
namespace: sap
baseUri: "https://prudential-s4.sap.com/sap/opu/odata/sap/SD_BILLING_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: invoices
path: "/A_BillingDocument"
operations:
- name: create-invoice
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: tasks
path: "/sobjects/Task"
operations:
- name: create-task
method: POST
Orchestrates group open enrollment orchestrator across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Group Open Enrollment Orchestrator"
description: "Orchestrates group open enrollment orchestrator across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- group
- prudential-financial
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: group
port: 8080
tools:
- name: group-open-enrollment-orchestrator
description: "Orchestrates group open enrollment orchestrator across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/group"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/group"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/group"
operations:
- name: execute-3
method: POST
Generates a life insurance policy illustration by pulling product rates from the product catalog, running the illustration engine, and sharing the PDF with the agent via Salesforce and Box.
naftiko: "0.5"
info:
label: "Illustration Generation Orchestrator"
description: "Generates a life insurance policy illustration by pulling product rates from the product catalog, running the illustration engine, and sharing the PDF with the agent via Salesforce and Box."
tags:
- insurance
- sales
- salesforce
- box
capability:
exposes:
- type: mcp
namespace: illustrations
port: 8080
tools:
- name: generate-illustration
description: "Given product and applicant details, generate a policy illustration, store in Box, and share with the agent."
inputParameters:
- name: product_code
in: body
type: string
description: "The insurance product code."
- name: face_amount
in: body
type: string
description: "Requested face amount."
- name: applicant_age
in: body
type: string
description: "Applicant's current age."
- name: agent_id
in: body
type: string
description: "The agent's Salesforce user ID."
steps:
- name: get-rates
type: call
call: "product-catalog.get-rates"
with:
product_code: "{{product_code}}"
face_amount: "{{face_amount}}"
age: "{{applicant_age}}"
- name: generate-pdf
type: call
call: "illustration-engine.create-illustration"
with:
product_code: "{{product_code}}"
face_amount: "{{face_amount}}"
premium: "{{get-rates.annual_premium}}"
age: "{{applicant_age}}"
- name: upload-to-box
type: call
call: "box.upload-file"
with:
folder_id: "illustrations"
file_name: "Illustration_{{product_code}}_{{applicant_age}}.pdf"
content: "{{generate-pdf.pdf_content}}"
- name: notify-agent
type: call
call: "salesforce.create-task"
with:
owner_id: "{{agent_id}}"
subject: "Illustration ready: {{product_code}} ${{face_amount}}"
description: "Premium: ${{get-rates.annual_premium}}/year. Download: {{upload-to-box.shared_link}}"
consumes:
- type: http
namespace: product-catalog
baseUri: "https://api.prudential.com/internal/products/v1"
authentication:
type: bearer
token: "$secrets.product_catalog_token"
resources:
- name: rates
path: "/products/{{product_code}}/rates"
inputParameters:
- name: product_code
in: path
operations:
- name: get-rates
method: POST
- type: http
namespace: illustration-engine
baseUri: "https://api.prudential.com/internal/illustrations/v1"
authentication:
type: bearer
token: "$secrets.illustration_token"
resources:
- name: illustrations
path: "/illustrations"
operations:
- name: create-illustration
method: POST
- type: http
namespace: box
baseUri: "https://upload.box.com/api/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files/content"
operations:
- name: upload-file
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: tasks
path: "/sobjects/Task"
operations:
- name: create-task
method: POST
Orchestrates insurance fraud detection pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Insurance Fraud Detection Pipeline"
description: "Orchestrates insurance fraud detection pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- insurance
- prudential-financial
- tableau
- prudential
- salesforce
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: insurance-fraud-detection-pipeline
description: "Orchestrates insurance fraud detection pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "tableau.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "prudential.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/insurance"
operations:
- name: execute-1
method: POST
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/insurance"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/insurance"
operations:
- name: execute-3
method: POST
Retrieves insurance illustration lookup data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Insurance Illustration Lookup"
description: "Retrieves insurance illustration lookup data from the Prudential Financial financial services and insurance systems."
tags:
- insurance
- prudential-financial
- lookup
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: insurance-illustration-lookup
description: "Retrieves insurance illustration lookup data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.insurance-illustration-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/insurance/illustration/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: insurance-illustration-lookup
method: GET
Retrieves product details from the insurance product catalog, returning product name, available riders, state availability, and current rate class information.
naftiko: "0.5"
info:
label: "Insurance Product Catalog Lookup"
description: "Retrieves product details from the insurance product catalog, returning product name, available riders, state availability, and current rate class information."
tags:
- insurance
- product
capability:
exposes:
- type: mcp
namespace: product-info
port: 8080
tools:
- name: get-product-details
description: "Look up insurance product details from the product catalog."
inputParameters:
- name: product_code
in: body
type: string
description: "The insurance product code."
call: "product-catalog.get-product"
with:
product_code: "{{product_code}}"
outputParameters:
- name: product_name
type: string
mapping: "$.data.productName"
- name: riders
type: string
mapping: "$.data.availableRiders"
- name: state_availability
type: string
mapping: "$.data.availableStates"
- name: rate_classes
type: string
mapping: "$.data.rateClasses"
consumes:
- type: http
namespace: product-catalog
baseUri: "https://api.prudential.com/internal/products/v1"
authentication:
type: bearer
token: "$secrets.product_catalog_token"
resources:
- name: products
path: "/products/{{product_code}}"
inputParameters:
- name: product_code
in: path
operations:
- name: get-product
method: GET
Orchestrates insurance product pricing pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Insurance Product Pricing Pipeline"
description: "Orchestrates insurance product pricing pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- insurance
- prudential-financial
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: insurance-product-pricing-pipeline
description: "Orchestrates insurance product pricing pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/insurance"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/insurance"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/insurance"
operations:
- name: execute-3
method: POST
Retrieves investment account holdings lookup data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Investment Account Holdings Lookup"
description: "Retrieves investment account holdings lookup data from the Prudential Financial financial services and insurance systems."
tags:
- investment
- prudential-financial
- lookup
capability:
exposes:
- type: mcp
namespace: investment
port: 8080
tools:
- name: investment-account-holdings-lookup
description: "Retrieves investment account holdings lookup data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.investment-account-holdings-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/investment/account/holdings/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: investment-account-holdings-lookup
method: GET
Orchestrates investment fund launch pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Investment Fund Launch Pipeline"
description: "Orchestrates investment fund launch pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- investment
- prudential-financial
- jira
- teams
- workday
capability:
exposes:
- type: mcp
namespace: investment
port: 8080
tools:
- name: investment-fund-launch-pipeline
description: "Orchestrates investment fund launch pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "workday.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/investment"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/investment"
operations:
- name: execute-2
method: POST
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/investment"
operations:
- name: execute-3
method: POST
Retrieves the performance data for a PGIM investment fund, returning NAV, YTD return, 1-year return, 3-year return, and expense ratio from the fund data platform.
naftiko: "0.5"
info:
label: "Investment Fund Performance Lookup"
description: "Retrieves the performance data for a PGIM investment fund, returning NAV, YTD return, 1-year return, 3-year return, and expense ratio from the fund data platform."
tags:
- wealth
- investment
- pgim
capability:
exposes:
- type: mcp
namespace: fund-data
port: 8080
tools:
- name: get-fund-performance
description: "Look up performance metrics for a PGIM investment fund."
inputParameters:
- name: fund_ticker
in: body
type: string
description: "The fund ticker symbol."
call: "fund-platform.get-performance"
with:
ticker: "{{fund_ticker}}"
outputParameters:
- name: nav
type: string
mapping: "$.data.nav"
- name: ytd_return
type: string
mapping: "$.data.ytdReturn"
- name: one_year_return
type: string
mapping: "$.data.oneYearReturn"
- name: three_year_return
type: string
mapping: "$.data.threeYearReturn"
- name: expense_ratio
type: string
mapping: "$.data.expenseRatio"
consumes:
- type: http
namespace: fund-platform
baseUri: "https://api.pgim.com/fund-data/v2"
authentication:
type: bearer
token: "$secrets.pgim_fund_token"
resources:
- name: performance
path: "/funds/{{ticker}}/performance"
inputParameters:
- name: ticker
in: path
operations:
- name: get-performance
method: GET
Retrieves investment fund prospectus lookup data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Investment Fund Prospectus Lookup"
description: "Retrieves investment fund prospectus lookup data from the Prudential Financial financial services and insurance systems."
tags:
- investment
- prudential-financial
- lookup
capability:
exposes:
- type: mcp
namespace: investment
port: 8080
tools:
- name: investment-fund-prospectus-lookup
description: "Retrieves investment fund prospectus lookup data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.investment-fund-prospectus-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/investment/fund/prospectus/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: investment-fund-prospectus-lookup
method: GET
Orchestrates investment performance reporting pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Investment Performance Reporting Pipeline"
description: "Orchestrates investment performance reporting pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- investment
- prudential-financial
- bloomberg
- tableau
- prudential
capability:
exposes:
- type: mcp
namespace: investment
port: 8080
tools:
- name: investment-performance-reporting-pipeline
description: "Orchestrates investment performance reporting pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "bloomberg.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "tableau.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "prudential.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/investment"
operations:
- name: execute-1
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/investment"
operations:
- name: execute-2
method: POST
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/investment"
operations:
- name: execute-3
method: POST
Orchestrates investment portfolio risk rebalancer across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Investment Portfolio Risk Rebalancer"
description: "Orchestrates investment portfolio risk rebalancer across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- investment
- prudential-financial
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: investment
port: 8080
tools:
- name: investment-portfolio-risk-rebalancer
description: "Orchestrates investment portfolio risk rebalancer across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/investment"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/investment"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/investment"
operations:
- name: execute-3
method: POST
Orchestrates investment trade compliance pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Investment Trade Compliance Pipeline"
description: "Orchestrates investment trade compliance pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- investment
- prudential-financial
- prudential
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: investment
port: 8080
tools:
- name: investment-trade-compliance-pipeline
description: "Orchestrates investment trade compliance pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "prudential.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/investment"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/investment"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/investment"
operations:
- name: execute-3
method: POST
Executes a securities trade through the Charles River IMS order management system, returning trade confirmation, execution price, and settlement date.
naftiko: "0.5"
info:
label: "Investment Trade Execution"
description: "Executes a securities trade through the Charles River IMS order management system, returning trade confirmation, execution price, and settlement date."
tags:
- wealth
- investment
- charles-river
capability:
exposes:
- type: mcp
namespace: trade-execution
port: 8080
tools:
- name: execute-trade
description: "Execute a securities trade through Charles River IMS."
inputParameters:
- name: account_id
in: body
type: string
description: "The investment account identifier."
- name: security
in: body
type: string
description: "Security ticker symbol."
- name: side
in: body
type: string
description: "Trade side (buy, sell)."
- name: quantity
in: body
type: string
description: "Number of shares."
call: "charles-river.submit-order"
with:
account_id: "{{account_id}}"
security: "{{security}}"
side: "{{side}}"
quantity: "{{quantity}}"
outputParameters:
- name: order_id
type: string
mapping: "$.data.orderId"
- name: execution_price
type: string
mapping: "$.data.executionPrice"
- name: settlement_date
type: string
mapping: "$.data.settlementDate"
consumes:
- type: http
namespace: charles-river
baseUri: "https://crd.prudential.com/api/v2"
authentication:
type: bearer
token: "$secrets.charles_river_token"
resources:
- name: orders
path: "/orders"
operations:
- name: submit-order
method: POST
Creates an IT support incident in ServiceNow for Prudential employees, covering system access issues, application errors, and hardware requests.
naftiko: "0.5"
info:
label: "IT Incident Ticket Creation"
description: "Creates an IT support incident in ServiceNow for Prudential employees, covering system access issues, application errors, and hardware requests."
tags:
- it-support
- servicenow
capability:
exposes:
- type: mcp
namespace: it-support
port: 8080
tools:
- name: create-it-incident
description: "Submit an IT support incident to ServiceNow."
inputParameters:
- name: category
in: body
type: string
description: "IT category (access, application, hardware, network)."
- name: description
in: body
type: string
description: "Description of the issue."
- name: priority
in: body
type: string
description: "Priority (low, medium, high, critical)."
call: "servicenow.create-incident"
with:
category: "{{category}}"
short_description: "IT Support: {{category}}"
description: "{{description}}"
priority: "{{priority}}"
outputParameters:
- name: incident_number
type: string
mapping: "$.result.number"
consumes:
- type: http
namespace: servicenow
baseUri: "https://prudential.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
Retrieves a life insurance policy from the policy administration system by policy number, returning policyholder name, face amount, premium, cash value, and policy status.
naftiko: "0.5"
info:
label: "Life Insurance Policy Lookup"
description: "Retrieves a life insurance policy from the policy administration system by policy number, returning policyholder name, face amount, premium, cash value, and policy status."
tags:
- insurance
- policy
- life-insurance
capability:
exposes:
- type: mcp
namespace: life-policy
port: 8080
tools:
- name: get-life-policy
description: "Look up a life insurance policy by policy number."
inputParameters:
- name: policy_number
in: body
type: string
description: "The life insurance policy number."
call: "policy-admin.get-policy"
with:
policy_number: "{{policy_number}}"
outputParameters:
- name: policyholder
type: string
mapping: "$.data.insuredName"
- name: face_amount
type: string
mapping: "$.data.faceAmount"
- name: premium
type: string
mapping: "$.data.annualPremium"
- name: cash_value
type: string
mapping: "$.data.cashValue"
- name: status
type: string
mapping: "$.data.policyStatus"
consumes:
- type: http
namespace: policy-admin
baseUri: "https://api.prudential.com/internal/policy-admin/v2"
authentication:
type: bearer
token: "$secrets.policy_admin_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
Retrieves long term care benefit summary data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Long Term Care Benefit Summary"
description: "Retrieves long term care benefit summary data from the Prudential Financial financial services and insurance systems."
tags:
- long
- prudential-financial
- summary
capability:
exposes:
- type: mcp
namespace: long
port: 8080
tools:
- name: long-term-care-benefit-summary
description: "Retrieves long term care benefit summary data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.long-term-care-benefit-summary"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/long/term/care/benefit/summary/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: long-term-care-benefit-summary
method: GET
Retrieves the status of a long-term care insurance claim, returning claim state, benefit period remaining, daily benefit amount, and care provider.
naftiko: "0.5"
info:
label: "Long-Term Care Claim Status"
description: "Retrieves the status of a long-term care insurance claim, returning claim state, benefit period remaining, daily benefit amount, and care provider."
tags:
- insurance
- claims
- long-term-care
capability:
exposes:
- type: mcp
namespace: ltc-claims
port: 8080
tools:
- name: get-ltc-claim
description: "Look up a long-term care claim by claim number."
inputParameters:
- name: claim_number
in: body
type: string
description: "The LTC claim number."
call: "ltc-system.get-claim"
with:
claim_number: "{{claim_number}}"
outputParameters:
- name: status
type: string
mapping: "$.data.claimStatus"
- name: benefit_remaining
type: string
mapping: "$.data.benefitPeriodRemaining"
- name: daily_benefit
type: string
mapping: "$.data.dailyBenefitAmount"
- name: care_provider
type: string
mapping: "$.data.careProviderName"
consumes:
- type: http
namespace: ltc-system
baseUri: "https://api.prudential.com/internal/ltc/v2"
authentication:
type: bearer
token: "$secrets.ltc_token"
resources:
- name: claims
path: "/claims/{{claim_number}}"
inputParameters:
- name: claim_number
in: path
operations:
- name: get-claim
method: GET
Pulls the daily market risk exposure report from the PGIM risk platform, returning VaR, stress test results, and sector concentration for a given portfolio.
naftiko: "0.5"
info:
label: "Market Risk Report"
description: "Pulls the daily market risk exposure report from the PGIM risk platform, returning VaR, stress test results, and sector concentration for a given portfolio."
tags:
- wealth
- risk
- pgim
capability:
exposes:
- type: mcp
namespace: risk-management
port: 8080
tools:
- name: get-market-risk-report
description: "Retrieve daily market risk metrics for a portfolio from PGIM."
inputParameters:
- name: portfolio_id
in: body
type: string
description: "The portfolio identifier."
- name: as_of_date
in: body
type: string
description: "Report date in YYYY-MM-DD format."
call: "pgim-risk.get-daily-risk"
with:
portfolio_id: "{{portfolio_id}}"
date: "{{as_of_date}}"
outputParameters:
- name: var_95
type: string
mapping: "$.data.valueAtRisk95"
- name: stress_test_loss
type: string
mapping: "$.data.stressTestMaxLoss"
- name: sector_concentration
type: string
mapping: "$.data.sectorConcentration"
consumes:
- type: http
namespace: pgim-risk
baseUri: "https://api.pgim.com/risk/v2"
authentication:
type: bearer
token: "$secrets.pgim_risk_token"
resources:
- name: daily-risk
path: "/portfolios/{{portfolio_id}}/risk"
inputParameters:
- name: portfolio_id
in: path
- name: date
in: query
operations:
- name: get-daily-risk
method: GET
Processes a new life insurance application by running underwriting through the automated UW engine, ordering medical records from ExamOne, pulling MIB data, and creating the case in Salesforce for the agent.
naftiko: "0.5"
info:
label: "New Life Insurance Application Orchestrator"
description: "Processes a new life insurance application by running underwriting through the automated UW engine, ordering medical records from ExamOne, pulling MIB data, and creating the case in Salesforce for the agent."
tags:
- insurance
- underwriting
- examone
- mib
- salesforce
capability:
exposes:
- type: mcp
namespace: life-underwriting
port: 8080
tools:
- name: process-life-application
description: "Given applicant details, run automated UW, order med records, pull MIB, and create Salesforce case."
inputParameters:
- name: applicant_name
in: body
type: string
description: "Full name of the applicant."
- name: date_of_birth
in: body
type: string
description: "Date of birth in YYYY-MM-DD format."
- name: face_amount
in: body
type: string
description: "Requested face amount."
- name: agent_id
in: body
type: string
description: "The producing agent's Salesforce ID."
steps:
- name: run-auto-uw
type: call
call: "uw-engine.evaluate-application"
with:
applicant_name: "{{applicant_name}}"
dob: "{{date_of_birth}}"
face_amount: "{{face_amount}}"
- name: order-exam
type: call
call: "examone.order-exam"
with:
applicant_name: "{{applicant_name}}"
dob: "{{date_of_birth}}"
exam_type: "{{run-auto-uw.required_exam}}"
- name: pull-mib
type: call
call: "mib.check-codes"
with:
applicant_name: "{{applicant_name}}"
dob: "{{date_of_birth}}"
- name: create-case
type: call
call: "salesforce.create-case"
with:
subject: "Life app: {{applicant_name}} - ${{face_amount}}"
description: "Auto-UW decision: {{run-auto-uw.decision}}. Exam ordered: {{order-exam.order_id}}. MIB codes: {{pull-mib.codes}}."
owner_id: "{{agent_id}}"
consumes:
- type: http
namespace: uw-engine
baseUri: "https://api.prudential.com/internal/underwriting/v2"
authentication:
type: bearer
token: "$secrets.uw_engine_token"
resources:
- name: evaluations
path: "/evaluations"
operations:
- name: evaluate-application
method: POST
- type: http
namespace: examone
baseUri: "https://api.examone.com/v1"
authentication:
type: bearer
token: "$secrets.examone_token"
resources:
- name: exams
path: "/orders"
operations:
- name: order-exam
method: POST
- type: http
namespace: mib
baseUri: "https://api.mib.com/v1"
authentication:
type: bearer
token: "$secrets.mib_token"
resources:
- name: codes
path: "/code-checks"
operations:
- name: check-codes
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: cases
path: "/sobjects/Case"
operations:
- name: create-case
method: POST
Calculates a pension benefit estimate for a plan participant based on years of service, final average salary, and benefit formula.
naftiko: "0.5"
info:
label: "Pension Benefit Calculation"
description: "Calculates a pension benefit estimate for a plan participant based on years of service, final average salary, and benefit formula."
tags:
- retirement
- pension
capability:
exposes:
- type: mcp
namespace: pension
port: 8080
tools:
- name: calculate-pension-benefit
description: "Calculate estimated pension benefit for a participant."
inputParameters:
- name: participant_id
in: body
type: string
description: "The participant identifier."
- name: plan_id
in: body
type: string
description: "The pension plan identifier."
- name: retirement_date
in: body
type: string
description: "Projected retirement date."
call: "pension-system.calculate-benefit"
with:
participant_id: "{{participant_id}}"
plan_id: "{{plan_id}}"
retirement_date: "{{retirement_date}}"
outputParameters:
- name: monthly_benefit
type: string
mapping: "$.data.monthlyBenefit"
- name: years_of_service
type: string
mapping: "$.data.yearsOfService"
- name: final_avg_salary
type: string
mapping: "$.data.finalAverageSalary"
consumes:
- type: http
namespace: pension-system
baseUri: "https://api.prudential.com/internal/pension/v2"
authentication:
type: bearer
token: "$secrets.pension_token"
resources:
- name: calculations
path: "/benefit-calculations"
operations:
- name: calculate-benefit
method: POST
Orchestrates pension benefit estimation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Pension Benefit Estimation Pipeline"
description: "Orchestrates pension benefit estimation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- pension
- prudential-financial
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: pension
port: 8080
tools:
- name: pension-benefit-estimation-pipeline
description: "Orchestrates pension benefit estimation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/pension"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/pension"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/pension"
operations:
- name: execute-3
method: POST
Retrieves a real estate property valuation from the PGIM Real Estate platform, returning property address, current appraised value, cap rate, occupancy rate, and net operating income.
naftiko: "0.5"
info:
label: "PGIM Real Estate Property Valuation"
description: "Retrieves a real estate property valuation from the PGIM Real Estate platform, returning property address, current appraised value, cap rate, occupancy rate, and net operating income."
tags:
- wealth
- real-estate
- pgim
capability:
exposes:
- type: mcp
namespace: real-estate
port: 8080
tools:
- name: get-property-valuation
description: "Look up a real estate property valuation from PGIM Real Estate."
inputParameters:
- name: property_id
in: body
type: string
description: "The PGIM Real Estate property identifier."
call: "pgim-re.get-valuation"
with:
property_id: "{{property_id}}"
outputParameters:
- name: address
type: string
mapping: "$.data.address"
- name: appraised_value
type: string
mapping: "$.data.appraisedValue"
- name: cap_rate
type: string
mapping: "$.data.capRate"
- name: occupancy
type: string
mapping: "$.data.occupancyRate"
- name: noi
type: string
mapping: "$.data.netOperatingIncome"
consumes:
- type: http
namespace: pgim-re
baseUri: "https://api.pgim.com/real-estate/v2"
authentication:
type: bearer
token: "$secrets.pgim_re_token"
resources:
- name: valuations
path: "/properties/{{property_id}}/valuation"
inputParameters:
- name: property_id
in: path
operations:
- name: get-valuation
method: GET
Processes a beneficiary change request by updating the policy record, generating a DocuSign envelope for signature, and sending a confirmation email to the policyholder via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Policy Beneficiary Change Orchestrator"
description: "Processes a beneficiary change request by updating the policy record, generating a DocuSign envelope for signature, and sending a confirmation email to the policyholder via Salesforce Marketing Cloud."
tags:
- insurance
- policy
- docusign
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: policy-changes
port: 8080
tools:
- name: change-beneficiary
description: "Given a policy number and new beneficiary details, update the policy, send DocuSign for signature, and confirm."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: new_beneficiary_name
in: body
type: string
description: "Name of the new beneficiary."
- name: new_beneficiary_relationship
in: body
type: string
description: "Relationship to the insured."
- name: new_beneficiary_percentage
in: body
type: string
description: "Beneficiary percentage (0-100)."
steps:
- name: update-policy
type: call
call: "policy-admin.update-beneficiary"
with:
policy_number: "{{policy_number}}"
name: "{{new_beneficiary_name}}"
relationship: "{{new_beneficiary_relationship}}"
percentage: "{{new_beneficiary_percentage}}"
- name: send-docusign
type: call
call: "docusign.create-envelope"
with:
template_id: "beneficiary_change"
signer_email: "{{update-policy.insured_email}}"
signer_name: "{{update-policy.insured_name}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "beneficiary_change_confirmation"
to: "{{update-policy.insured_email}}"
merge_name: "{{update-policy.insured_name}}"
merge_beneficiary: "{{new_beneficiary_name}}"
consumes:
- type: http
namespace: policy-admin
baseUri: "https://api.prudential.com/internal/policy-admin/v2"
authentication:
type: bearer
token: "$secrets.policy_admin_token"
resources:
- name: beneficiaries
path: "/policies/{{policy_number}}/beneficiaries"
inputParameters:
- name: policy_number
in: path
operations:
- name: update-beneficiary
method: PUT
- type: http
namespace: docusign
baseUri: "https://na4.docusign.net/restapi/v2.1"
authentication:
type: bearer
token: "$secrets.docusign_token"
resources:
- name: envelopes
path: "/accounts/{{account_id}}/envelopes"
inputParameters:
- name: account_id
in: path
operations:
- name: create-envelope
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Orchestrates policy conversion eligibility pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Policy Conversion Eligibility Pipeline"
description: "Orchestrates policy conversion eligibility pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- policy
- prudential-financial
- workday
- bloomberg
- tableau
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-conversion-eligibility-pipeline
description: "Orchestrates policy conversion eligibility pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "workday.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "bloomberg.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "tableau.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/policy"
operations:
- name: execute-1
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/policy"
operations:
- name: execute-2
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/policy"
operations:
- name: execute-3
method: POST
Retrieves policy dividend history data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Policy Dividend History"
description: "Retrieves policy dividend history data from the Prudential Financial financial services and insurance systems."
tags:
- policy
- prudential-financial
- history
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-dividend-history
description: "Retrieves policy dividend history data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.policy-dividend-history"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/policy/dividend/history/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: policy-dividend-history
method: GET
Processes a policy loan against a permanent life insurance policy's cash value, verifying the available loan amount and creating the disbursement.
naftiko: "0.5"
info:
label: "Policy Loan Request Processing"
description: "Processes a policy loan against a permanent life insurance policy's cash value, verifying the available loan amount and creating the disbursement."
tags:
- insurance
- policy
- finance
capability:
exposes:
- type: mcp
namespace: policy-loans
port: 8080
tools:
- name: process-policy-loan
description: "Process a policy loan request against the cash value of a life insurance policy."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: loan_amount
in: body
type: string
description: "Requested loan amount."
call: "policy-admin.create-loan"
with:
policy_number: "{{policy_number}}"
amount: "{{loan_amount}}"
outputParameters:
- name: loan_id
type: string
mapping: "$.data.loanId"
- name: interest_rate
type: string
mapping: "$.data.interestRate"
- name: remaining_cash_value
type: string
mapping: "$.data.remainingCashValue"
consumes:
- type: http
namespace: policy-admin
baseUri: "https://api.prudential.com/internal/policy-admin/v2"
authentication:
type: bearer
token: "$secrets.policy_admin_token"
resources:
- name: loans
path: "/policies/{{policy_number}}/loans"
inputParameters:
- name: policy_number
in: path
operations:
- name: create-loan
method: POST
Retrieves policy premium projection data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Policy Premium Projection"
description: "Retrieves policy premium projection data from the Prudential Financial financial services and insurance systems."
tags:
- policy
- prudential-financial
- projection
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-premium-projection
description: "Retrieves policy premium projection data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.policy-premium-projection"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/policy/premium/projection/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: policy-premium-projection
method: GET
Orchestrates policy reinstatement pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Policy Reinstatement Pipeline"
description: "Orchestrates policy reinstatement pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- policy
- prudential-financial
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-reinstatement-pipeline
description: "Orchestrates policy reinstatement pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/policy"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/policy"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/policy"
operations:
- name: execute-3
method: POST
Orchestrates policy underwriting decision pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Policy Underwriting Decision Pipeline"
description: "Orchestrates policy underwriting decision pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- policy
- prudential-financial
- jira
- teams
- workday
capability:
exposes:
- type: mcp
namespace: policy
port: 8080
tools:
- name: policy-underwriting-decision-pipeline
description: "Orchestrates policy underwriting decision pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "workday.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/policy"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/policy"
operations:
- name: execute-2
method: POST
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/policy"
operations:
- name: execute-3
method: POST
Retrieves policyholder service history data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Policyholder Service History"
description: "Retrieves policyholder service history data from the Prudential Financial financial services and insurance systems."
tags:
- policyholder
- prudential-financial
- history
capability:
exposes:
- type: mcp
namespace: policyholder
port: 8080
tools:
- name: policyholder-service-history
description: "Retrieves policyholder service history data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.policyholder-service-history"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/policyholder/service/history/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: policyholder-service-history
method: GET
Rebalances a client's investment portfolio by comparing current allocations from Charles River IMS against the target model, generating trade orders, and notifying the advisor in Salesforce with the rebalance summary.
naftiko: "0.5"
info:
label: "Portfolio Rebalancing Orchestrator"
description: "Rebalances a client's investment portfolio by comparing current allocations from Charles River IMS against the target model, generating trade orders, and notifying the advisor in Salesforce with the rebalance summary."
tags:
- wealth
- investment
- charles-river
- salesforce
capability:
exposes:
- type: mcp
namespace: portfolio-mgmt
port: 8080
tools:
- name: rebalance-portfolio
description: "Given a client account ID and target model, compare allocations, generate trades, and notify the advisor."
inputParameters:
- name: account_id
in: body
type: string
description: "The investment account identifier."
- name: model_id
in: body
type: string
description: "The target allocation model identifier."
steps:
- name: get-current-positions
type: call
call: "charles-river.get-positions"
with:
account_id: "{{account_id}}"
- name: get-target-model
type: call
call: "charles-river.get-model"
with:
model_id: "{{model_id}}"
- name: generate-trades
type: call
call: "charles-river.create-rebalance-orders"
with:
account_id: "{{account_id}}"
current_positions: "{{get-current-positions.positions}}"
target_allocations: "{{get-target-model.allocations}}"
- name: notify-advisor
type: call
call: "salesforce.create-task"
with:
subject: "Portfolio rebalanced: {{account_id}}"
description: "{{generate-trades.trade_count}} trades generated. Net cash impact: ${{generate-trades.net_cash}}."
related_to: "{{account_id}}"
consumes:
- type: http
namespace: charles-river
baseUri: "https://crd.prudential.com/api/v2"
authentication:
type: bearer
token: "$secrets.charles_river_token"
resources:
- name: positions
path: "/accounts/{{account_id}}/positions"
inputParameters:
- name: account_id
in: path
operations:
- name: get-positions
method: GET
- name: models
path: "/models/{{model_id}}"
inputParameters:
- name: model_id
in: path
operations:
- name: get-model
method: GET
- name: rebalance
path: "/accounts/{{account_id}}/rebalance"
inputParameters:
- name: account_id
in: path
operations:
- name: create-rebalance-orders
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: tasks
path: "/sobjects/Task"
operations:
- name: create-task
method: POST
Processes a life insurance premium payment through the billing system, accepting payment details and returning confirmation and updated account status.
naftiko: "0.5"
info:
label: "Premium Payment Processing"
description: "Processes a life insurance premium payment through the billing system, accepting payment details and returning confirmation and updated account status."
tags:
- insurance
- billing
capability:
exposes:
- type: mcp
namespace: premium-billing
port: 8080
tools:
- name: process-premium-payment
description: "Process a premium payment for a life insurance policy."
inputParameters:
- name: policy_number
in: body
type: string
description: "The policy number."
- name: amount
in: body
type: string
description: "Payment amount."
- name: payment_method
in: body
type: string
description: "Payment method (ach, credit_card, check)."
call: "billing-system.process-payment"
with:
policy: "{{policy_number}}"
amount: "{{amount}}"
method: "{{payment_method}}"
outputParameters:
- name: confirmation
type: string
mapping: "$.data.confirmationNumber"
- name: next_due_date
type: string
mapping: "$.data.nextPremiumDueDate"
consumes:
- type: http
namespace: billing-system
baseUri: "https://api.prudential.com/internal/billing/v2"
authentication:
type: bearer
token: "$secrets.billing_token"
resources:
- name: payments
path: "/payments"
operations:
- name: process-payment
method: POST
Compiles quarterly earnings data by pulling financial results from SAP, investment performance from PGIM, and policy metrics from the admin systems, then pushes the compiled data to Power BI and notifies IR team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Quarterly Earnings Reporting Orchestrator"
description: "Compiles quarterly earnings data by pulling financial results from SAP, investment performance from PGIM, and policy metrics from the admin systems, then pushes the compiled data to Power BI and notifies IR team in Microsoft Teams."
tags:
- finance
- reporting
- sap
- pgim
- power-bi
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: earnings-reporting
port: 8080
tools:
- name: compile-quarterly-earnings
description: "Given a quarter, aggregate financial, investment, and policy data, push to Power BI, and notify the IR team."
inputParameters:
- name: quarter
in: body
type: string
description: "Quarter in YYYY-Q# format."
steps:
- name: get-financials
type: call
call: "sap.get-quarterly-results"
with:
period: "{{quarter}}"
- name: get-investment-performance
type: call
call: "pgim-platform.get-aum-summary"
with:
period: "{{quarter}}"
- name: push-to-powerbi
type: call
call: "powerbi.push-rows"
with:
dataset_id: "quarterly_earnings"
rows_revenue: "{{get-financials.total_revenue}}"
rows_net_income: "{{get-financials.net_income}}"
rows_aum: "{{get-investment-performance.total_aum}}"
- name: notify-ir
type: call
call: "msteams.send-message"
with:
channel_id: "investor-relations"
text: "Q{{quarter}} earnings data compiled. Revenue: ${{get-financials.total_revenue}}M, Net Income: ${{get-financials.net_income}}M, AUM: ${{get-investment-performance.total_aum}}B. Dashboard updated."
consumes:
- type: http
namespace: sap
baseUri: "https://prudential-s4.sap.com/sap/opu/odata/sap/FI_GL_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: results
path: "/A_GLAccountBalance"
inputParameters:
- name: period
in: query
operations:
- name: get-quarterly-results
method: GET
- type: http
namespace: pgim-platform
baseUri: "https://api.pgim.com/platform/v2"
authentication:
type: bearer
token: "$secrets.pgim_platform_token"
resources:
- name: aum
path: "/aum-summary"
inputParameters:
- name: period
in: query
operations:
- name: get-aum-summary
method: GET
- 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}}/tables/Earnings/rows"
inputParameters:
- name: dataset_id
in: path
operations:
- name: push-rows
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: 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
Orchestrates regulatory exam preparation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Regulatory Exam Preparation Pipeline"
description: "Orchestrates regulatory exam preparation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- regulatory
- prudential-financial
- jira
- teams
- workday
capability:
exposes:
- type: mcp
namespace: regulatory
port: 8080
tools:
- name: regulatory-exam-preparation-pipeline
description: "Orchestrates regulatory exam preparation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "workday.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/regulatory"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/regulatory"
operations:
- name: execute-2
method: POST
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/regulatory"
operations:
- name: execute-3
method: POST
Orchestrates regulatory filing automation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Regulatory Filing Automation Pipeline"
description: "Orchestrates regulatory filing automation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- regulatory
- prudential-financial
- workday
- bloomberg
- tableau
capability:
exposes:
- type: mcp
namespace: regulatory
port: 8080
tools:
- name: regulatory-filing-automation-pipeline
description: "Orchestrates regulatory filing automation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "workday.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "bloomberg.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "tableau.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: workday
baseUri: "https://wd5-impl.workday.com/prudential/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workday-resource
path: "/api/regulatory"
operations:
- name: execute-1
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/regulatory"
operations:
- name: execute-2
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/regulatory"
operations:
- name: execute-3
method: POST
Queries the status of an insurance regulatory filing from the compliance tracking system, returning filing type, state, status, submission date, and approval date.
naftiko: "0.5"
info:
label: "Regulatory Filing Status Check"
description: "Queries the status of an insurance regulatory filing from the compliance tracking system, returning filing type, state, status, submission date, and approval date."
tags:
- compliance
- regulatory
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: get-filing-status
description: "Check the status of a regulatory filing."
inputParameters:
- name: filing_id
in: body
type: string
description: "The regulatory filing identifier."
call: "compliance-system.get-filing"
with:
filing_id: "{{filing_id}}"
outputParameters:
- name: filing_type
type: string
mapping: "$.data.filingType"
- name: state
type: string
mapping: "$.data.state"
- name: status
type: string
mapping: "$.data.status"
- name: submission_date
type: string
mapping: "$.data.submissionDate"
- name: approval_date
type: string
mapping: "$.data.approvalDate"
consumes:
- type: http
namespace: compliance-system
baseUri: "https://api.prudential.com/internal/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: filings
path: "/filings/{{filing_id}}"
inputParameters:
- name: filing_id
in: path
operations:
- name: get-filing
method: GET
Retrieves reinsurance treaty details from the reinsurance management system, returning treaty type, retention limit, ceded percentage, and reinsurer name.
naftiko: "0.5"
info:
label: "Reinsurance Treaty Lookup"
description: "Retrieves reinsurance treaty details from the reinsurance management system, returning treaty type, retention limit, ceded percentage, and reinsurer name."
tags:
- insurance
- reinsurance
- compliance
capability:
exposes:
- type: mcp
namespace: reinsurance
port: 8080
tools:
- name: get-treaty-details
description: "Look up reinsurance treaty details by treaty number."
inputParameters:
- name: treaty_number
in: body
type: string
description: "The reinsurance treaty number."
call: "reinsurance-system.get-treaty"
with:
treaty_number: "{{treaty_number}}"
outputParameters:
- name: treaty_type
type: string
mapping: "$.data.treatyType"
- name: retention_limit
type: string
mapping: "$.data.retentionLimit"
- name: ceded_percentage
type: string
mapping: "$.data.cededPercentage"
- name: reinsurer
type: string
mapping: "$.data.reinsurerName"
consumes:
- type: http
namespace: reinsurance-system
baseUri: "https://api.prudential.com/internal/reinsurance/v1"
authentication:
type: bearer
token: "$secrets.reinsurance_token"
resources:
- name: treaties
path: "/treaties/{{treaty_number}}"
inputParameters:
- name: treaty_number
in: path
operations:
- name: get-treaty
method: GET
Retrieves a participant's retirement account balance from the PGIM recordkeeping system, returning total balance, vested balance, investment allocations, and last contribution date.
naftiko: "0.5"
info:
label: "Retirement Account Balance Lookup"
description: "Retrieves a participant's retirement account balance from the PGIM recordkeeping system, returning total balance, vested balance, investment allocations, and last contribution date."
tags:
- retirement
- account
- pgim
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: get-retirement-balance
description: "Look up a retirement plan participant's account balance."
inputParameters:
- name: participant_id
in: body
type: string
description: "The participant identifier."
- name: plan_id
in: body
type: string
description: "The retirement plan identifier."
call: "pgim-rk.get-account"
with:
participant_id: "{{participant_id}}"
plan_id: "{{plan_id}}"
outputParameters:
- name: total_balance
type: string
mapping: "$.data.totalBalance"
- name: vested_balance
type: string
mapping: "$.data.vestedBalance"
- name: allocations
type: string
mapping: "$.data.investmentAllocations"
- name: last_contribution
type: string
mapping: "$.data.lastContributionDate"
consumes:
- type: http
namespace: pgim-rk
baseUri: "https://api.prudential.com/internal/retirement/v2"
authentication:
type: bearer
token: "$secrets.pgim_rk_token"
resources:
- name: accounts
path: "/plans/{{plan_id}}/participants/{{participant_id}}/account"
inputParameters:
- name: plan_id
in: path
- name: participant_id
in: path
operations:
- name: get-account
method: GET
Orchestrates retirement distribution tax pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Retirement Distribution Tax Pipeline"
description: "Orchestrates retirement distribution tax pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- retirement
- prudential-financial
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: retirement-distribution-tax-pipeline
description: "Orchestrates retirement distribution tax pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/retirement"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://prudential.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/retirement"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/retirement"
operations:
- name: execute-3
method: POST
Launches a retirement plan enrollment campaign by pulling eligible employees from the plan sponsor's HR feed, sending enrollment invitation emails via Salesforce Marketing Cloud, and tracking enrollment progress in the recordkeeping system.
naftiko: "0.5"
info:
label: "Retirement Enrollment Campaign Orchestrator"
description: "Launches a retirement plan enrollment campaign by pulling eligible employees from the plan sponsor's HR feed, sending enrollment invitation emails via Salesforce Marketing Cloud, and tracking enrollment progress in the recordkeeping system."
tags:
- retirement
- enrollment
- pgim
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: retirement-enrollment
port: 8080
tools:
- name: launch-enrollment-campaign
description: "Given a plan ID and enrollment window, pull eligible employees, send invitations, and track progress."
inputParameters:
- name: plan_id
in: body
type: string
description: "The retirement plan identifier."
- name: enrollment_start
in: body
type: string
description: "Enrollment start date in YYYY-MM-DD format."
- name: enrollment_end
in: body
type: string
description: "Enrollment end date in YYYY-MM-DD format."
steps:
- name: get-eligible-employees
type: call
call: "pgim-rk.get-eligible-participants"
with:
plan_id: "{{plan_id}}"
- name: send-invitations
type: call
call: "sfmc.send-batch-email"
with:
template: "enrollment_invitation"
recipients: "{{get-eligible-employees.emails}}"
merge_plan: "{{plan_id}}"
merge_start: "{{enrollment_start}}"
merge_end: "{{enrollment_end}}"
- name: create-tracking
type: call
call: "pgim-rk.create-enrollment-window"
with:
plan_id: "{{plan_id}}"
start_date: "{{enrollment_start}}"
end_date: "{{enrollment_end}}"
eligible_count: "{{get-eligible-employees.count}}"
consumes:
- type: http
namespace: pgim-rk
baseUri: "https://api.prudential.com/internal/retirement/v2"
authentication:
type: bearer
token: "$secrets.pgim_rk_token"
resources:
- name: eligible
path: "/plans/{{plan_id}}/eligible-participants"
inputParameters:
- name: plan_id
in: path
operations:
- name: get-eligible-participants
method: GET
- name: enrollment-windows
path: "/plans/{{plan_id}}/enrollment-windows"
inputParameters:
- name: plan_id
in: path
operations:
- name: create-enrollment-window
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: batch-emails
path: "/messaging/v1/email/messages/batch"
operations:
- name: send-batch-email
method: POST
Orchestrates retirement enrollment orchestrator across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Retirement Enrollment Orchestrator"
description: "Orchestrates retirement enrollment orchestrator across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- retirement
- prudential-financial
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: retirement-enrollment-orchestrator
description: "Orchestrates retirement enrollment orchestrator across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/retirement"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/retirement"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/retirement"
operations:
- name: execute-3
method: POST
Calculates a projected retirement income estimate for a plan participant based on current balance, contribution rate, expected returns, and retirement age.
naftiko: "0.5"
info:
label: "Retirement Income Projection"
description: "Calculates a projected retirement income estimate for a plan participant based on current balance, contribution rate, expected returns, and retirement age."
tags:
- retirement
- planning
- pgim
capability:
exposes:
- type: mcp
namespace: retirement-planning
port: 8080
tools:
- name: project-retirement-income
description: "Calculate projected retirement income for a participant."
inputParameters:
- name: participant_id
in: body
type: string
description: "The participant identifier."
- name: plan_id
in: body
type: string
description: "The retirement plan identifier."
- name: retirement_age
in: body
type: string
description: "Expected retirement age."
call: "pgim-rk.project-income"
with:
participant_id: "{{participant_id}}"
plan_id: "{{plan_id}}"
retirement_age: "{{retirement_age}}"
outputParameters:
- name: projected_monthly_income
type: string
mapping: "$.data.projectedMonthlyIncome"
- name: projected_balance
type: string
mapping: "$.data.projectedBalanceAtRetirement"
- name: income_replacement_ratio
type: string
mapping: "$.data.incomeReplacementRatio"
consumes:
- type: http
namespace: pgim-rk
baseUri: "https://api.prudential.com/internal/retirement/v2"
authentication:
type: bearer
token: "$secrets.pgim_rk_token"
resources:
- name: projections
path: "/plans/{{plan_id}}/participants/{{participant_id}}/income-projection"
inputParameters:
- name: plan_id
in: path
- name: participant_id
in: path
operations:
- name: project-income
method: POST
Orchestrates retirement plan audit pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Retirement Plan Audit Pipeline"
description: "Orchestrates retirement plan audit pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- retirement
- prudential-financial
- tableau
- prudential
- salesforce
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: retirement-plan-audit-pipeline
description: "Orchestrates retirement plan audit pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "tableau.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "prudential.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/retirement"
operations:
- name: execute-1
method: POST
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/retirement"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/retirement"
operations:
- name: execute-3
method: POST
Runs annual retirement plan compliance tests by pulling plan data from the recordkeeping system, running ADP/ACP tests through the compliance engine, and filing results with the plan sponsor via Salesforce and SharePoint.
naftiko: "0.5"
info:
label: "Retirement Plan Compliance Testing Orchestrator"
description: "Runs annual retirement plan compliance tests by pulling plan data from the recordkeeping system, running ADP/ACP tests through the compliance engine, and filing results with the plan sponsor via Salesforce and SharePoint."
tags:
- retirement
- compliance
- pgim
- salesforce
- sharepoint
capability:
exposes:
- type: mcp
namespace: plan-compliance
port: 8080
tools:
- name: run-compliance-tests
description: "Given a plan ID and test year, pull plan data, run ADP/ACP tests, and share results."
inputParameters:
- name: plan_id
in: body
type: string
description: "The retirement plan identifier."
- name: test_year
in: body
type: string
description: "The compliance testing year."
steps:
- name: get-plan-data
type: call
call: "pgim-rk.get-plan-census"
with:
plan_id: "{{plan_id}}"
year: "{{test_year}}"
- name: run-tests
type: call
call: "compliance-engine.run-adp-acp"
with:
plan_id: "{{plan_id}}"
census_data: "{{get-plan-data.census}}"
year: "{{test_year}}"
- name: upload-results
type: call
call: "sharepoint.upload-file"
with:
site_id: "retirement_compliance"
file_path: "ComplianceTests/{{plan_id}}/{{test_year}}_results.pdf"
content: "{{run-tests.report}}"
- name: notify-sponsor
type: call
call: "salesforce.create-task"
with:
subject: "Plan {{plan_id}} compliance test results for {{test_year}}"
description: "ADP test: {{run-tests.adp_result}}. ACP test: {{run-tests.acp_result}}. Report: {{upload-results.url}}"
consumes:
- type: http
namespace: pgim-rk
baseUri: "https://api.prudential.com/internal/retirement/v2"
authentication:
type: bearer
token: "$secrets.pgim_rk_token"
resources:
- name: census
path: "/plans/{{plan_id}}/census"
inputParameters:
- name: plan_id
in: path
- name: year
in: query
operations:
- name: get-plan-census
method: GET
- type: http
namespace: compliance-engine
baseUri: "https://api.prudential.com/internal/plan-compliance/v1"
authentication:
type: bearer
token: "$secrets.plan_compliance_token"
resources:
- name: tests
path: "/adp-acp-tests"
operations:
- name: run-adp-acp
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: files
path: "/{{site_id}}/drive/root:/{{file_path}}:/content"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: tasks
path: "/sobjects/Task"
operations:
- name: create-task
method: POST
Orchestrates retirement plan correction pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Retirement Plan Correction Pipeline"
description: "Orchestrates retirement plan correction pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- retirement
- prudential-financial
- prudential
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: retirement-plan-correction-pipeline
description: "Orchestrates retirement plan correction pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "prudential.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/retirement"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/retirement"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/retirement"
operations:
- name: execute-3
method: POST
Processes a retirement plan distribution request by verifying the participant's eligibility, calculating tax withholding, creating the payment in the recordkeeping system, and sending a confirmation via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Retirement Plan Distribution Orchestrator"
description: "Processes a retirement plan distribution request by verifying the participant's eligibility, calculating tax withholding, creating the payment in the recordkeeping system, and sending a confirmation via Salesforce Marketing Cloud."
tags:
- retirement
- distribution
- pgim
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: retirement-distributions
port: 8080
tools:
- name: process-distribution
description: "Given a participant ID, plan ID, and distribution amount, verify eligibility, calculate taxes, process payment, and send confirmation."
inputParameters:
- name: participant_id
in: body
type: string
description: "The participant identifier."
- name: plan_id
in: body
type: string
description: "The retirement plan identifier."
- name: distribution_amount
in: body
type: string
description: "The requested distribution amount."
- name: distribution_type
in: body
type: string
description: "Type of distribution (hardship, retirement, rollover, rmd)."
steps:
- name: verify-eligibility
type: call
call: "pgim-rk.check-eligibility"
with:
participant_id: "{{participant_id}}"
plan_id: "{{plan_id}}"
type: "{{distribution_type}}"
- name: calculate-taxes
type: call
call: "tax-engine.calculate-withholding"
with:
amount: "{{distribution_amount}}"
type: "{{distribution_type}}"
participant_state: "{{verify-eligibility.state}}"
- name: process-payment
type: call
call: "pgim-rk.create-distribution"
with:
participant_id: "{{participant_id}}"
plan_id: "{{plan_id}}"
gross_amount: "{{distribution_amount}}"
federal_withholding: "{{calculate-taxes.federal}}"
state_withholding: "{{calculate-taxes.state}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "distribution_confirmation"
to: "{{verify-eligibility.email}}"
merge_amount: "{{distribution_amount}}"
merge_net: "{{process-payment.net_amount}}"
consumes:
- type: http
namespace: pgim-rk
baseUri: "https://api.prudential.com/internal/retirement/v2"
authentication:
type: bearer
token: "$secrets.pgim_rk_token"
resources:
- name: eligibility
path: "/plans/{{plan_id}}/participants/{{participant_id}}/eligibility"
inputParameters:
- name: plan_id
in: path
- name: participant_id
in: path
operations:
- name: check-eligibility
method: GET
- name: distributions
path: "/plans/{{plan_id}}/participants/{{participant_id}}/distributions"
inputParameters:
- name: plan_id
in: path
- name: participant_id
in: path
operations:
- name: create-distribution
method: POST
- type: http
namespace: tax-engine
baseUri: "https://api.prudential.com/internal/tax/v1"
authentication:
type: bearer
token: "$secrets.tax_engine_token"
resources:
- name: withholding
path: "/withholding-calculations"
operations:
- name: calculate-withholding
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Retrieves retirement plan fee disclosure data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Retirement Plan Fee Disclosure"
description: "Retrieves retirement plan fee disclosure data from the Prudential Financial financial services and insurance systems."
tags:
- retirement
- prudential-financial
- disclosure
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: retirement-plan-fee-disclosure
description: "Retrieves retirement plan fee disclosure data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.retirement-plan-fee-disclosure"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/retirement/plan/fee/disclosure/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: retirement-plan-fee-disclosure
method: GET
Orchestrates retirement plan forfeit reallocation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Retirement Plan Forfeit Reallocation Pipeline"
description: "Orchestrates retirement plan forfeit reallocation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- retirement
- prudential-financial
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: retirement-plan-forfeit-reallocation-pipeline
description: "Orchestrates retirement plan forfeit reallocation pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/retirement"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://prudential.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/retirement"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://prudential.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/retirement"
operations:
- name: execute-3
method: POST
Retrieves retirement plan hardship eligibility data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Retirement Plan Hardship Eligibility"
description: "Retrieves retirement plan hardship eligibility data from the Prudential Financial financial services and insurance systems."
tags:
- retirement
- prudential-financial
- eligibility
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: retirement-plan-hardship-eligibility
description: "Retrieves retirement plan hardship eligibility data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.retirement-plan-hardship-eligibility"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/retirement/plan/hardship/eligibility/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: retirement-plan-hardship-eligibility
method: GET
Processes a 401(k) plan loan by checking loan eligibility and maximum, creating the loan in the recordkeeping system, and sending confirmation to the participant.
naftiko: "0.5"
info:
label: "Retirement Plan Loan Processing"
description: "Processes a 401(k) plan loan by checking loan eligibility and maximum, creating the loan in the recordkeeping system, and sending confirmation to the participant."
tags:
- retirement
- loans
- pgim
capability:
exposes:
- type: mcp
namespace: retirement-loans
port: 8080
tools:
- name: process-plan-loan
description: "Given participant and loan details, check eligibility, create loan, and confirm."
inputParameters:
- name: participant_id
in: body
type: string
description: "The participant identifier."
- name: plan_id
in: body
type: string
description: "The retirement plan identifier."
- name: loan_amount
in: body
type: string
description: "Requested loan amount."
steps:
- name: check-eligibility
type: call
call: "pgim-rk.check-loan-eligibility"
with:
participant_id: "{{participant_id}}"
plan_id: "{{plan_id}}"
- name: create-loan
type: call
call: "pgim-rk.create-plan-loan"
with:
participant_id: "{{participant_id}}"
plan_id: "{{plan_id}}"
amount: "{{loan_amount}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "plan_loan_confirmation"
to: "{{check-eligibility.email}}"
merge_amount: "{{loan_amount}}"
merge_rate: "{{create-loan.interest_rate}}"
consumes:
- type: http
namespace: pgim-rk
baseUri: "https://api.prudential.com/internal/retirement/v2"
authentication:
type: bearer
token: "$secrets.pgim_rk_token"
resources:
- name: loan-eligibility
path: "/plans/{{plan_id}}/participants/{{participant_id}}/loan-eligibility"
inputParameters:
- name: plan_id
in: path
- name: participant_id
in: path
operations:
- name: check-loan-eligibility
method: GET
- name: loans
path: "/plans/{{plan_id}}/participants/{{participant_id}}/loans"
inputParameters:
- name: plan_id
in: path
- name: participant_id
in: path
operations:
- name: create-plan-loan
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Processes a 401(k) rollover by verifying the source plan, initiating the transfer through the custodian, updating the participant's account in the recordkeeping system, and sending confirmation via email.
naftiko: "0.5"
info:
label: "Retirement Plan Rollover Orchestrator"
description: "Processes a 401(k) rollover by verifying the source plan, initiating the transfer through the custodian, updating the participant's account in the recordkeeping system, and sending confirmation via email."
tags:
- retirement
- rollover
- pgim
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: retirement-rollovers
port: 8080
tools:
- name: process-rollover
description: "Given participant and source plan details, verify, initiate transfer, update account, and confirm."
inputParameters:
- name: participant_id
in: body
type: string
description: "The participant identifier."
- name: target_plan_id
in: body
type: string
description: "The Prudential target plan identifier."
- name: source_plan_name
in: body
type: string
description: "Name of the source plan/provider."
- name: rollover_amount
in: body
type: string
description: "Amount to roll over."
steps:
- name: verify-participant
type: call
call: "pgim-rk.get-account"
with:
participant_id: "{{participant_id}}"
plan_id: "{{target_plan_id}}"
- name: initiate-transfer
type: call
call: "custodian.initiate-rollover"
with:
target_account: "{{participant_id}}"
source_plan: "{{source_plan_name}}"
amount: "{{rollover_amount}}"
- name: update-account
type: call
call: "pgim-rk.record-rollover"
with:
participant_id: "{{participant_id}}"
plan_id: "{{target_plan_id}}"
amount: "{{rollover_amount}}"
transfer_id: "{{initiate-transfer.transfer_id}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "rollover_confirmation"
to: "{{verify-participant.email}}"
merge_amount: "{{rollover_amount}}"
merge_source: "{{source_plan_name}}"
consumes:
- type: http
namespace: pgim-rk
baseUri: "https://api.prudential.com/internal/retirement/v2"
authentication:
type: bearer
token: "$secrets.pgim_rk_token"
resources:
- name: accounts
path: "/plans/{{plan_id}}/participants/{{participant_id}}/account"
inputParameters:
- name: plan_id
in: path
- name: participant_id
in: path
operations:
- name: get-account
method: GET
- name: rollovers
path: "/plans/{{plan_id}}/participants/{{participant_id}}/rollovers"
inputParameters:
- name: plan_id
in: path
- name: participant_id
in: path
operations:
- name: record-rollover
method: POST
- type: http
namespace: custodian
baseUri: "https://api.prudential.com/internal/custody/v1"
authentication:
type: bearer
token: "$secrets.custodian_token"
resources:
- name: rollovers
path: "/rollovers"
operations:
- name: initiate-rollover
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Retrieves retirement plan vesting schedule data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Retirement Plan Vesting Schedule"
description: "Retrieves retirement plan vesting schedule data from the Prudential Financial financial services and insurance systems."
tags:
- retirement
- prudential-financial
- schedule
capability:
exposes:
- type: mcp
namespace: retirement
port: 8080
tools:
- name: retirement-plan-vesting-schedule
description: "Retrieves retirement plan vesting schedule data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.retirement-plan-vesting-schedule"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/retirement/plan/vesting/schedule/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: retirement-plan-vesting-schedule
method: GET
Checks the payment status of a vendor invoice in SAP, returning payment date, amount, payment method, and clearing document number.
naftiko: "0.5"
info:
label: "SAP Vendor Payment Status"
description: "Checks the payment status of a vendor invoice in SAP, returning payment date, amount, payment method, and clearing document number."
tags:
- finance
- sap
- accounts-payable
capability:
exposes:
- type: mcp
namespace: finance
port: 8080
tools:
- name: get-vendor-payment-status
description: "Look up vendor payment status from SAP."
inputParameters:
- name: invoice_number
in: body
type: string
description: "The SAP vendor invoice document number."
call: "sap.get-payment-status"
with:
document_number: "{{invoice_number}}"
outputParameters:
- name: payment_date
type: string
mapping: "$.d.PaymentDate"
- name: amount
type: string
mapping: "$.d.Amount"
- name: payment_method
type: string
mapping: "$.d.PaymentMethod"
- name: clearing_doc
type: string
mapping: "$.d.ClearingDocument"
consumes:
- type: http
namespace: sap
baseUri: "https://prudential-s4.sap.com/sap/opu/odata/sap/FI_AP_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: payments
path: "/A_VendorPayment('{{document_number}}')"
inputParameters:
- name: document_number
in: path
operations:
- name: get-payment-status
method: GET
Runs a suitability review for an annuity or investment sale by pulling the client's financial profile from Salesforce, comparing against the product requirements, and logging the suitability determination in the compliance system.
naftiko: "0.5"
info:
label: "Suitability Review Orchestrator"
description: "Runs a suitability review for an annuity or investment sale by pulling the client's financial profile from Salesforce, comparing against the product requirements, and logging the suitability determination in the compliance system."
tags:
- compliance
- wealth
- salesforce
capability:
exposes:
- type: mcp
namespace: suitability
port: 8080
tools:
- name: run-suitability-review
description: "Given a client ID and product, evaluate suitability based on financial profile and product requirements."
inputParameters:
- name: client_id
in: body
type: string
description: "The Salesforce client contact ID."
- name: product_code
in: body
type: string
description: "The product code being considered."
- name: investment_amount
in: body
type: string
description: "Proposed investment amount."
steps:
- name: get-client-profile
type: call
call: "salesforce.get-financial-profile"
with:
contact_id: "{{client_id}}"
- name: get-product-requirements
type: call
call: "product-catalog.get-suitability-criteria"
with:
product_code: "{{product_code}}"
- name: evaluate-suitability
type: call
call: "compliance-system.evaluate-suitability"
with:
client_age: "{{get-client-profile.age}}"
income: "{{get-client-profile.annual_income}}"
net_worth: "{{get-client-profile.net_worth}}"
risk_tolerance: "{{get-client-profile.risk_tolerance}}"
product_code: "{{product_code}}"
amount: "{{investment_amount}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: profiles
path: "/sobjects/FinancialProfile__c"
inputParameters:
- name: contact_id
in: query
operations:
- name: get-financial-profile
method: GET
- type: http
namespace: product-catalog
baseUri: "https://api.prudential.com/internal/products/v1"
authentication:
type: bearer
token: "$secrets.product_catalog_token"
resources:
- name: suitability
path: "/products/{{product_code}}/suitability"
inputParameters:
- name: product_code
in: path
operations:
- name: get-suitability-criteria
method: GET
- type: http
namespace: compliance-system
baseUri: "https://api.prudential.com/internal/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: suitability
path: "/suitability-evaluations"
operations:
- name: evaluate-suitability
method: POST
Converts a term life policy to a permanent policy by pulling the existing term details, generating a conversion offer, creating the new policy, and sending the conversion documents via DocuSign.
naftiko: "0.5"
info:
label: "Term Life Conversion Orchestrator"
description: "Converts a term life policy to a permanent policy by pulling the existing term details, generating a conversion offer, creating the new policy, and sending the conversion documents via DocuSign."
tags:
- insurance
- policy
- docusign
capability:
exposes:
- type: mcp
namespace: policy-conversion
port: 8080
tools:
- name: convert-term-to-perm
description: "Given a term policy number, generate conversion offer, create permanent policy, and send docs for signature."
inputParameters:
- name: policy_number
in: body
type: string
description: "The term life policy number."
- name: target_product
in: body
type: string
description: "Target permanent product (whole_life, universal_life, variable_life)."
steps:
- name: get-term-policy
type: call
call: "policy-admin.get-policy"
with:
policy_number: "{{policy_number}}"
- name: generate-offer
type: call
call: "uw-engine.generate-conversion-offer"
with:
policy_number: "{{policy_number}}"
target: "{{target_product}}"
face_amount: "{{get-term-policy.faceAmount}}"
- name: send-docs
type: call
call: "docusign.create-envelope"
with:
template_id: "term_conversion"
signer_email: "{{get-term-policy.insuredEmail}}"
signer_name: "{{get-term-policy.insuredName}}"
consumes:
- type: http
namespace: policy-admin
baseUri: "https://api.prudential.com/internal/policy-admin/v2"
authentication:
type: bearer
token: "$secrets.policy_admin_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- type: http
namespace: uw-engine
baseUri: "https://api.prudential.com/internal/underwriting/v2"
authentication:
type: bearer
token: "$secrets.uw_engine_token"
resources:
- name: conversions
path: "/conversion-offers"
operations:
- name: generate-conversion-offer
method: POST
- type: http
namespace: docusign
baseUri: "https://na4.docusign.net/restapi/v2.1"
authentication:
type: bearer
token: "$secrets.docusign_token"
resources:
- name: envelopes
path: "/accounts/{{account_id}}/envelopes"
inputParameters:
- name: account_id
in: path
operations:
- name: create-envelope
method: POST
Retrieves universal life cash value lookup data from the Prudential Financial financial services and insurance systems.
naftiko: "0.5"
info:
label: "Universal Life Cash Value Lookup"
description: "Retrieves universal life cash value lookup data from the Prudential Financial financial services and insurance systems."
tags:
- universal
- prudential-financial
- lookup
capability:
exposes:
- type: mcp
namespace: universal
port: 8080
tools:
- name: universal-life-cash-value-lookup
description: "Retrieves universal life cash value lookup data from the Prudential Financial financial services and insurance systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "prudential.universal-life-cash-value-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: resource
path: "/universal/life/cash/value/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: universal-life-cash-value-lookup
method: GET
Processes a fund transfer within a variable annuity contract, moving allocations between sub-accounts and recording the transfer.
naftiko: "0.5"
info:
label: "Variable Annuity Fund Transfer"
description: "Processes a fund transfer within a variable annuity contract, moving allocations between sub-accounts and recording the transfer."
tags:
- insurance
- annuity
- investment
capability:
exposes:
- type: mcp
namespace: annuity-transfers
port: 8080
tools:
- name: transfer-annuity-funds
description: "Transfer funds between sub-accounts within a variable annuity."
inputParameters:
- name: contract_number
in: body
type: string
description: "The annuity contract number."
- name: from_fund
in: body
type: string
description: "Source fund code."
- name: to_fund
in: body
type: string
description: "Destination fund code."
- name: amount
in: body
type: string
description: "Transfer amount."
call: "annuity-admin.transfer-funds"
with:
contract: "{{contract_number}}"
from: "{{from_fund}}"
to: "{{to_fund}}"
amount: "{{amount}}"
outputParameters:
- name: confirmation_id
type: string
mapping: "$.data.transferId"
- name: new_balance_from
type: string
mapping: "$.data.fromFundBalance"
- name: new_balance_to
type: string
mapping: "$.data.toFundBalance"
consumes:
- type: http
namespace: annuity-admin
baseUri: "https://api.prudential.com/internal/annuity/v2"
authentication:
type: bearer
token: "$secrets.annuity_admin_token"
resources:
- name: transfers
path: "/contracts/{{contract}}/transfers"
inputParameters:
- name: contract
in: path
operations:
- name: transfer-funds
method: POST
Processes voluntary benefits enrollment (accident, critical illness, hospital indemnity) by validating employee eligibility, creating the enrollment, calculating premium, and sending the enrollment confirmation.
naftiko: "0.5"
info:
label: "Voluntary Benefits Enrollment Orchestrator"
description: "Processes voluntary benefits enrollment (accident, critical illness, hospital indemnity) by validating employee eligibility, creating the enrollment, calculating premium, and sending the enrollment confirmation."
tags:
- insurance
- group-benefits
- voluntary
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: voluntary-benefits
port: 8080
tools:
- name: enroll-voluntary-benefits
description: "Given employee and benefit selections, validate eligibility, enroll, calculate premium, and confirm."
inputParameters:
- name: employer_id
in: body
type: string
description: "The employer group identifier."
- name: employee_id
in: body
type: string
description: "The employee identifier."
- name: benefit_selections
in: body
type: string
description: "JSON of selected voluntary benefits."
steps:
- name: validate-eligibility
type: call
call: "group-admin.check-voluntary-eligibility"
with:
employer_id: "{{employer_id}}"
employee_id: "{{employee_id}}"
- name: create-enrollment
type: call
call: "group-admin.enroll-voluntary"
with:
employer_id: "{{employer_id}}"
employee_id: "{{employee_id}}"
selections: "{{benefit_selections}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "voluntary_enrollment_confirmation"
to: "{{validate-eligibility.email}}"
merge_benefits: "{{benefit_selections}}"
merge_premium: "{{create-enrollment.monthly_premium}}"
consumes:
- type: http
namespace: group-admin
baseUri: "https://api.prudential.com/internal/group-admin/v2"
authentication:
type: bearer
token: "$secrets.group_admin_token"
resources:
- name: voluntary-eligibility
path: "/employers/{{employer_id}}/employees/{{employee_id}}/voluntary-eligibility"
inputParameters:
- name: employer_id
in: path
- name: employee_id
in: path
operations:
- name: check-voluntary-eligibility
method: GET
- name: voluntary-enrollment
path: "/employers/{{employer_id}}/employees/{{employee_id}}/voluntary-enrollment"
inputParameters:
- name: employer_id
in: path
- name: employee_id
in: path
operations:
- name: enroll-voluntary
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Compiles a client wealth review by pulling investment positions from Charles River IMS, account balances from the custodian API, and client profile from Salesforce Financial Services Cloud, then shares the consolidated view via Box.
naftiko: "0.5"
info:
label: "Wealth Management Account Review Orchestrator"
description: "Compiles a client wealth review by pulling investment positions from Charles River IMS, account balances from the custodian API, and client profile from Salesforce Financial Services Cloud, then shares the consolidated view via Box."
tags:
- wealth
- investment
- charles-river
- salesforce
- box
capability:
exposes:
- type: mcp
namespace: wealth-review
port: 8080
tools:
- name: generate-wealth-review
description: "Given a client ID, compile investment positions, balances, and profile data, then upload the review to Box."
inputParameters:
- name: client_id
in: body
type: string
description: "The Salesforce client account ID."
- name: as_of_date
in: body
type: string
description: "Review date in YYYY-MM-DD format."
steps:
- name: get-positions
type: call
call: "charles-river.get-positions"
with:
account_id: "{{client_id}}"
as_of: "{{as_of_date}}"
- name: get-balances
type: call
call: "custodian.get-account-balance"
with:
account_id: "{{client_id}}"
- name: get-client-profile
type: call
call: "salesforce.get-account"
with:
account_id: "{{client_id}}"
- name: upload-review
type: call
call: "box.upload-file"
with:
folder_id: "client_reviews"
file_name: "WealthReview_{{client_id}}_{{as_of_date}}.pdf"
content: "Client: {{get-client-profile.Name}}, Total AUM: ${{get-balances.total_value}}, Positions: {{get-positions.count}}"
consumes:
- type: http
namespace: charles-river
baseUri: "https://crd.prudential.com/api/v2"
authentication:
type: bearer
token: "$secrets.charles_river_token"
resources:
- name: positions
path: "/accounts/{{account_id}}/positions"
inputParameters:
- name: account_id
in: path
- name: as_of
in: query
operations:
- name: get-positions
method: GET
- type: http
namespace: custodian
baseUri: "https://api.prudential.com/internal/custody/v1"
authentication:
type: bearer
token: "$secrets.custodian_token"
resources:
- name: balances
path: "/accounts/{{account_id}}/balance"
inputParameters:
- name: account_id
in: path
operations:
- name: get-account-balance
method: GET
- type: http
namespace: salesforce
baseUri: "https://prudential.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/sobjects/Account/{{account_id}}"
inputParameters:
- name: account_id
in: path
operations:
- name: get-account
method: GET
- type: http
namespace: box
baseUri: "https://upload.box.com/api/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files/content"
operations:
- name: upload-file
method: POST
Launches a workplace wellness program by creating the program in the wellness platform, enrolling eligible employees from the group admin system, and sending program invitations via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Workplace Benefits Wellness Program Orchestrator"
description: "Launches a workplace wellness program by creating the program in the wellness platform, enrolling eligible employees from the group admin system, and sending program invitations via Salesforce Marketing Cloud."
tags:
- group-benefits
- wellness
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: wellness
port: 8080
tools:
- name: launch-wellness-program
description: "Given an employer ID and program details, create the program, enroll employees, and send invitations."
inputParameters:
- name: employer_id
in: body
type: string
description: "The employer group identifier."
- name: program_type
in: body
type: string
description: "Program type (biometric_screening, fitness_challenge, mental_health)."
steps:
- name: create-program
type: call
call: "wellness-platform.create-program"
with:
employer_id: "{{employer_id}}"
type: "{{program_type}}"
- name: get-eligible
type: call
call: "group-admin.get-active-census"
with:
employer_id: "{{employer_id}}"
- name: send-invitations
type: call
call: "sfmc.send-batch-email"
with:
template: "wellness_invitation"
recipients: "{{get-eligible.emails}}"
merge_program: "{{program_type}}"
consumes:
- type: http
namespace: wellness-platform
baseUri: "https://api.prudential.com/internal/wellness/v1"
authentication:
type: bearer
token: "$secrets.wellness_token"
resources:
- name: programs
path: "/programs"
operations:
- name: create-program
method: POST
- type: http
namespace: group-admin
baseUri: "https://api.prudential.com/internal/group-admin/v2"
authentication:
type: bearer
token: "$secrets.group_admin_token"
resources:
- name: census
path: "/employers/{{employer_id}}/active-census"
inputParameters:
- name: employer_id
in: path
operations:
- name: get-active-census
method: GET
- type: http
namespace: sfmc
baseUri: "https://mc.prudential.com/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: batch-emails
path: "/messaging/v1/email/messages/batch"
operations:
- name: send-batch-email
method: POST
Orchestrates worksite benefits enrollment pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Worksite Benefits Enrollment Pipeline"
description: "Orchestrates worksite benefits enrollment pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
tags:
- worksite
- prudential-financial
- bloomberg
- tableau
- prudential
capability:
exposes:
- type: mcp
namespace: worksite
port: 8080
tools:
- name: worksite-benefits-enrollment-pipeline
description: "Orchestrates worksite benefits enrollment pipeline across financial services and insurance systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "bloomberg.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "tableau.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "prudential.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/worksite"
operations:
- name: execute-1
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.prudential.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: tableau-resource
path: "/api/worksite"
operations:
- name: execute-2
method: POST
- type: http
namespace: prudential
baseUri: "https://api.prudential.com/v2"
authentication:
type: bearer
token: "$secrets.prudential_api_token"
resources:
- name: prudential-resource
path: "/api/worksite"
operations:
- name: execute-3
method: POST