The Cigna Group Capabilities
Naftiko 0.5 capability definitions for The Cigna Group - 100 capabilities showing integration workflows and service orchestrations.
Manages annual compliance certifications by distributing attestations, tracking completion, and filing results.
naftiko: "0.5"
info:
label: "Annual Compliance Certification Orchestrator"
description: "Manages annual compliance certifications by distributing attestations, tracking completion, and filing results."
tags:
- compliance
- hr
- legal
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: run-annual-compliance-certification-orchestrator
description: "Manages annual compliance certifications by distributing attestations, tracking completion, and filing results."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Annual Compliance Certification Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation.
naftiko: "0.5"
info:
label: "API Lifecycle Management Orchestrator"
description: "Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation."
tags:
- engineering
- api
- operations
capability:
exposes:
- type: mcp
namespace: engineering
port: 8080
tools:
- name: run-api-lifecycle-management-orchestrator
description: "Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed API Lifecycle Management Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
When a behavioral health claim pattern is detected, triggers a member outreach workflow: pulls clinical history, creates a behavioral health referral, and contacts the member.
naftiko: "0.5"
info:
label: "Behavioral Health Assessment Trigger"
description: "When a behavioral health claim pattern is detected, triggers a member outreach workflow: pulls clinical history, creates a behavioral health referral, and contacts the member."
tags:
- care-management
- behavioral-health
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: behavioral-health
port: 8080
tools:
- name: trigger-bh-outreach
description: "Trigger behavioral health outreach based on claims patterns."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: trigger_reason
in: body
type: string
description: "Reason for behavioral health trigger."
- name: member_email
in: body
type: string
description: "Member email."
steps:
- name: get-clinical-history
type: call
call: "claims.get-member-claims"
with:
member_id: "{{member_id}}"
category: "behavioral_health"
- name: create-bh-referral
type: call
call: "caremanagement.create-referral"
with:
member_id: "{{member_id}}"
condition: "behavioral_health"
reason: "{{trigger_reason}}"
- name: contact-member
type: call
call: "outlook.send-email"
with:
to: "{{member_email}}"
subject: "Cigna Behavioral Health Support"
body: "We want to make sure you have the behavioral health support you need. A care coordinator will contact you to discuss available resources and programs."
consumes:
- type: http
namespace: claims
baseUri: "https://api.cigna.com/claims/v1"
authentication:
type: bearer
token: "$secrets.claims_token"
resources:
- name: member-claims
path: "/members/{{member_id}}/claims"
inputParameters:
- name: member_id
in: path
- name: category
in: query
operations:
- name: get-member-claims
method: GET
- type: http
namespace: caremanagement
baseUri: "https://api.cigna.com/care-management/v1"
authentication:
type: bearer
token: "$secrets.caremanagement_token"
resources:
- name: referrals
path: "/referrals"
operations:
- name: create-referral
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Retrieves a member's benefit summary including deductible status, out-of-pocket maximums, and copay schedule for a given plan year.
naftiko: "0.5"
info:
label: "Benefits Summary Viewer"
description: "Retrieves a member's benefit summary including deductible status, out-of-pocket maximums, and copay schedule for a given plan year."
tags:
- benefits
- member
- health-insurance
capability:
exposes:
- type: mcp
namespace: benefits-inquiry
port: 8080
tools:
- name: get-benefits-summary
description: "Retrieve benefit summary for a member."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: plan_year
in: body
type: string
description: "Plan year (e.g., 2026)."
call: "benefits.get-summary"
with:
member_id: "{{member_id}}"
year: "{{plan_year}}"
outputParameters:
- name: deductible_met
type: number
mapping: "$.deductibleMet"
- name: deductible_max
type: number
mapping: "$.deductibleMax"
- name: oop_met
type: number
mapping: "$.oopMet"
- name: oop_max
type: number
mapping: "$.oopMax"
consumes:
- type: http
namespace: benefits
baseUri: "https://api.cigna.com/benefits/v1"
authentication:
type: bearer
token: "$secrets.benefits_token"
resources:
- name: summary
path: "/members/{{member_id}}/summary"
inputParameters:
- name: member_id
in: path
- name: year
in: query
operations:
- name: get-summary
method: GET
Coordinates patient care by identifying high-risk members, assigning care managers, and tracking interventions.
naftiko: "0.5"
info:
label: "Care Coordination Orchestrator"
description: "Coordinates patient care by identifying high-risk members, assigning care managers, and tracking interventions."
tags:
- clinical
- customer-service
- analytics
capability:
exposes:
- type: mcp
namespace: clinical
port: 8080
tools:
- name: run-care-coordination-orchestrator
description: "Coordinates patient care by identifying high-risk members, assigning care managers, and tracking interventions."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Care Coordination Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Creates a care management referral for a member with chronic conditions, assigns a care coordinator, creates a care plan, and notifies the member via email.
naftiko: "0.5"
info:
label: "Care Management Referral Creator"
description: "Creates a care management referral for a member with chronic conditions, assigns a care coordinator, creates a care plan, and notifies the member via email."
tags:
- care-management
- chronic-care
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: care-management
port: 8080
tools:
- name: create-care-referral
description: "Create a care management referral and assign a coordinator."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: condition
in: body
type: string
description: "Primary chronic condition."
- name: referring_provider_npi
in: body
type: string
description: "Referring provider NPI."
- name: member_email
in: body
type: string
description: "Member email."
steps:
- name: create-referral
type: call
call: "caremanagement.create-referral"
with:
member_id: "{{member_id}}"
condition: "{{condition}}"
referring_npi: "{{referring_provider_npi}}"
- name: assign-coordinator
type: call
call: "caremanagement.assign-coordinator"
with:
referral_id: "{{create-referral.referral_id}}"
condition: "{{condition}}"
- name: create-plan
type: call
call: "caremanagement.create-care-plan"
with:
referral_id: "{{create-referral.referral_id}}"
member_id: "{{member_id}}"
- name: notify-member
type: call
call: "outlook.send-email"
with:
to: "{{member_email}}"
subject: "Cigna Care Management - Your Care Coordinator"
body: "You have been enrolled in our care management program for {{condition}}. Your care coordinator is {{assign-coordinator.coordinator_name}}. They will reach out within 48 hours."
consumes:
- type: http
namespace: caremanagement
baseUri: "https://api.cigna.com/care-management/v1"
authentication:
type: bearer
token: "$secrets.caremanagement_token"
resources:
- name: referrals
path: "/referrals"
operations:
- name: create-referral
method: POST
- name: coordinators
path: "/referrals/{{referral_id}}/coordinator"
inputParameters:
- name: referral_id
in: path
operations:
- name: assign-coordinator
method: POST
- name: care-plans
path: "/care-plans"
operations:
- name: create-care-plan
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Checks the adjudication status of an insurance claim.
naftiko: "0.5"
info:
label: "Claim Adjudication Status"
description: "Checks the adjudication status of an insurance claim."
tags:
- claims
- insurance
capability:
exposes:
- type: mcp
namespace: claims
port: 8080
tools:
- name: get-claim
description: "Checks the adjudication status of an insurance claim."
inputParameters:
- name: entity_id
in: body
type: string
description: "The claim adjudication status identifier."
call: "claims-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: claims-api
baseUri: "https://api.the-cigna-group.com/claims/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: claim
path: "/claim/adjudication/status/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-claim
method: GET
Processes a claim denial appeal: retrieves the original claim, submits the appeal with supporting documentation, and notifies the member and provider of the appeal status.
naftiko: "0.5"
info:
label: "Claim Denial Appeal Processor"
description: "Processes a claim denial appeal: retrieves the original claim, submits the appeal with supporting documentation, and notifies the member and provider of the appeal status."
tags:
- claims
- appeals
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: appeals
port: 8080
tools:
- name: process-appeal
description: "Submit and process a claim denial appeal."
inputParameters:
- name: claim_id
in: body
type: string
description: "Denied claim ID."
- name: appeal_reason
in: body
type: string
description: "Reason for appeal."
- name: member_email
in: body
type: string
description: "Member email."
- name: provider_email
in: body
type: string
description: "Provider email."
steps:
- name: get-claim
type: call
call: "claims.get-status"
with:
claim_id: "{{claim_id}}"
- name: submit-appeal
type: call
call: "claims.submit-appeal"
with:
claim_id: "{{claim_id}}"
reason: "{{appeal_reason}}"
- name: notify-member
type: call
call: "outlook.send-email"
with:
to: "{{member_email}}"
subject: "Cigna Claim Appeal Submitted - {{submit-appeal.appeal_id}}"
body: "Your appeal for claim {{claim_id}} has been submitted. Appeal reference: {{submit-appeal.appeal_id}}. We will review within 30 days."
- name: notify-provider
type: call
call: "outlook.send-email"
with:
to: "{{provider_email}}"
subject: "Claim Appeal Filed - {{claim_id}}"
body: "An appeal has been filed for claim {{claim_id}}. Appeal ID: {{submit-appeal.appeal_id}}."
consumes:
- type: http
namespace: claims
baseUri: "https://api.cigna.com/claims/v1"
authentication:
type: bearer
token: "$secrets.claims_token"
resources:
- name: claims
path: "/claims/{{claim_id}}"
inputParameters:
- name: claim_id
in: path
operations:
- name: get-status
method: GET
- name: appeals
path: "/claims/{{claim_id}}/appeal"
inputParameters:
- name: claim_id
in: path
operations:
- name: submit-appeal
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Queries approved claims from Snowflake, generates payment instructions, submits to the payment gateway, and logs payment confirmations in ServiceNow.
naftiko: "0.5"
info:
label: "Claim Payment Batch Processor"
description: "Queries approved claims from Snowflake, generates payment instructions, submits to the payment gateway, and logs payment confirmations in ServiceNow."
tags:
- claims
- payments
- snowflake
- servicenow
- health-insurance
capability:
exposes:
- type: mcp
namespace: claim-payments
port: 8080
tools:
- name: process-claim-payments
description: "Generate and submit claim payment batch."
inputParameters:
- name: payment_date
in: body
type: string
description: "Payment date in YYYY-MM-DD."
steps:
- name: get-approved-claims
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT claim_id, provider_npi, payment_amount FROM CLAIMS.APPROVED_FOR_PAYMENT WHERE payment_date = '{{payment_date}}'"
- name: submit-payments
type: call
call: "payments.submit-batch"
with:
payment_date: "{{payment_date}}"
claims: "{{get-approved-claims.data}}"
- name: log-payments
type: call
call: "servicenow.create-record"
with:
table: "u_payment_log"
batch_id: "{{submit-payments.batch_id}}"
claim_count: "{{get-approved-claims.row_count}}"
total_amount: "{{submit-payments.total_amount}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: payments
baseUri: "https://api.cigna.com/payments/v1"
authentication:
type: bearer
token: "$secrets.payments_token"
resources:
- name: batches
path: "/batches"
operations:
- name: submit-batch
method: POST
- type: http
namespace: servicenow
baseUri: "https://cigna.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: records
path: "/table/{{table}}"
inputParameters:
- name: table
in: path
operations:
- name: create-record
method: POST
Retrieves the current processing status of a medical claim including adjudication result, payment amount, and date. Used by members and customer service.
naftiko: "0.5"
info:
label: "Claim Status Viewer"
description: "Retrieves the current processing status of a medical claim including adjudication result, payment amount, and date. Used by members and customer service."
tags:
- claims
- health-insurance
capability:
exposes:
- type: mcp
namespace: claims-inquiry
port: 8080
tools:
- name: get-claim-status
description: "Look up claim processing status by claim ID."
inputParameters:
- name: claim_id
in: body
type: string
description: "The claim ID."
call: "claims.get-status"
with:
claim_id: "{{claim_id}}"
outputParameters:
- name: status
type: string
mapping: "$.claimStatus"
- name: paid_amount
type: number
mapping: "$.paidAmount"
- name: member_responsibility
type: number
mapping: "$.memberResponsibility"
- name: payment_date
type: string
mapping: "$.paymentDate"
consumes:
- type: http
namespace: claims
baseUri: "https://api.cigna.com/claims/v1"
authentication:
type: bearer
token: "$secrets.claims_token"
resources:
- name: claims
path: "/claims/{{claim_id}}"
inputParameters:
- name: claim_id
in: path
operations:
- name: get-status
method: GET
Receives a medical claim, validates member eligibility, checks provider network status, applies benefit rules, and posts the adjudication result to the claims system with a ServiceNow audit record.
naftiko: "0.5"
info:
label: "Claims Adjudication Pipeline"
description: "Receives a medical claim, validates member eligibility, checks provider network status, applies benefit rules, and posts the adjudication result to the claims system with a ServiceNow audit record."
tags:
- claims
- adjudication
- eligibility
- servicenow
- health-insurance
capability:
exposes:
- type: mcp
namespace: claims-processing
port: 8080
tools:
- name: adjudicate-claim
description: "Orchestrate end-to-end medical claim adjudication across eligibility, network, and benefits systems."
inputParameters:
- name: claim_id
in: body
type: string
description: "The medical claim ID."
- name: member_id
in: body
type: string
description: "Member ID on the claim."
- name: provider_npi
in: body
type: string
description: "Provider NPI number."
- name: procedure_code
in: body
type: string
description: "CPT procedure code."
- name: billed_amount
in: body
type: number
description: "Billed amount."
steps:
- name: check-eligibility
type: call
call: "eligibility.verify-member"
with:
member_id: "{{member_id}}"
service_date: "{{claim_id}}"
- name: check-network
type: call
call: "provider.check-network"
with:
npi: "{{provider_npi}}"
plan_id: "{{check-eligibility.plan_id}}"
- name: apply-benefits
type: call
call: "benefits.calculate-payment"
with:
procedure_code: "{{procedure_code}}"
plan_id: "{{check-eligibility.plan_id}}"
in_network: "{{check-network.in_network}}"
billed_amount: "{{billed_amount}}"
- name: post-result
type: call
call: "claims.post-adjudication"
with:
claim_id: "{{claim_id}}"
allowed_amount: "{{apply-benefits.allowed_amount}}"
member_responsibility: "{{apply-benefits.member_responsibility}}"
status: "{{apply-benefits.status}}"
- name: audit-log
type: call
call: "servicenow.create-record"
with:
table: "u_claims_audit"
claim_id: "{{claim_id}}"
adjudication_result: "{{apply-benefits.status}}"
consumes:
- type: http
namespace: eligibility
baseUri: "https://api.cigna.com/eligibility/v1"
authentication:
type: bearer
token: "$secrets.eligibility_token"
resources:
- name: members
path: "/members/{{member_id}}/verify"
inputParameters:
- name: member_id
in: path
operations:
- name: verify-member
method: GET
- type: http
namespace: provider
baseUri: "https://api.cigna.com/provider/v1"
authentication:
type: bearer
token: "$secrets.provider_token"
resources:
- name: network
path: "/providers/{{npi}}/network"
inputParameters:
- name: npi
in: path
- name: plan_id
in: query
operations:
- name: check-network
method: GET
- type: http
namespace: benefits
baseUri: "https://api.cigna.com/benefits/v1"
authentication:
type: bearer
token: "$secrets.benefits_token"
resources:
- name: calculations
path: "/calculate"
operations:
- name: calculate-payment
method: POST
- type: http
namespace: claims
baseUri: "https://api.cigna.com/claims/v1"
authentication:
type: bearer
token: "$secrets.claims_token"
resources:
- name: adjudication
path: "/claims/{{claim_id}}/adjudicate"
inputParameters:
- name: claim_id
in: path
operations:
- name: post-adjudication
method: POST
- type: http
namespace: servicenow
baseUri: "https://cigna.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: records
path: "/table/{{table}}"
inputParameters:
- name: table
in: path
operations:
- name: create-record
method: POST
Queries claims data from Snowflake, refreshes the Power BI claims analytics dashboard, and sends a summary to the claims leadership team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Claims Analytics Dashboard Refresh"
description: "Queries claims data from Snowflake, refreshes the Power BI claims analytics dashboard, and sends a summary to the claims leadership team via Microsoft Teams."
tags:
- claims
- analytics
- snowflake
- power-bi
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: claims-analytics
port: 8080
tools:
- name: refresh-claims-dashboard
description: "Refresh claims analytics dashboard and notify leadership."
inputParameters:
- name: pbi_dataset_id
in: body
type: string
description: "Power BI dataset ID."
- name: teams_webhook
in: body
type: string
description: "Teams webhook URL."
steps:
- name: query-metrics
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT claim_type, COUNT(*) as count, SUM(paid_amount) as total_paid, AVG(processing_days) as avg_days FROM CLAIMS.FACT_CLAIMS WHERE processed_date = CURRENT_DATE GROUP BY claim_type"
- name: refresh-pbi
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "{{pbi_dataset_id}}"
- name: notify-leadership
type: call
call: "msteams.send-message"
with:
webhook_url: "{{teams_webhook}}"
text: "Claims dashboard refreshed. Today's metrics: {{query-metrics.data}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: dataset_id
in: path
operations:
- name: refresh-dataset
method: POST
- type: http
namespace: msteams
baseUri: "{{webhook_url}}"
authentication:
type: none
resources:
- name: webhook
path: ""
operations:
- name: send-message
method: POST
Audits claims by selecting samples, reviewing adjudication accuracy, and documenting findings.
naftiko: "0.5"
info:
label: "Claims Audit Orchestrator"
description: "Audits claims by selecting samples, reviewing adjudication accuracy, and documenting findings."
tags:
- compliance
- claims
- analytics
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: run-claims-audit-orchestrator
description: "Audits claims by selecting samples, reviewing adjudication accuracy, and documenting findings."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Claims Audit Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves a Confluence wiki page.
naftiko: "0.5"
info:
label: "Confluence Page Viewer"
description: "Retrieves a Confluence wiki page."
tags:
- collaboration
- confluence
capability:
exposes:
- type: mcp
namespace: collaboration
port: 8080
tools:
- name: get-confluence
description: "Retrieves a Confluence wiki page."
inputParameters:
- name: entity_id
in: body
type: string
description: "The confluence page viewer identifier."
call: "collaboration-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: collaboration-api
baseUri: "https://api.the-cigna-group.com/collaboration/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: confluence
path: "/confluence/page/viewer/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-confluence
method: GET
Estimates out-of-pocket costs for a medical procedure based on the member's benefit plan, deductible status, and provider network tier.
naftiko: "0.5"
info:
label: "Cost Estimator Tool"
description: "Estimates out-of-pocket costs for a medical procedure based on the member's benefit plan, deductible status, and provider network tier."
tags:
- benefits
- cost-estimation
- member
- health-insurance
capability:
exposes:
- type: mcp
namespace: cost-estimator
port: 8080
tools:
- name: estimate-cost
description: "Estimate out-of-pocket cost for a procedure."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: procedure_code
in: body
type: string
description: "CPT procedure code."
- name: provider_npi
in: body
type: string
description: "Provider NPI."
call: "benefits.estimate-cost"
with:
member_id: "{{member_id}}"
cpt: "{{procedure_code}}"
npi: "{{provider_npi}}"
outputParameters:
- name: estimated_cost
type: number
mapping: "$.estimatedMemberCost"
- name: plan_pays
type: number
mapping: "$.planPays"
- name: network_tier
type: string
mapping: "$.networkTier"
consumes:
- type: http
namespace: benefits
baseUri: "https://api.cigna.com/benefits/v1"
authentication:
type: bearer
token: "$secrets.benefits_token"
resources:
- name: cost-estimate
path: "/cost-estimate"
inputParameters:
- name: member_id
in: query
- name: cpt
in: query
- name: npi
in: query
operations:
- name: estimate-cost
method: GET
Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters.
naftiko: "0.5"
info:
label: "Cross-Functional Project Kickoff Orchestrator"
description: "Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters."
tags:
- project-management
- collaboration
- operations
capability:
exposes:
- type: mcp
namespace: project-management
port: 8080
tools:
- name: run-cross-functional-project-kickoff-orchestrator
description: "Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Cross-Functional Project Kickoff Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Handles customer data privacy requests by locating records, processing deletions, and confirming compliance.
naftiko: "0.5"
info:
label: "Customer Data Privacy Request Handler"
description: "Handles customer data privacy requests by locating records, processing deletions, and confirming compliance."
tags:
- compliance
- privacy
- customer-service
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: run-customer-data-privacy-request-handler
description: "Handles customer data privacy requests by locating records, processing deletions, and confirming compliance."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Customer Data Privacy Request Handler for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations.
naftiko: "0.5"
info:
label: "Customer Journey Mapping Orchestrator"
description: "Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations."
tags:
- customer-experience
- analytics
- product-management
capability:
exposes:
- type: mcp
namespace: customer-experience
port: 8080
tools:
- name: run-customer-journey-mapping-orchestrator
description: "Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Customer Journey Mapping Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports.
naftiko: "0.5"
info:
label: "Data Governance Review Orchestrator"
description: "Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports."
tags:
- data-governance
- compliance
- analytics
capability:
exposes:
- type: mcp
namespace: data-governance
port: 8080
tools:
- name: run-data-governance-review-orchestrator
description: "Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Data Governance Review Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves a member's dental benefit coverage including annual maximum, deductible, and covered services.
naftiko: "0.5"
info:
label: "Dental Benefits Viewer"
description: "Retrieves a member's dental benefit coverage including annual maximum, deductible, and covered services."
tags:
- benefits
- dental
- member
- health-insurance
capability:
exposes:
- type: mcp
namespace: dental-benefits
port: 8080
tools:
- name: get-dental-benefits
description: "Retrieve dental benefit details for a member."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
call: "benefits.get-dental"
with:
member_id: "{{member_id}}"
outputParameters:
- name: annual_max
type: number
mapping: "$.annualMaximum"
- name: deductible
type: number
mapping: "$.deductible"
- name: covered_services
type: array
mapping: "$.coveredServices"
consumes:
- type: http
namespace: benefits
baseUri: "https://api.cigna.com/benefits/v1"
authentication:
type: bearer
token: "$secrets.benefits_token"
resources:
- name: dental
path: "/members/{{member_id}}/dental"
inputParameters:
- name: member_id
in: path
operations:
- name: get-dental
method: GET
Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks.
naftiko: "0.5"
info:
label: "Digital Transformation Progress Orchestrator"
description: "Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks."
tags:
- strategy
- analytics
- project-management
capability:
exposes:
- type: mcp
namespace: strategy
port: 8080
tools:
- name: run-digital-transformation-progress-orchestrator
description: "Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Digital Transformation Progress Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Executes disaster recovery tests by failing over systems, validating recovery, and documenting results.
naftiko: "0.5"
info:
label: "Disaster Recovery Test Orchestrator"
description: "Executes disaster recovery tests by failing over systems, validating recovery, and documenting results."
tags:
- infrastructure
- operations
- compliance
capability:
exposes:
- type: mcp
namespace: infrastructure
port: 8080
tools:
- name: run-disaster-recovery-test-orchestrator
description: "Executes disaster recovery tests by failing over systems, validating recovery, and documenting results."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Disaster Recovery Test Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves available disease management programs for a given chronic condition including eligibility criteria and contact information.
naftiko: "0.5"
info:
label: "Disease Management Program Lookup"
description: "Retrieves available disease management programs for a given chronic condition including eligibility criteria and contact information."
tags:
- care-management
- chronic-care
- health-insurance
capability:
exposes:
- type: mcp
namespace: disease-mgmt
port: 8080
tools:
- name: get-dm-programs
description: "Look up disease management programs by condition."
inputParameters:
- name: condition
in: body
type: string
description: "Chronic condition."
call: "caremanagement.get-programs"
with:
condition: "{{condition}}"
outputParameters:
- name: programs
type: array
mapping: "$.programs"
- name: count
type: integer
mapping: "$.totalCount"
consumes:
- type: http
namespace: caremanagement
baseUri: "https://api.cigna.com/care-management/v1"
authentication:
type: bearer
token: "$secrets.caremanagement_token"
resources:
- name: programs
path: "/programs"
inputParameters:
- name: condition
in: query
operations:
- name: get-programs
method: GET
Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews.
naftiko: "0.5"
info:
label: "Employee Offboarding Orchestrator"
description: "Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews."
tags:
- hr
- identity
- operations
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: run-employee-offboarding-orchestrator
description: "Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Employee Offboarding Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
When a new Cigna employee is created in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "When a new Cigna employee is created in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Orchestrate new employee onboarding across ServiceNow, SharePoint, and Teams."
inputParameters:
- name: workday_employee_id
in: body
type: string
description: "Workday worker ID."
- name: start_date
in: body
type: string
description: "Employee start date."
- name: department
in: body
type: string
description: "Department name."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{workday_employee_id}}"
- name: open-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "New hire onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
description: "Onboarding for {{get-employee.full_name}} starting {{start_date}} in {{department}}."
- name: provision-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "hr_onboarding_site"
folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
- name: send-welcome
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{get-employee.work_email}}"
text: "Welcome to Cigna, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://cigna.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
operations:
- name: create-folder
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI.
naftiko: "0.5"
info:
label: "Executive Dashboard Refresh Orchestrator"
description: "Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI."
tags:
- analytics
- power-bi
- business
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: run-executive-dashboard-refresh-orchestrator
description: "Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Executive Dashboard Refresh Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Generates an Explanation of Benefits document for a processed claim, uploads it to SharePoint, and emails the member a notification with a link to view it.
naftiko: "0.5"
info:
label: "Explanation of Benefits Generator"
description: "Generates an Explanation of Benefits document for a processed claim, uploads it to SharePoint, and emails the member a notification with a link to view it."
tags:
- claims
- eob
- sharepoint
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: eob-generation
port: 8080
tools:
- name: generate-eob
description: "Generate an EOB for a processed claim and deliver to the member."
inputParameters:
- name: claim_id
in: body
type: string
description: "Processed claim ID."
- name: member_id
in: body
type: string
description: "Member ID."
- name: member_email
in: body
type: string
description: "Member email address."
steps:
- name: get-claim
type: call
call: "claims.get-status"
with:
claim_id: "{{claim_id}}"
- name: generate-doc
type: call
call: "documents.generate-eob"
with:
claim_id: "{{claim_id}}"
member_id: "{{member_id}}"
- name: upload-eob
type: call
call: "sharepoint.upload-file"
with:
site_id: "member_documents"
folder_path: "EOB/{{member_id}}"
file_name: "EOB_{{claim_id}}.pdf"
- name: notify-member
type: call
call: "outlook.send-email"
with:
to: "{{member_email}}"
subject: "Your Explanation of Benefits is ready"
body: "Your EOB for claim {{claim_id}} is available. Amount paid: ${{get-claim.paidAmount}}. Your responsibility: ${{get-claim.memberResponsibility}}."
consumes:
- type: http
namespace: claims
baseUri: "https://api.cigna.com/claims/v1"
authentication:
type: bearer
token: "$secrets.claims_token"
resources:
- name: claims
path: "/claims/{{claim_id}}"
inputParameters:
- name: claim_id
in: path
operations:
- name: get-status
method: GET
- type: http
namespace: documents
baseUri: "https://api.cigna.com/documents/v1"
authentication:
type: bearer
token: "$secrets.documents_token"
resources:
- name: eob
path: "/eob"
operations:
- name: generate-eob
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Checks if a drug is on the formulary.
naftiko: "0.5"
info:
label: "Formulary Drug Lookup"
description: "Checks if a drug is on the formulary."
tags:
- pharmacy
- insurance
capability:
exposes:
- type: mcp
namespace: pharmacy
port: 8080
tools:
- name: get-formulary
description: "Checks if a drug is on the formulary."
inputParameters:
- name: entity_id
in: body
type: string
description: "The formulary drug lookup identifier."
call: "pharmacy-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: pharmacy-api
baseUri: "https://api.the-cigna-group.com/pharmacy/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: formulary
path: "/formulary/drug/lookup/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-formulary
method: GET
Detects fraud waste and abuse by analyzing claim patterns, flagging anomalies, and routing for investigation.
naftiko: "0.5"
info:
label: "Fraud Waste Abuse Detection Orchestrator"
description: "Detects fraud waste and abuse by analyzing claim patterns, flagging anomalies, and routing for investigation."
tags:
- compliance
- analytics
- claims
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: run-fraud-waste-abuse-detection-orchestrator
description: "Detects fraud waste and abuse by analyzing claim patterns, flagging anomalies, and routing for investigation."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Fraud Waste Abuse Detection Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves a file from Google Drive.
naftiko: "0.5"
info:
label: "Google Drive File Viewer"
description: "Retrieves a file from Google Drive."
tags:
- collaboration
- google-drive
capability:
exposes:
- type: mcp
namespace: collaboration
port: 8080
tools:
- name: get-google
description: "Retrieves a file from Google Drive."
inputParameters:
- name: entity_id
in: body
type: string
description: "The google drive file viewer identifier."
call: "collaboration-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: collaboration-api
baseUri: "https://api.the-cigna-group.com/collaboration/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: google
path: "/google/drive/file/viewer/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-google
method: GET
Processes an employer group enrollment file from S3: validates records, loads into the enrollment system, generates error reports, and emails the group administrator.
naftiko: "0.5"
info:
label: "Group Enrollment File Processor"
description: "Processes an employer group enrollment file from S3: validates records, loads into the enrollment system, generates error reports, and emails the group administrator."
tags:
- enrollment
- group
- amazon-s3
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: group-enrollment
port: 8080
tools:
- name: process-enrollment-file
description: "Process an employer group enrollment file from S3."
inputParameters:
- name: s3_bucket
in: body
type: string
description: "S3 bucket name."
- name: file_key
in: body
type: string
description: "S3 object key for the file."
- name: group_id
in: body
type: string
description: "Employer group ID."
- name: admin_email
in: body
type: string
description: "Group administrator email."
steps:
- name: get-file
type: call
call: "s3.get-object"
with:
bucket: "{{s3_bucket}}"
key: "{{file_key}}"
- name: process-records
type: call
call: "enrollment.process-batch"
with:
group_id: "{{group_id}}"
file_data: "{{get-file.body}}"
- name: notify-admin
type: call
call: "outlook.send-email"
with:
to: "{{admin_email}}"
subject: "Enrollment File Processed - Group {{group_id}}"
body: "Your enrollment file has been processed. Records loaded: {{process-records.loaded_count}}. Errors: {{process-records.error_count}}."
consumes:
- type: http
namespace: s3
baseUri: "https://s3.amazonaws.com"
authentication:
type: aws-sigv4
accessKeyId: "$secrets.aws_access_key_id"
secretAccessKey: "$secrets.aws_secret_access_key"
region: "us-east-1"
resources:
- name: objects
path: "/{{bucket}}/{{key}}"
inputParameters:
- name: bucket
in: path
- name: key
in: path
operations:
- name: get-object
method: GET
- type: http
namespace: enrollment
baseUri: "https://api.cigna.com/enrollment/v1"
authentication:
type: bearer
token: "$secrets.enrollment_token"
resources:
- name: batch
path: "/batch-enrollment"
operations:
- name: process-batch
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Manages group plan renewals by analyzing utilization, calculating rate adjustments, and presenting proposals.
naftiko: "0.5"
info:
label: "Group Renewal Orchestrator"
description: "Manages group plan renewals by analyzing utilization, calculating rate adjustments, and presenting proposals."
tags:
- sales
- actuarial
- finance
capability:
exposes:
- type: mcp
namespace: sales
port: 8080
tools:
- name: run-group-renewal-orchestrator
description: "Manages group plan renewals by analyzing utilization, calculating rate adjustments, and presenting proposals."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Group Renewal Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Runs HEDIS quality measure calculations from Snowflake claims data, generates the quality report, uploads to SharePoint, and notifies the quality team via Slack.
naftiko: "0.5"
info:
label: "HEDIS Quality Metrics Pipeline"
description: "Runs HEDIS quality measure calculations from Snowflake claims data, generates the quality report, uploads to SharePoint, and notifies the quality team via Slack."
tags:
- care-management
- quality
- hedis
- snowflake
- sharepoint
- slack
capability:
exposes:
- type: mcp
namespace: quality-metrics
port: 8080
tools:
- name: calculate-hedis-metrics
description: "Calculate HEDIS metrics, generate report, and notify quality team."
inputParameters:
- name: measure_year
in: body
type: string
description: "HEDIS measurement year."
- name: sharepoint_site
in: body
type: string
description: "SharePoint site ID."
- name: slack_channel
in: body
type: string
description: "Slack channel for quality team."
steps:
- name: calculate-measures
type: call
call: "snowflake.execute-query"
with:
statement: "CALL QUALITY.CALCULATE_HEDIS_MEASURES('{{measure_year}}')"
- name: get-results
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT measure_name, numerator, denominator, rate FROM QUALITY.HEDIS_RESULTS WHERE year = '{{measure_year}}'"
- name: upload-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "{{sharepoint_site}}"
folder_path: "HEDIS/{{measure_year}}"
file_name: "hedis_results_{{measure_year}}.json"
- name: notify-quality
type: call
call: "slack.post-message"
with:
channel: "{{slack_channel}}"
text: "HEDIS metrics for {{measure_year}} calculated. Report uploaded to SharePoint."
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests.
naftiko: "0.5"
info:
label: "Infrastructure Capacity Planning Orchestrator"
description: "Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests."
tags:
- infrastructure
- planning
- finance
capability:
exposes:
- type: mcp
namespace: infrastructure
port: 8080
tools:
- name: run-infrastructure-capacity-planning-orchestrator
description: "Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Infrastructure Capacity Planning Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates insurance workflow 1 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Insurance Workflow 1"
description: "Orchestrates insurance workflow 1 by coordinating across systems, validating data, and sending notifications."
tags:
- insurance
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: run-insurance-workflow-001
description: "Orchestrates insurance workflow 1 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Insurance Workflow 1 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates insurance workflow 2 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Insurance Workflow 2"
description: "Orchestrates insurance workflow 2 by coordinating across systems, validating data, and sending notifications."
tags:
- insurance
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: run-insurance-workflow-002
description: "Orchestrates insurance workflow 2 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Insurance Workflow 2 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves insurance operational data for workflow 3.
naftiko: "0.5"
info:
label: "Insurance Data Query 3"
description: "Retrieves insurance operational data for workflow 3."
tags:
- insurance
- operations
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: get-data-3
description: "Query insurance data for workflow 3."
inputParameters:
- name: entity_id
in: body
type: string
description: "The entity identifier."
call: "insurance-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: insurance-api
baseUri: "https://api.the-cigna-group.com/insurance/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: data
path: "/data/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-data-3
method: GET
Orchestrates insurance workflow 4 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Insurance Workflow 4"
description: "Orchestrates insurance workflow 4 by coordinating across systems, validating data, and sending notifications."
tags:
- insurance
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: run-insurance-workflow-004
description: "Orchestrates insurance workflow 4 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Insurance Workflow 4 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates insurance workflow 5 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Insurance Workflow 5"
description: "Orchestrates insurance workflow 5 by coordinating across systems, validating data, and sending notifications."
tags:
- insurance
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: run-insurance-workflow-005
description: "Orchestrates insurance workflow 5 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Insurance Workflow 5 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams.
naftiko: "0.5"
info:
label: "IT Change Management Orchestrator"
description: "Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams."
tags:
- it
- servicenow
- operations
capability:
exposes:
- type: mcp
namespace: it
port: 8080
tools:
- name: run-it-change-management-orchestrator
description: "Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed IT Change Management Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves a Jira issue by key. Used by IT and project teams.
naftiko: "0.5"
info:
label: "Jira Issue Viewer"
description: "Retrieves a Jira issue by key. Used by IT and project teams."
tags:
- project-management
- jira
capability:
exposes:
- type: mcp
namespace: pm-lookup
port: 8080
tools:
- name: get-jira-issue
description: "Look up a Jira issue by key."
inputParameters:
- name: issue_key
in: body
type: string
description: "Jira issue key."
call: "jira.get-issue"
with:
issue_key: "{{issue_key}}"
outputParameters:
- name: summary
type: string
mapping: "$.fields.summary"
- name: status
type: string
mapping: "$.fields.status.name"
- name: assignee
type: string
mapping: "$.fields.assignee.displayName"
consumes:
- type: http
namespace: jira
baseUri: "https://cigna.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: issues
path: "/issue/{{issue_key}}"
inputParameters:
- name: issue_key
in: path
operations:
- name: get-issue
method: GET
Retrieves a Jira ticket by issue key.
naftiko: "0.5"
info:
label: "Jira Ticket Viewer"
description: "Retrieves a Jira ticket by issue key."
tags:
- engineering
- jira
capability:
exposes:
- type: mcp
namespace: engineering
port: 8080
tools:
- name: get-jira
description: "Retrieves a Jira ticket by issue key."
inputParameters:
- name: entity_id
in: body
type: string
description: "The jira ticket viewer identifier."
call: "engineering-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: engineering-api
baseUri: "https://api.the-cigna-group.com/engineering/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: jira
path: "/jira/ticket/viewer/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-jira
method: GET
Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates.
naftiko: "0.5"
info:
label: "Knowledge Base Refresh Orchestrator"
description: "Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates."
tags:
- knowledge-management
- collaboration
- operations
capability:
exposes:
- type: mcp
namespace: knowledge-management
port: 8080
tools:
- name: run-knowledge-base-refresh-orchestrator
description: "Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Knowledge Base Refresh Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports.
naftiko: "0.5"
info:
label: "Marketing Campaign Performance Orchestrator"
description: "Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports."
tags:
- marketing
- analytics
- finance
capability:
exposes:
- type: mcp
namespace: marketing
port: 8080
tools:
- name: run-marketing-campaign-performance-orchestrator
description: "Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Marketing Campaign Performance Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Calculates the Medical Loss Ratio from Snowflake financial data for a given reporting period and emails the results to the finance team.
naftiko: "0.5"
info:
label: "Medical Loss Ratio Calculator"
description: "Calculates the Medical Loss Ratio from Snowflake financial data for a given reporting period and emails the results to the finance team."
tags:
- compliance
- financial
- mlr
- snowflake
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: mlr-calculation
port: 8080
tools:
- name: calculate-mlr
description: "Calculate Medical Loss Ratio and report to finance."
inputParameters:
- name: reporting_period
in: body
type: string
description: "Reporting period."
- name: finance_email
in: body
type: string
description: "Finance team email."
steps:
- name: calculate
type: call
call: "snowflake.execute-query"
with:
statement: "CALL FINANCE.CALCULATE_MLR('{{reporting_period}}')"
- name: email-results
type: call
call: "outlook.send-email"
with:
to: "{{finance_email}}"
subject: "Medical Loss Ratio - {{reporting_period}}"
body: "MLR calculation complete for {{reporting_period}}. Results: {{calculate.data}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Retrieves a member's claims history for a specified date range. Used by customer service agents.
naftiko: "0.5"
info:
label: "Member Claims History Viewer"
description: "Retrieves a member's claims history for a specified date range. Used by customer service agents."
tags:
- claims
- member
- health-insurance
capability:
exposes:
- type: mcp
namespace: claims-history
port: 8080
tools:
- name: get-claims-history
description: "Retrieve member claims history."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: from_date
in: body
type: string
description: "Start date."
call: "claims.get-member-claims"
with:
member_id: "{{member_id}}"
from_date: "{{from_date}}"
outputParameters:
- name: claims
type: array
mapping: "$.claims"
- name: total_count
type: integer
mapping: "$.totalCount"
consumes:
- type: http
namespace: claims
baseUri: "https://api.cigna.com/claims/v1"
authentication:
type: bearer
token: "$secrets.claims_token"
resources:
- name: member-claims
path: "/members/{{member_id}}/claims"
inputParameters:
- name: member_id
in: path
- name: from_date
in: query
operations:
- name: get-member-claims
method: GET
Verifies member insurance coverage.
naftiko: "0.5"
info:
label: "Member Coverage Verification"
description: "Verifies member insurance coverage."
tags:
- insurance
- customer-service
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: get-member
description: "Verifies member insurance coverage."
inputParameters:
- name: entity_id
in: body
type: string
description: "The member coverage verification identifier."
call: "insurance-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: insurance-api
baseUri: "https://api.the-cigna-group.com/insurance/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: member
path: "/member/coverage/verification/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-member
method: GET
Retrieves a member's current deductible accumulation across medical and pharmacy claims for the current plan year.
naftiko: "0.5"
info:
label: "Member Deductible Tracker"
description: "Retrieves a member's current deductible accumulation across medical and pharmacy claims for the current plan year."
tags:
- benefits
- deductible
- member
- health-insurance
capability:
exposes:
- type: mcp
namespace: accumulators
port: 8080
tools:
- name: get-deductible-status
description: "Get member deductible accumulation for the current plan year."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
call: "benefits.get-accumulators"
with:
member_id: "{{member_id}}"
outputParameters:
- name: medical_deductible_met
type: number
mapping: "$.medicalDeductibleMet"
- name: medical_deductible_max
type: number
mapping: "$.medicalDeductibleMax"
- name: rx_deductible_met
type: number
mapping: "$.rxDeductibleMet"
- name: rx_deductible_max
type: number
mapping: "$.rxDeductibleMax"
consumes:
- type: http
namespace: benefits
baseUri: "https://api.cigna.com/benefits/v1"
authentication:
type: bearer
token: "$secrets.benefits_token"
resources:
- name: accumulators
path: "/members/{{member_id}}/accumulators"
inputParameters:
- name: member_id
in: path
operations:
- name: get-accumulators
method: GET
Checks a member's current eligibility status including plan, coverage dates, and copay amounts. Used by customer service and provider offices.
naftiko: "0.5"
info:
label: "Member Eligibility Lookup"
description: "Checks a member's current eligibility status including plan, coverage dates, and copay amounts. Used by customer service and provider offices."
tags:
- eligibility
- member
- health-insurance
capability:
exposes:
- type: mcp
namespace: member-inquiry
port: 8080
tools:
- name: check-eligibility
description: "Look up member eligibility status by member ID."
inputParameters:
- name: member_id
in: body
type: string
description: "The member ID."
call: "eligibility.get-member"
with:
member_id: "{{member_id}}"
outputParameters:
- name: status
type: string
mapping: "$.eligibilityStatus"
- name: plan_name
type: string
mapping: "$.planName"
- name: effective_date
type: string
mapping: "$.effectiveDate"
- name: termination_date
type: string
mapping: "$.terminationDate"
consumes:
- type: http
namespace: eligibility
baseUri: "https://api.cigna.com/eligibility/v1"
authentication:
type: bearer
token: "$secrets.eligibility_token"
resources:
- name: members
path: "/members/{{member_id}}"
inputParameters:
- name: member_id
in: path
operations:
- name: get-member
method: GET
Handles member grievances by documenting complaints, investigating issues, and tracking resolution.
naftiko: "0.5"
info:
label: "Member Grievance Orchestrator"
description: "Handles member grievances by documenting complaints, investigating issues, and tracking resolution."
tags:
- customer-service
- compliance
- operations
capability:
exposes:
- type: mcp
namespace: customer-service
port: 8080
tools:
- name: run-member-grievance-orchestrator
description: "Handles member grievances by documenting complaints, investigating issues, and tracking resolution."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Member Grievance Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves a digital copy of a member's insurance ID card. Used by customer service and the member portal.
naftiko: "0.5"
info:
label: "Member ID Card Retrieval"
description: "Retrieves a digital copy of a member's insurance ID card. Used by customer service and the member portal."
tags:
- member
- enrollment
- health-insurance
capability:
exposes:
- type: mcp
namespace: member-docs
port: 8080
tools:
- name: get-id-card
description: "Retrieve a member's digital ID card."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
call: "enrollment.get-id-card"
with:
member_id: "{{member_id}}"
outputParameters:
- name: card_url
type: string
mapping: "$.cardUrl"
- name: group_number
type: string
mapping: "$.groupNumber"
- name: plan_name
type: string
mapping: "$.planName"
consumes:
- type: http
namespace: enrollment
baseUri: "https://api.cigna.com/enrollment/v1"
authentication:
type: bearer
token: "$secrets.enrollment_token"
resources:
- name: id-cards
path: "/members/{{member_id}}/id-card"
inputParameters:
- name: member_id
in: path
operations:
- name: get-id-card
method: GET
Processes a member's plan change request during open enrollment: validates the new plan, updates the enrollment system, generates a new ID card, and sends confirmation.
naftiko: "0.5"
info:
label: "Member Plan Change Processor"
description: "Processes a member's plan change request during open enrollment: validates the new plan, updates the enrollment system, generates a new ID card, and sends confirmation."
tags:
- enrollment
- member
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: plan-change
port: 8080
tools:
- name: process-plan-change
description: "Process a member plan change during open enrollment."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: new_plan_id
in: body
type: string
description: "New plan ID."
- name: effective_date
in: body
type: string
description: "Effective date."
- name: member_email
in: body
type: string
description: "Member email."
steps:
- name: change-plan
type: call
call: "enrollment.change-plan"
with:
member_id: "{{member_id}}"
new_plan_id: "{{new_plan_id}}"
effective_date: "{{effective_date}}"
- name: new-id-card
type: call
call: "enrollment.generate-id-card"
with:
member_id: "{{member_id}}"
- name: confirm
type: call
call: "outlook.send-email"
with:
to: "{{member_email}}"
subject: "Cigna Plan Change Confirmed"
body: "Your plan has been changed to {{change-plan.new_plan_name}} effective {{effective_date}}. A new ID card is available in your account."
consumes:
- type: http
namespace: enrollment
baseUri: "https://api.cigna.com/enrollment/v1"
authentication:
type: bearer
token: "$secrets.enrollment_token"
resources:
- name: plan-changes
path: "/members/{{member_id}}/plan-change"
inputParameters:
- name: member_id
in: path
operations:
- name: change-plan
method: POST
- name: id-cards
path: "/members/{{member_id}}/id-card"
inputParameters:
- name: member_id
in: path
operations:
- name: generate-id-card
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Enrolls a member in a wellness program, creates their wellness profile, assigns wellness goals, and sends a welcome package email.
naftiko: "0.5"
info:
label: "Member Wellness Program Enrollment"
description: "Enrolls a member in a wellness program, creates their wellness profile, assigns wellness goals, and sends a welcome package email."
tags:
- wellness
- care-management
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: wellness
port: 8080
tools:
- name: enroll-wellness-program
description: "Enroll a member in a wellness program with goals and welcome messaging."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: program_name
in: body
type: string
description: "Wellness program name."
- name: member_email
in: body
type: string
description: "Member email."
steps:
- name: enroll-member
type: call
call: "wellness.enroll"
with:
member_id: "{{member_id}}"
program: "{{program_name}}"
- name: set-goals
type: call
call: "wellness.set-goals"
with:
enrollment_id: "{{enroll-member.enrollment_id}}"
program: "{{program_name}}"
- name: send-welcome
type: call
call: "outlook.send-email"
with:
to: "{{member_email}}"
subject: "Welcome to Cigna {{program_name}}!"
body: "You are enrolled in {{program_name}}. Your wellness goals have been set. Track your progress in the Cigna app."
consumes:
- type: http
namespace: wellness
baseUri: "https://api.cigna.com/wellness/v1"
authentication:
type: bearer
token: "$secrets.wellness_token"
resources:
- name: enrollments
path: "/enrollments"
operations:
- name: enroll
method: POST
- name: goals
path: "/enrollments/{{enrollment_id}}/goals"
inputParameters:
- name: enrollment_id
in: path
operations:
- name: set-goals
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Sends an email via Microsoft Outlook. Used for member, provider, and internal notifications.
naftiko: "0.5"
info:
label: "Microsoft Outlook Email Sender"
description: "Sends an email via Microsoft Outlook. Used for member, provider, and internal notifications."
tags:
- notification
- microsoft-outlook
- email
capability:
exposes:
- type: mcp
namespace: email-sender
port: 8080
tools:
- name: send-email
description: "Send an email via Microsoft Outlook."
inputParameters:
- name: to
in: body
type: string
description: "Recipient email."
- name: subject
in: body
type: string
description: "Subject."
- name: body
in: body
type: string
description: "Body."
call: "outlook.send-email"
with:
to: "{{to}}"
subject: "{{subject}}"
body: "{{body}}"
outputParameters:
- name: message_id
type: string
mapping: "$.id"
consumes:
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Sends a message to a Microsoft Teams channel.
naftiko: "0.5"
info:
label: "Microsoft Teams Message Sender"
description: "Sends a message to a Microsoft Teams channel."
tags:
- communications
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: communications
port: 8080
tools:
- name: get-microsoft
description: "Sends a message to a Microsoft Teams channel."
inputParameters:
- name: entity_id
in: body
type: string
description: "The microsoft teams message sender identifier."
call: "communications-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: communications-api
baseUri: "https://api.the-cigna-group.com/communications/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: microsoft
path: "/microsoft/teams/message/sender/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-microsoft
method: GET
Queries provider network data from Snowflake by region and specialty, calculates adequacy metrics, and uploads the report to SharePoint for regulatory compliance.
naftiko: "0.5"
info:
label: "Network Adequacy Report Generator"
description: "Queries provider network data from Snowflake by region and specialty, calculates adequacy metrics, and uploads the report to SharePoint for regulatory compliance."
tags:
- provider
- compliance
- network-adequacy
- snowflake
- sharepoint
- health-insurance
capability:
exposes:
- type: mcp
namespace: network-adequacy
port: 8080
tools:
- name: generate-adequacy-report
description: "Generate network adequacy report for regulatory compliance."
inputParameters:
- name: region
in: body
type: string
description: "Geographic region."
- name: reporting_period
in: body
type: string
description: "Reporting period."
- name: sharepoint_site
in: body
type: string
description: "SharePoint site ID."
steps:
- name: query-network
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT specialty, provider_count, member_count, ratio FROM NETWORK.ADEQUACY_METRICS WHERE region = '{{region}}' AND period = '{{reporting_period}}'"
- name: upload-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "{{sharepoint_site}}"
folder_path: "NetworkAdequacy/{{region}}"
file_name: "adequacy_{{reporting_period}}.json"
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
Analyzes provider network gaps by evaluating coverage, identifying needs, and generating recruitment plans.
naftiko: "0.5"
info:
label: "Network Gap Analysis Orchestrator"
description: "Analyzes provider network gaps by evaluating coverage, identifying needs, and generating recruitment plans."
tags:
- network
- analytics
- provider-management
capability:
exposes:
- type: mcp
namespace: network
port: 8080
tools:
- name: run-network-gap-analysis-orchestrator
description: "Analyzes provider network gaps by evaluating coverage, identifying needs, and generating recruitment plans."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Network Gap Analysis Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Processes a new member enrollment: creates the member record, assigns a PCP, generates an ID card, sends welcome materials via email, and updates the enrollment tracker in Salesforce.
naftiko: "0.5"
info:
label: "New Member Enrollment Orchestrator"
description: "Processes a new member enrollment: creates the member record, assigns a PCP, generates an ID card, sends welcome materials via email, and updates the enrollment tracker in Salesforce."
tags:
- enrollment
- member
- salesforce
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: enrollment
port: 8080
tools:
- name: enroll-new-member
description: "Orchestrate new member enrollment across systems."
inputParameters:
- name: first_name
in: body
type: string
description: "Member first name."
- name: last_name
in: body
type: string
description: "Member last name."
- name: dob
in: body
type: string
description: "Date of birth."
- name: plan_id
in: body
type: string
description: "Selected plan ID."
- name: email
in: body
type: string
description: "Member email."
- name: pcp_npi
in: body
type: string
description: "Selected PCP NPI."
steps:
- name: create-member
type: call
call: "enrollment.create-member"
with:
first_name: "{{first_name}}"
last_name: "{{last_name}}"
dob: "{{dob}}"
plan_id: "{{plan_id}}"
- name: assign-pcp
type: call
call: "provider.assign-pcp"
with:
member_id: "{{create-member.member_id}}"
pcp_npi: "{{pcp_npi}}"
- name: generate-id-card
type: call
call: "enrollment.generate-id-card"
with:
member_id: "{{create-member.member_id}}"
- name: update-sf
type: call
call: "salesforce.create-record"
with:
object: "Enrollment__c"
Member_ID__c: "{{create-member.member_id}}"
Plan__c: "{{plan_id}}"
Status__c: "Active"
- name: send-welcome
type: call
call: "outlook.send-email"
with:
to: "{{email}}"
subject: "Welcome to Cigna Health Insurance"
body: "Welcome {{first_name}}! Your member ID is {{create-member.member_id}}. Your PCP has been assigned. Your digital ID card is available in the Cigna app."
consumes:
- type: http
namespace: enrollment
baseUri: "https://api.cigna.com/enrollment/v1"
authentication:
type: bearer
token: "$secrets.enrollment_token"
resources:
- name: members
path: "/members"
operations:
- name: create-member
method: POST
- name: id-cards
path: "/members/{{member_id}}/id-card"
inputParameters:
- name: member_id
in: path
operations:
- name: generate-id-card
method: POST
- type: http
namespace: provider
baseUri: "https://api.cigna.com/provider/v1"
authentication:
type: bearer
token: "$secrets.provider_token"
resources:
- name: pcp
path: "/members/{{member_id}}/pcp"
inputParameters:
- name: member_id
in: path
operations:
- name: assign-pcp
method: POST
- type: http
namespace: salesforce
baseUri: "https://cigna.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Queries eligible members from Snowflake, creates a Salesforce Marketing Cloud campaign, sends personalized enrollment reminders, and tracks engagement in Salesforce.
naftiko: "0.5"
info:
label: "Open Enrollment Campaign Orchestrator"
description: "Queries eligible members from Snowflake, creates a Salesforce Marketing Cloud campaign, sends personalized enrollment reminders, and tracks engagement in Salesforce."
tags:
- enrollment
- marketing
- snowflake
- salesforce
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: open-enrollment
port: 8080
tools:
- name: launch-enrollment-campaign
description: "Launch open enrollment communication campaign for eligible members."
inputParameters:
- name: plan_year
in: body
type: string
description: "Upcoming plan year."
- name: enrollment_deadline
in: body
type: string
description: "Enrollment deadline date."
steps:
- name: get-eligible
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT member_id, email, current_plan FROM ENROLLMENT.ELIGIBLE_MEMBERS WHERE plan_year = '{{plan_year}}'"
- name: create-campaign
type: call
call: "salesforce.create-record"
with:
object: "Campaign"
Name: "Open Enrollment {{plan_year}}"
Type: "Email"
Status: "In Progress"
- name: send-reminders
type: call
call: "outlook.send-email"
with:
to: "{{get-eligible.data}}"
subject: "Cigna Open Enrollment - Action Required by {{enrollment_deadline}}"
body: "Open enrollment for {{plan_year}} is now open. Review your plan options and make your selection by {{enrollment_deadline}}."
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: salesforce
baseUri: "https://cigna.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Checks a member's pharmacy benefit coverage for a specific medication including formulary status, copay tier, and prior authorization requirements.
naftiko: "0.5"
info:
label: "Pharmacy Benefit Verification"
description: "Checks a member's pharmacy benefit coverage for a specific medication including formulary status, copay tier, and prior authorization requirements."
tags:
- pharmacy
- formulary
- health-insurance
capability:
exposes:
- type: mcp
namespace: pharmacy-benefits
port: 8080
tools:
- name: check-pharmacy-benefit
description: "Verify pharmacy benefit coverage for a specific medication."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: ndc_code
in: body
type: string
description: "National Drug Code."
call: "pharmacy.check-coverage"
with:
member_id: "{{member_id}}"
ndc: "{{ndc_code}}"
outputParameters:
- name: covered
type: boolean
mapping: "$.isCovered"
- name: tier
type: string
mapping: "$.formularyTier"
- name: copay
type: number
mapping: "$.copayAmount"
- name: prior_auth_required
type: boolean
mapping: "$.priorAuthRequired"
consumes:
- type: http
namespace: pharmacy
baseUri: "https://api.cigna.com/pharmacy/v1"
authentication:
type: bearer
token: "$secrets.pharmacy_token"
resources:
- name: coverage
path: "/members/{{member_id}}/coverage"
inputParameters:
- name: member_id
in: path
- name: ndc
in: query
operations:
- name: check-coverage
method: GET
Processes a pharmacy claim: verifies member pharmacy benefits, checks formulary, applies copay rules, and posts the adjudicated result to the pharmacy claims system.
naftiko: "0.5"
info:
label: "Pharmacy Claim Processor"
description: "Processes a pharmacy claim: verifies member pharmacy benefits, checks formulary, applies copay rules, and posts the adjudicated result to the pharmacy claims system."
tags:
- pharmacy
- claims
- formulary
- health-insurance
capability:
exposes:
- type: mcp
namespace: pharmacy-claims
port: 8080
tools:
- name: process-pharmacy-claim
description: "Adjudicate a pharmacy claim through benefit verification and formulary check."
inputParameters:
- name: rx_claim_id
in: body
type: string
description: "Pharmacy claim ID."
- name: member_id
in: body
type: string
description: "Member ID."
- name: ndc_code
in: body
type: string
description: "National Drug Code."
- name: quantity
in: body
type: integer
description: "Quantity dispensed."
- name: pharmacy_npi
in: body
type: string
description: "Dispensing pharmacy NPI."
steps:
- name: verify-rx-benefits
type: call
call: "pharmacy.check-coverage"
with:
member_id: "{{member_id}}"
ndc: "{{ndc_code}}"
- name: calculate-cost
type: call
call: "pharmacy.calculate-cost"
with:
ndc: "{{ndc_code}}"
quantity: "{{quantity}}"
tier: "{{verify-rx-benefits.formularyTier}}"
- name: post-rx-claim
type: call
call: "pharmacy.post-claim"
with:
rx_claim_id: "{{rx_claim_id}}"
member_id: "{{member_id}}"
copay: "{{calculate-cost.member_copay}}"
plan_pays: "{{calculate-cost.plan_amount}}"
consumes:
- type: http
namespace: pharmacy
baseUri: "https://api.cigna.com/pharmacy/v1"
authentication:
type: bearer
token: "$secrets.pharmacy_token"
resources:
- name: coverage
path: "/members/{{member_id}}/coverage"
inputParameters:
- name: member_id
in: path
- name: ndc
in: query
operations:
- name: check-coverage
method: GET
- name: cost-calculation
path: "/cost-calculate"
operations:
- name: calculate-cost
method: POST
- name: claims
path: "/claims"
operations:
- name: post-claim
method: POST
Updates pharmacy formulary by reviewing drug evaluations, updating the formulary database, and notifying pharmacies.
naftiko: "0.5"
info:
label: "Pharmacy Formulary Update Orchestrator"
description: "Updates pharmacy formulary by reviewing drug evaluations, updating the formulary database, and notifying pharmacies."
tags:
- pharmacy
- clinical
- compliance
capability:
exposes:
- type: mcp
namespace: pharmacy
port: 8080
tools:
- name: run-pharmacy-formulary-update-orchestrator
description: "Updates pharmacy formulary by reviewing drug evaluations, updating the formulary database, and notifying pharmacies."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Pharmacy Formulary Update Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Processes a mail-order pharmacy prescription: verifies coverage, submits to the fulfillment center, tracks shipment, and sends confirmation to the member.
naftiko: "0.5"
info:
label: "Pharmacy Mail Order Fulfillment"
description: "Processes a mail-order pharmacy prescription: verifies coverage, submits to the fulfillment center, tracks shipment, and sends confirmation to the member."
tags:
- pharmacy
- mail-order
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: mail-order-rx
port: 8080
tools:
- name: process-mail-order
description: "Process a mail-order pharmacy prescription."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: ndc_code
in: body
type: string
description: "National Drug Code."
- name: quantity
in: body
type: integer
description: "Quantity prescribed."
- name: prescriber_npi
in: body
type: string
description: "Prescribing provider NPI."
- name: member_email
in: body
type: string
description: "Member email."
steps:
- name: verify-rx
type: call
call: "pharmacy.check-coverage"
with:
member_id: "{{member_id}}"
ndc: "{{ndc_code}}"
- name: submit-order
type: call
call: "pharmacy.submit-mail-order"
with:
member_id: "{{member_id}}"
ndc: "{{ndc_code}}"
quantity: "{{quantity}}"
prescriber_npi: "{{prescriber_npi}}"
- name: confirm-member
type: call
call: "outlook.send-email"
with:
to: "{{member_email}}"
subject: "Cigna Mail Order Pharmacy - Prescription Shipped"
body: "Your prescription order {{submit-order.order_id}} has been submitted. Estimated delivery: {{submit-order.estimated_delivery}}. Copay: ${{verify-rx.copayAmount}}."
consumes:
- type: http
namespace: pharmacy
baseUri: "https://api.cigna.com/pharmacy/v1"
authentication:
type: bearer
token: "$secrets.pharmacy_token"
resources:
- name: coverage
path: "/members/{{member_id}}/coverage"
inputParameters:
- name: member_id
in: path
- name: ndc
in: query
operations:
- name: check-coverage
method: GET
- name: mail-orders
path: "/mail-orders"
operations:
- name: submit-mail-order
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Retrieves insurance policy details by policy number.
naftiko: "0.5"
info:
label: "Policy Details Lookup"
description: "Retrieves insurance policy details by policy number."
tags:
- insurance
- customer-service
capability:
exposes:
- type: mcp
namespace: insurance
port: 8080
tools:
- name: get-policy
description: "Retrieves insurance policy details by policy number."
inputParameters:
- name: entity_id
in: body
type: string
description: "The policy details lookup identifier."
call: "insurance-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: insurance-api
baseUri: "https://api.the-cigna-group.com/insurance/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: policy
path: "/policy/details/lookup/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-policy
method: GET
Runs population health analytics from Snowflake claims data, identifies high-risk members, creates care management referrals, and alerts the care team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Population Health Risk Stratification"
description: "Runs population health analytics from Snowflake claims data, identifies high-risk members, creates care management referrals, and alerts the care team via Microsoft Teams."
tags:
- care-management
- analytics
- snowflake
- microsoft-teams
- health-insurance
capability:
exposes:
- type: mcp
namespace: population-health
port: 8080
tools:
- name: stratify-population-risk
description: "Run risk stratification and create care referrals for high-risk members."
inputParameters:
- name: cohort
in: body
type: string
description: "Population cohort name."
- name: risk_threshold
in: body
type: number
description: "Risk score threshold for intervention."
- name: teams_webhook
in: body
type: string
description: "Teams webhook for care team notification."
steps:
- name: run-stratification
type: call
call: "snowflake.execute-query"
with:
statement: "CALL CLINICAL.RUN_RISK_STRATIFICATION('{{cohort}}', {{risk_threshold}})"
- name: get-high-risk
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT member_id, risk_score, top_conditions FROM CLINICAL.HIGH_RISK_MEMBERS WHERE cohort = '{{cohort}}' AND risk_score >= {{risk_threshold}}"
- name: create-referrals
type: call
call: "caremanagement.batch-referrals"
with:
members: "{{get-high-risk.data}}"
- name: notify-care-team
type: call
call: "msteams.send-message"
with:
webhook_url: "{{teams_webhook}}"
text: "Population health: {{get-high-risk.row_count}} high-risk members identified in {{cohort}}. Referrals created."
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: caremanagement
baseUri: "https://api.cigna.com/care-management/v1"
authentication:
type: bearer
token: "$secrets.caremanagement_token"
resources:
- name: batch-referrals
path: "/referrals/batch"
operations:
- name: batch-referrals
method: POST
- type: http
namespace: msteams
baseUri: "{{webhook_url}}"
authentication:
type: none
resources:
- name: webhook
path: ""
operations:
- name: send-message
method: POST
Triggers a Power BI dataset refresh.
naftiko: "0.5"
info:
label: "Power BI Dashboard Refresher"
description: "Triggers a Power BI dataset refresh."
tags:
- analytics
- power-bi
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: get-power
description: "Triggers a Power BI dataset refresh."
inputParameters:
- name: entity_id
in: body
type: string
description: "The power bi dashboard refresher identifier."
call: "analytics-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: analytics-api
baseUri: "https://api.the-cigna-group.com/analytics/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: power
path: "/power/bi/dashboard/refresher/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-power
method: GET
Triggers a refresh on a Power BI dataset. Used to keep dashboards current.
naftiko: "0.5"
info:
label: "Power BI Dataset Refresher"
description: "Triggers a refresh on a Power BI dataset. Used to keep dashboards current."
tags:
- analytics
- power-bi
- reporting
capability:
exposes:
- type: mcp
namespace: bi-refresh
port: 8080
tools:
- name: refresh-pbi-dataset
description: "Trigger a Power BI dataset refresh."
inputParameters:
- name: dataset_id
in: body
type: string
description: "Power BI dataset ID."
call: "powerbi.refresh-dataset"
with:
dataset_id: "{{dataset_id}}"
outputParameters:
- name: request_id
type: string
mapping: "$.requestId"
consumes:
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: dataset_id
in: path
operations:
- name: refresh-dataset
method: POST
Checks for drug interactions between a member's current medications and a newly prescribed medication using the pharmacy clinical rules engine.
naftiko: "0.5"
info:
label: "Prescription Drug Interaction Checker"
description: "Checks for drug interactions between a member's current medications and a newly prescribed medication using the pharmacy clinical rules engine."
tags:
- pharmacy
- clinical
- drug-interactions
- health-insurance
capability:
exposes:
- type: mcp
namespace: drug-safety
port: 8080
tools:
- name: check-drug-interactions
description: "Check for drug interactions for a member."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: new_ndc
in: body
type: string
description: "NDC of newly prescribed drug."
call: "pharmacy.check-interactions"
with:
member_id: "{{member_id}}"
ndc: "{{new_ndc}}"
outputParameters:
- name: interactions_found
type: boolean
mapping: "$.hasInteractions"
- name: interactions
type: array
mapping: "$.interactions"
- name: severity
type: string
mapping: "$.maxSeverity"
consumes:
- type: http
namespace: pharmacy
baseUri: "https://api.cigna.com/pharmacy/v1"
authentication:
type: bearer
token: "$secrets.pharmacy_token"
resources:
- name: interactions
path: "/members/{{member_id}}/drug-interactions"
inputParameters:
- name: member_id
in: path
- name: ndc
in: query
operations:
- name: check-interactions
method: GET
Identifies members with preventive care gaps from Snowflake, generates outreach lists, creates Salesforce campaigns, and sends reminder emails to close care gaps.
naftiko: "0.5"
info:
label: "Preventive Care Gap Closer"
description: "Identifies members with preventive care gaps from Snowflake, generates outreach lists, creates Salesforce campaigns, and sends reminder emails to close care gaps."
tags:
- care-management
- preventive-care
- snowflake
- salesforce
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: care-gaps
port: 8080
tools:
- name: close-care-gaps
description: "Identify care gaps, create outreach campaigns, and send reminders."
inputParameters:
- name: measure_name
in: body
type: string
description: "Preventive care measure name."
- name: plan_year
in: body
type: string
description: "Plan year."
steps:
- name: find-gaps
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT member_id, email, last_service_date FROM QUALITY.CARE_GAPS WHERE measure = '{{measure_name}}' AND plan_year = '{{plan_year}}'"
- name: create-campaign
type: call
call: "salesforce.create-record"
with:
object: "Campaign"
Name: "Care Gap Closure: {{measure_name}} {{plan_year}}"
Type: "Outreach"
- name: send-reminders
type: call
call: "outlook.send-email"
with:
to: "{{find-gaps.data}}"
subject: "Cigna - Schedule Your {{measure_name}}"
body: "Our records show you may be due for {{measure_name}}. Schedule with your provider today. Many preventive services are covered at no cost."
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: salesforce
baseUri: "https://cigna.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Processes prior authorization requests by reviewing clinical criteria, making decisions, and notifying providers.
naftiko: "0.5"
info:
label: "Prior Authorization Decision Orchestrator"
description: "Processes prior authorization requests by reviewing clinical criteria, making decisions, and notifying providers."
tags:
- clinical
- claims
- provider-management
capability:
exposes:
- type: mcp
namespace: clinical
port: 8080
tools:
- name: run-prior-auth-decision-orchestrator
description: "Processes prior authorization requests by reviewing clinical criteria, making decisions, and notifying providers."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Prior Authorization Decision Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Submits a prior authorization request for a medical procedure: validates member eligibility, checks clinical criteria, submits the auth request, and notifies the provider and member.
naftiko: "0.5"
info:
label: "Prior Authorization Request Pipeline"
description: "Submits a prior authorization request for a medical procedure: validates member eligibility, checks clinical criteria, submits the auth request, and notifies the provider and member."
tags:
- claims
- prior-authorization
- care-management
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: prior-auth
port: 8080
tools:
- name: submit-prior-auth
description: "Submit and process a prior authorization request."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: provider_npi
in: body
type: string
description: "Requesting provider NPI."
- name: procedure_code
in: body
type: string
description: "CPT code requiring authorization."
- name: diagnosis_code
in: body
type: string
description: "ICD-10 diagnosis code."
- name: provider_email
in: body
type: string
description: "Provider contact email."
steps:
- name: verify-eligibility
type: call
call: "eligibility.verify-member"
with:
member_id: "{{member_id}}"
- name: check-clinical
type: call
call: "utilization.check-criteria"
with:
procedure_code: "{{procedure_code}}"
diagnosis_code: "{{diagnosis_code}}"
plan_id: "{{verify-eligibility.plan_id}}"
- name: submit-auth
type: call
call: "utilization.create-auth"
with:
member_id: "{{member_id}}"
provider_npi: "{{provider_npi}}"
procedure_code: "{{procedure_code}}"
diagnosis_code: "{{diagnosis_code}}"
clinical_decision: "{{check-clinical.decision}}"
- name: notify-provider
type: call
call: "outlook.send-email"
with:
to: "{{provider_email}}"
subject: "Prior Authorization Decision - {{submit-auth.auth_number}}"
body: "Authorization {{submit-auth.auth_number}} for member {{member_id}}: {{submit-auth.decision}}. Procedure: {{procedure_code}}."
consumes:
- type: http
namespace: eligibility
baseUri: "https://api.cigna.com/eligibility/v1"
authentication:
type: bearer
token: "$secrets.eligibility_token"
resources:
- name: members
path: "/members/{{member_id}}/verify"
inputParameters:
- name: member_id
in: path
operations:
- name: verify-member
method: GET
- type: http
namespace: utilization
baseUri: "https://api.cigna.com/utilization/v1"
authentication:
type: bearer
token: "$secrets.utilization_token"
resources:
- name: criteria
path: "/clinical-criteria"
operations:
- name: check-criteria
method: POST
- name: authorizations
path: "/authorizations"
operations:
- name: create-auth
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports.
naftiko: "0.5"
info:
label: "Procurement Spend Analysis Orchestrator"
description: "Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports."
tags:
- procurement
- analytics
- finance
capability:
exposes:
- type: mcp
namespace: procurement
port: 8080
tools:
- name: run-procurement-spend-analysis-orchestrator
description: "Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Procurement Spend Analysis Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Manages provider contract negotiations by analyzing reimbursement data, modeling proposals, and tracking agreements.
naftiko: "0.5"
info:
label: "Provider Contract Negotiation Orchestrator"
description: "Manages provider contract negotiations by analyzing reimbursement data, modeling proposals, and tracking agreements."
tags:
- provider-management
- finance
- legal
capability:
exposes:
- type: mcp
namespace: provider-management
port: 8080
tools:
- name: run-provider-contract-negotiation-orchestrator
description: "Manages provider contract negotiations by analyzing reimbursement data, modeling proposals, and tracking agreements."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Provider Contract Negotiation Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates provider credentialing: verifies medical license, checks NPDB, validates DEA certification, updates provider status in the directory, and notifies via ServiceNow.
naftiko: "0.5"
info:
label: "Provider Credentialing Pipeline"
description: "Orchestrates provider credentialing: verifies medical license, checks NPDB, validates DEA certification, updates provider status in the directory, and notifies via ServiceNow."
tags:
- provider
- credentialing
- compliance
- servicenow
- health-insurance
capability:
exposes:
- type: mcp
namespace: credentialing
port: 8080
tools:
- name: credential-provider
description: "Run full provider credentialing workflow."
inputParameters:
- name: provider_npi
in: body
type: string
description: "Provider NPI number."
- name: provider_name
in: body
type: string
description: "Provider full name."
- name: license_number
in: body
type: string
description: "Medical license number."
- name: state
in: body
type: string
description: "State of licensure."
steps:
- name: verify-license
type: call
call: "credentialing.verify-license"
with:
license_number: "{{license_number}}"
state: "{{state}}"
- name: check-npdb
type: call
call: "credentialing.check-npdb"
with:
npi: "{{provider_npi}}"
name: "{{provider_name}}"
- name: verify-dea
type: call
call: "credentialing.verify-dea"
with:
npi: "{{provider_npi}}"
- name: update-directory
type: call
call: "provider.update-status"
with:
npi: "{{provider_npi}}"
credential_status: "verified"
license_verified: "{{verify-license.is_valid}}"
npdb_clear: "{{check-npdb.is_clear}}"
- name: log-credentialing
type: call
call: "servicenow.create-record"
with:
table: "u_provider_credentialing"
provider_npi: "{{provider_npi}}"
status: "completed"
result: "{{verify-license.is_valid}}"
consumes:
- type: http
namespace: credentialing
baseUri: "https://api.cigna.com/credentialing/v1"
authentication:
type: bearer
token: "$secrets.credentialing_token"
resources:
- name: license
path: "/verify-license"
operations:
- name: verify-license
method: POST
- name: npdb
path: "/npdb-check"
operations:
- name: check-npdb
method: POST
- name: dea
path: "/verify-dea"
operations:
- name: verify-dea
method: POST
- type: http
namespace: provider
baseUri: "https://api.cigna.com/provider/v1"
authentication:
type: bearer
token: "$secrets.provider_token"
resources:
- name: providers
path: "/providers/{{npi}}"
inputParameters:
- name: npi
in: path
operations:
- name: update-status
method: PATCH
- type: http
namespace: servicenow
baseUri: "https://cigna.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: records
path: "/table/{{table}}"
inputParameters:
- name: table
in: path
operations:
- name: create-record
method: POST
Searches the provider directory by specialty, location, and network to return matching in-network providers with names, addresses, and availability.
naftiko: "0.5"
info:
label: "Provider Directory Search"
description: "Searches the provider directory by specialty, location, and network to return matching in-network providers with names, addresses, and availability."
tags:
- provider
- directory
- health-insurance
capability:
exposes:
- type: mcp
namespace: provider-search
port: 8080
tools:
- name: search-providers
description: "Search for in-network providers by specialty and location."
inputParameters:
- name: specialty
in: body
type: string
description: "Medical specialty."
- name: zip_code
in: body
type: string
description: "ZIP code for location."
- name: plan_id
in: body
type: string
description: "Plan ID for network filtering."
- name: radius_miles
in: body
type: integer
description: "Search radius in miles."
call: "provider.search"
with:
specialty: "{{specialty}}"
zip: "{{zip_code}}"
plan_id: "{{plan_id}}"
radius: "{{radius_miles}}"
outputParameters:
- name: providers
type: array
mapping: "$.providers"
- name: total_count
type: integer
mapping: "$.totalCount"
consumes:
- type: http
namespace: provider
baseUri: "https://api.cigna.com/provider/v1"
authentication:
type: bearer
token: "$secrets.provider_token"
resources:
- name: search
path: "/search"
inputParameters:
- name: specialty
in: query
- name: zip
in: query
- name: plan_id
in: query
- name: radius
in: query
operations:
- name: search
method: GET
Retrieves the contracted fee schedule for a provider by NPI and procedure code. Used by claims adjusters and provider relations.
naftiko: "0.5"
info:
label: "Provider Network Fee Schedule Lookup"
description: "Retrieves the contracted fee schedule for a provider by NPI and procedure code. Used by claims adjusters and provider relations."
tags:
- provider
- fee-schedule
- claims
- health-insurance
capability:
exposes:
- type: mcp
namespace: fee-schedule
port: 8080
tools:
- name: get-fee-schedule
description: "Look up contracted fee for a provider and procedure."
inputParameters:
- name: provider_npi
in: body
type: string
description: "Provider NPI."
- name: procedure_code
in: body
type: string
description: "CPT procedure code."
call: "provider.get-fee"
with:
npi: "{{provider_npi}}"
cpt: "{{procedure_code}}"
outputParameters:
- name: allowed_amount
type: number
mapping: "$.allowedAmount"
- name: network
type: string
mapping: "$.networkTier"
- name: effective_date
type: string
mapping: "$.effectiveDate"
consumes:
- type: http
namespace: provider
baseUri: "https://api.cigna.com/provider/v1"
authentication:
type: bearer
token: "$secrets.provider_token"
resources:
- name: fees
path: "/providers/{{npi}}/fees"
inputParameters:
- name: npi
in: path
- name: cpt
in: query
operations:
- name: get-fee
method: GET
Searches for providers in the insurance network.
naftiko: "0.5"
info:
label: "Provider Network Lookup"
description: "Searches for providers in the insurance network."
tags:
- network
- provider-management
capability:
exposes:
- type: mcp
namespace: network
port: 8080
tools:
- name: get-provider
description: "Searches for providers in the insurance network."
inputParameters:
- name: entity_id
in: body
type: string
description: "The provider network lookup identifier."
call: "network-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: network-api
baseUri: "https://api.the-cigna-group.com/network/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: provider
path: "/provider/network/lookup/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-provider
method: GET
Retrieves provider details by NPI number including name, specialty, and address.
naftiko: "0.5"
info:
label: "Provider NPI Lookup"
description: "Retrieves provider details by NPI number including name, specialty, and address."
tags:
- provider
- directory
- health-insurance
capability:
exposes:
- type: mcp
namespace: provider-lookup
port: 8080
tools:
- name: get-provider-by-npi
description: "Look up provider details by NPI."
inputParameters:
- name: npi
in: body
type: string
description: "Provider NPI."
call: "provider.get-provider"
with:
npi: "{{npi}}"
outputParameters:
- name: name
type: string
mapping: "$.providerName"
- name: specialty
type: string
mapping: "$.specialty"
- name: address
type: string
mapping: "$.practiceAddress"
consumes:
- type: http
namespace: provider
baseUri: "https://api.cigna.com/provider/v1"
authentication:
type: bearer
token: "$secrets.provider_token"
resources:
- name: providers
path: "/providers/{{npi}}"
inputParameters:
- name: npi
in: path
operations:
- name: get-provider
method: GET
Generates an electronic remittance advice (ERA) for a provider payment, uploads it to the provider portal, and sends an email notification to the provider.
naftiko: "0.5"
info:
label: "Provider Payment Remittance Generator"
description: "Generates an electronic remittance advice (ERA) for a provider payment, uploads it to the provider portal, and sends an email notification to the provider."
tags:
- claims
- provider
- payments
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: remittance
port: 8080
tools:
- name: generate-remittance
description: "Generate ERA for a provider payment batch and notify."
inputParameters:
- name: batch_id
in: body
type: string
description: "Payment batch ID."
- name: provider_npi
in: body
type: string
description: "Provider NPI."
- name: provider_email
in: body
type: string
description: "Provider email."
steps:
- name: generate-era
type: call
call: "payments.generate-era"
with:
batch_id: "{{batch_id}}"
provider_npi: "{{provider_npi}}"
- name: notify-provider
type: call
call: "outlook.send-email"
with:
to: "{{provider_email}}"
subject: "Cigna Payment Remittance - Batch {{batch_id}}"
body: "Your electronic remittance advice for batch {{batch_id}} is available. Total payment: ${{generate-era.total_amount}}. Claims: {{generate-era.claim_count}}."
consumes:
- type: http
namespace: payments
baseUri: "https://api.cigna.com/payments/v1"
authentication:
type: bearer
token: "$secrets.payments_token"
resources:
- name: era
path: "/era"
operations:
- name: generate-era
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders.
naftiko: "0.5"
info:
label: "Quarterly Business Review Orchestrator"
description: "Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders."
tags:
- analytics
- business
- sharepoint
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: run-quarterly-business-review-orchestrator
description: "Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Quarterly Business Review Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Generates regulatory compliance filings from Snowflake data, submits to CMS, archives in SharePoint, and logs submission in ServiceNow.
naftiko: "0.5"
info:
label: "Regulatory Compliance Filing Pipeline"
description: "Generates regulatory compliance filings from Snowflake data, submits to CMS, archives in SharePoint, and logs submission in ServiceNow."
tags:
- compliance
- regulatory
- snowflake
- sharepoint
- servicenow
- health-insurance
capability:
exposes:
- type: mcp
namespace: regulatory-filing
port: 8080
tools:
- name: submit-regulatory-filing
description: "Generate, submit, and archive a regulatory compliance filing."
inputParameters:
- name: filing_type
in: body
type: string
description: "Type of regulatory filing."
- name: reporting_period
in: body
type: string
description: "Reporting period."
- name: sharepoint_site
in: body
type: string
description: "SharePoint site for archival."
steps:
- name: extract-data
type: call
call: "snowflake.execute-query"
with:
statement: "CALL COMPLIANCE.GENERATE_FILING_DATA('{{filing_type}}', '{{reporting_period}}')"
- name: submit-to-cms
type: call
call: "regulatory.submit-filing"
with:
filing_type: "{{filing_type}}"
period: "{{reporting_period}}"
data: "{{extract-data.data}}"
- name: archive-filing
type: call
call: "sharepoint.upload-file"
with:
site_id: "{{sharepoint_site}}"
folder_path: "RegulatoryFilings/{{filing_type}}"
file_name: "{{filing_type}}_{{reporting_period}}.json"
- name: log-submission
type: call
call: "servicenow.create-record"
with:
table: "u_regulatory_filings"
filing_type: "{{filing_type}}"
period: "{{reporting_period}}"
submission_id: "{{submit-to-cms.filing_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: regulatory
baseUri: "https://api.cigna.com/regulatory/v1"
authentication:
type: bearer
token: "$secrets.regulatory_token"
resources:
- name: filings
path: "/filings"
operations:
- name: submit-filing
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: servicenow
baseUri: "https://cigna.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: records
path: "/table/{{table}}"
inputParameters:
- name: table
in: path
operations:
- name: create-record
method: POST
Retrieves a Salesforce account by account ID.
naftiko: "0.5"
info:
label: "Salesforce Account Viewer"
description: "Retrieves a Salesforce account by account ID."
tags:
- sales
- salesforce
capability:
exposes:
- type: mcp
namespace: sales
port: 8080
tools:
- name: get-salesforce
description: "Retrieves a Salesforce account by account ID."
inputParameters:
- name: entity_id
in: body
type: string
description: "The salesforce account viewer identifier."
call: "sales-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: sales-api
baseUri: "https://api.the-cigna-group.com/sales/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: salesforce
path: "/salesforce/account/viewer/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-salesforce
method: GET
Retrieves a Salesforce contact record by ID. Used by customer service and sales.
naftiko: "0.5"
info:
label: "Salesforce Contact Viewer"
description: "Retrieves a Salesforce contact record by ID. Used by customer service and sales."
tags:
- crm
- salesforce
capability:
exposes:
- type: mcp
namespace: crm-viewer
port: 8080
tools:
- name: get-sf-contact
description: "Retrieve a Salesforce contact by ID."
inputParameters:
- name: contact_id
in: body
type: string
description: "Salesforce Contact ID."
call: "salesforce.get-contact"
with:
contact_id: "{{contact_id}}"
outputParameters:
- name: name
type: string
mapping: "$.Name"
- name: email
type: string
mapping: "$.Email"
consumes:
- type: http
namespace: salesforce
baseUri: "https://cigna.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contacts
path: "/sobjects/Contact/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-contact
method: GET
Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation.
naftiko: "0.5"
info:
label: "Security Audit Orchestrator"
description: "Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation."
tags:
- security
- servicenow
- compliance
capability:
exposes:
- type: mcp
namespace: security
port: 8080
tools:
- name: run-security-audit-orchestrator
description: "Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Security Audit Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Creates a new incident in ServiceNow.
naftiko: "0.5"
info:
label: "ServiceNow Incident Creator"
description: "Creates a new incident in ServiceNow."
tags:
- it
- servicenow
capability:
exposes:
- type: mcp
namespace: it
port: 8080
tools:
- name: get-servicenow
description: "Creates a new incident in ServiceNow."
inputParameters:
- name: entity_id
in: body
type: string
description: "The servicenow incident creator identifier."
call: "it-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: it-api
baseUri: "https://api.the-cigna-group.com/it/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: servicenow
path: "/servicenow/incident/creator/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-servicenow
method: GET
Retrieves a ServiceNow incident by number. Used by IT and operations staff.
naftiko: "0.5"
info:
label: "ServiceNow Incident Viewer"
description: "Retrieves a ServiceNow incident by number. Used by IT and operations staff."
tags:
- incident-management
- servicenow
capability:
exposes:
- type: mcp
namespace: incident-lookup
port: 8080
tools:
- name: get-incident
description: "Look up a ServiceNow incident by number."
inputParameters:
- name: incident_number
in: body
type: string
description: "Incident number."
call: "servicenow.get-incident"
with:
number: "{{incident_number}}"
outputParameters:
- name: state
type: string
mapping: "$.result.state"
- name: short_description
type: string
mapping: "$.result.short_description"
- name: assigned_to
type: string
mapping: "$.result.assigned_to.display_value"
consumes:
- type: http
namespace: servicenow
baseUri: "https://cigna.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
inputParameters:
- name: sysparm_query
in: query
operations:
- name: get-incident
method: GET
Uploads a file to SharePoint. Used for report and document archival.
naftiko: "0.5"
info:
label: "SharePoint File Uploader"
description: "Uploads a file to SharePoint. Used for report and document archival."
tags:
- document-management
- sharepoint
capability:
exposes:
- type: mcp
namespace: doc-upload
port: 8080
tools:
- name: upload-to-sharepoint
description: "Upload a file to SharePoint."
inputParameters:
- name: site_id
in: body
type: string
description: "SharePoint site ID."
- name: folder_path
in: body
type: string
description: "Folder path."
- name: file_name
in: body
type: string
description: "File name."
call: "sharepoint.upload-file"
with:
site_id: "{{site_id}}"
folder_path: "{{folder_path}}"
file_name: "{{file_name}}"
outputParameters:
- name: web_url
type: string
mapping: "$.webUrl"
consumes:
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
Sends a notification to a Slack channel.
naftiko: "0.5"
info:
label: "Slack Notification Publisher"
description: "Sends a notification to a Slack channel."
tags:
- communications
- slack
capability:
exposes:
- type: mcp
namespace: communications
port: 8080
tools:
- name: get-slack
description: "Sends a notification to a Slack channel."
inputParameters:
- name: entity_id
in: body
type: string
description: "The slack notification publisher identifier."
call: "communications-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: communications-api
baseUri: "https://api.the-cigna-group.com/communications/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: slack
path: "/slack/notification/publisher/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-slack
method: GET
Sends a message to a Slack channel. Used across Cigna operations for alerts and notifications.
naftiko: "0.5"
info:
label: "Slack Notification Sender"
description: "Sends a message to a Slack channel. Used across Cigna operations for alerts and notifications."
tags:
- notification
- slack
- messaging
capability:
exposes:
- type: mcp
namespace: notifications
port: 8080
tools:
- name: send-slack-message
description: "Send a message to a Slack channel."
inputParameters:
- name: channel
in: body
type: string
description: "Slack channel."
- name: text
in: body
type: string
description: "Message text."
call: "slack.post-message"
with:
channel: "{{channel}}"
text: "{{text}}"
outputParameters:
- name: ts
type: string
mapping: "$.ts"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Runs an analytics query against the Snowflake data warehouse.
naftiko: "0.5"
info:
label: "Snowflake Analytics Query"
description: "Runs an analytics query against the Snowflake data warehouse."
tags:
- analytics
- snowflake
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: get-snowflake
description: "Runs an analytics query against the Snowflake data warehouse."
inputParameters:
- name: entity_id
in: body
type: string
description: "The snowflake analytics query identifier."
call: "analytics-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: analytics-api
baseUri: "https://api.the-cigna-group.com/analytics/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: snowflake
path: "/snowflake/analytics/query/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-snowflake
method: GET
Executes a SQL query against Cigna's Snowflake data warehouse and returns results.
naftiko: "0.5"
info:
label: "Snowflake Query Runner"
description: "Executes a SQL query against Cigna's Snowflake data warehouse and returns results."
tags:
- analytics
- snowflake
capability:
exposes:
- type: mcp
namespace: data-query
port: 8080
tools:
- name: run-snowflake-query
description: "Execute a SQL query on Snowflake and return results."
inputParameters:
- name: statement
in: body
type: string
description: "SQL statement to execute."
call: "snowflake.execute-query"
with:
statement: "{{statement}}"
outputParameters:
- name: data
type: array
mapping: "$.data"
- name: row_count
type: integer
mapping: "$.resultSetMetaData.numRows"
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
Improves CMS star ratings by identifying gaps, assigning improvement initiatives, and tracking progress.
naftiko: "0.5"
info:
label: "Star Rating Improvement Orchestrator"
description: "Improves CMS star ratings by identifying gaps, assigning improvement initiatives, and tracking progress."
tags:
- quality
- analytics
- compliance
capability:
exposes:
- type: mcp
namespace: quality
port: 8080
tools:
- name: run-star-rating-improvement-orchestrator
description: "Improves CMS star ratings by identifying gaps, assigning improvement initiatives, and tracking progress."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Star Rating Improvement Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports.
naftiko: "0.5"
info:
label: "Sustainability Metrics Collection Orchestrator"
description: "Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports."
tags:
- sustainability
- analytics
- compliance
capability:
exposes:
- type: mcp
namespace: sustainability
port: 8080
tools:
- name: run-sustainability-metrics-collection-orchestrator
description: "Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Sustainability Metrics Collection Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Schedules a telehealth visit for a member by checking availability, creating the appointment, and sending confirmation with join link via email.
naftiko: "0.5"
info:
label: "Telehealth Visit Scheduler"
description: "Schedules a telehealth visit for a member by checking availability, creating the appointment, and sending confirmation with join link via email."
tags:
- care-management
- telehealth
- microsoft-outlook
- health-insurance
capability:
exposes:
- type: mcp
namespace: telehealth
port: 8080
tools:
- name: schedule-telehealth
description: "Schedule a telehealth visit and send confirmation."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
- name: provider_npi
in: body
type: string
description: "Provider NPI."
- name: preferred_date
in: body
type: string
description: "Preferred date in YYYY-MM-DD format."
- name: member_email
in: body
type: string
description: "Member email."
steps:
- name: check-availability
type: call
call: "scheduling.get-availability"
with:
provider_npi: "{{provider_npi}}"
date: "{{preferred_date}}"
- name: create-appointment
type: call
call: "scheduling.create-appointment"
with:
member_id: "{{member_id}}"
provider_npi: "{{provider_npi}}"
slot: "{{check-availability.next_available}}"
type: "telehealth"
- name: send-confirmation
type: call
call: "outlook.send-email"
with:
to: "{{member_email}}"
subject: "Cigna Telehealth Visit Confirmed"
body: "Your telehealth visit is confirmed for {{create-appointment.scheduled_time}}. Join link: {{create-appointment.join_url}}."
consumes:
- type: http
namespace: scheduling
baseUri: "https://api.cigna.com/scheduling/v1"
authentication:
type: bearer
token: "$secrets.scheduling_token"
resources:
- name: availability
path: "/providers/{{provider_npi}}/availability"
inputParameters:
- name: provider_npi
in: path
- name: date
in: query
operations:
- name: get-availability
method: GET
- name: appointments
path: "/appointments"
operations:
- name: create-appointment
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans.
naftiko: "0.5"
info:
label: "Third Party Risk Assessment Orchestrator"
description: "Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans."
tags:
- risk
- procurement
- compliance
capability:
exposes:
- type: mcp
namespace: risk
port: 8080
tools:
- name: run-third-party-risk-assessment-orchestrator
description: "Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Third Party Risk Assessment Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Queries utilization data from Snowflake, generates a utilization review report, and uploads it to SharePoint for medical directors.
naftiko: "0.5"
info:
label: "Utilization Review Report Generator"
description: "Queries utilization data from Snowflake, generates a utilization review report, and uploads it to SharePoint for medical directors."
tags:
- care-management
- utilization
- snowflake
- sharepoint
- health-insurance
capability:
exposes:
- type: mcp
namespace: utilization-review
port: 8080
tools:
- name: generate-utilization-report
description: "Generate utilization review report from Snowflake and publish to SharePoint."
inputParameters:
- name: report_period
in: body
type: string
description: "Report period in YYYY-MM format."
- name: sharepoint_site
in: body
type: string
description: "SharePoint site ID."
steps:
- name: query-utilization
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT service_category, admit_count, readmit_count, avg_los FROM CLINICAL.UTILIZATION_METRICS WHERE period = '{{report_period}}'"
- name: upload-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "{{sharepoint_site}}"
folder_path: "UtilizationReviews"
file_name: "utilization_{{report_period}}.json"
consumes:
- type: http
namespace: snowflake
baseUri: "https://cigna.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign.
naftiko: "0.5"
info:
label: "Vendor Contract Renewal Pipeline"
description: "Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign."
tags:
- procurement
- legal
- docusign
capability:
exposes:
- type: mcp
namespace: procurement
port: 8080
tools:
- name: run-vendor-contract-renewal-pipeline
description: "Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Vendor Contract Renewal Pipeline for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.the-cigna-group.com/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.the-cigna-group.com/v2"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves a member's vision benefit coverage including exam copay, frames allowance, and contact lens benefit.
naftiko: "0.5"
info:
label: "Vision Benefits Viewer"
description: "Retrieves a member's vision benefit coverage including exam copay, frames allowance, and contact lens benefit."
tags:
- benefits
- vision
- member
- health-insurance
capability:
exposes:
- type: mcp
namespace: vision-benefits
port: 8080
tools:
- name: get-vision-benefits
description: "Retrieve vision benefit details for a member."
inputParameters:
- name: member_id
in: body
type: string
description: "Member ID."
call: "benefits.get-vision"
with:
member_id: "{{member_id}}"
outputParameters:
- name: exam_copay
type: number
mapping: "$.examCopay"
- name: frames_allowance
type: number
mapping: "$.framesAllowance"
- name: contact_lens_benefit
type: number
mapping: "$.contactLensBenefit"
consumes:
- type: http
namespace: benefits
baseUri: "https://api.cigna.com/benefits/v1"
authentication:
type: bearer
token: "$secrets.benefits_token"
resources:
- name: vision
path: "/members/{{member_id}}/vision"
inputParameters:
- name: member_id
in: path
operations:
- name: get-vision
method: GET
Retrieves employee details from Workday by worker ID.
naftiko: "0.5"
info:
label: "Workday Employee Lookup"
description: "Retrieves employee details from Workday by worker ID."
tags:
- hr
- workday
capability:
exposes:
- type: mcp
namespace: hr-directory
port: 8080
tools:
- name: get-employee
description: "Look up employee from Workday."
inputParameters:
- name: worker_id
in: body
type: string
description: "Workday worker ID."
call: "workday.get-worker"
with:
worker_id: "{{worker_id}}"
outputParameters:
- name: full_name
type: string
mapping: "$.fullName"
- name: department
type: string
mapping: "$.department"
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
Retrieves employee profile from Workday.
naftiko: "0.5"
info:
label: "Workday Employee Profile"
description: "Retrieves employee profile from Workday."
tags:
- hr
- workday
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: get-workday
description: "Retrieves employee profile from Workday."
inputParameters:
- name: entity_id
in: body
type: string
description: "The workday employee profile identifier."
call: "hr-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: hr-api
baseUri: "https://api.the-cigna-group.com/hr/v1"
authentication:
type: bearer
token: "$secrets.the_cigna_group_api_token"
resources:
- name: workday
path: "/workday/employee/profile/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-workday
method: GET