The Cigna Group Capabilities

Naftiko 0.5 capability definitions for The Cigna Group - 100 capabilities showing integration workflows and service orchestrations.

Sort
Expand

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