Centene Corporation Capabilities

Naftiko 0.5 capability definitions for Centene Corporation - 100 capabilities showing integration workflows and service orchestrations.

Sort
Expand

Runs an Alteryx workflow for population health analytics that identifies high-utilization patterns and chronic condition cohorts.

naftiko: "0.5"
info:
  label: "Alteryx Population Health Workflow"
  description: "Runs an Alteryx workflow for population health analytics that identifies high-utilization patterns and chronic condition cohorts."
  tags:
    - analytics
    - population-health
    - alteryx
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: population-health
      port: 8080
      tools:
        - name: run-population-analysis
          description: "Execute the Alteryx population health analytics workflow."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State health plan."
            - name: analysis_type
              in: body
              type: string
              description: "Analysis type (chronic_conditions, high_utilizers, preventive_gaps)."
          steps:
            - name: trigger-workflow
              type: call
              call: "alteryx.run-workflow"
              with:
                workflow_id: "pop_health_analytics_v2"
                parameters: "{\"state\": \"{{state}}\", \"type\": \"{{analysis_type}}\"}"
            - name: load-results
              type: call
              call: "snowflake.run-query"
              with:
                query: "CALL load_pop_health_results('{{state}}', '{{analysis_type}}')"
  consumes:
    - type: http
      namespace: alteryx
      baseUri: "https://alteryx.centene.com/api/v3"
      authentication:
        type: bearer
        token: "$secrets.alteryx_token"
      resources:
        - name: workflows
          path: "/workflows/{{workflow_id}}/jobs"
          inputParameters:
            - name: workflow_id
              in: path
          operations:
            - name: run-workflow
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST

Verifies that daily claims data backups exist in S3 and alerts the data ops team if files are missing.

naftiko: "0.5"
info:
  label: "Amazon S3 Claims Data Backup Verifier"
  description: "Verifies that daily claims data backups exist in S3 and alerts the data ops team if files are missing."
  tags:
    - data-engineering
    - backup
    - amazon-s3
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: backup-monitoring
      port: 8080
      tools:
        - name: verify-claims-backups
          description: "Check S3 for daily claims backup files and alert if any are missing."
          inputParameters:
            - name: backup_date
              in: body
              type: string
              description: "Date to verify in YYYY-MM-DD."
            - name: expected_count
              in: body
              type: integer
              description: "Expected number of backup files."
          steps:
            - name: list-backups
              type: call
              call: "s3.list-objects"
              with:
                bucket: "centene-claims-backups"
                prefix: "daily/{{backup_date}}/"
            - name: alert-if-missing
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "data_ops"
                text: "Claims backup verification for {{backup_date}}: Found {{list-backups.count}} of {{expected_count}} expected files."
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://centene-claims-backups.s3.amazonaws.com"
      authentication:
        type: aws-sig-v4
        access_key: "$secrets.aws_access_key"
        secret_key: "$secrets.aws_secret_key"
      resources:
        - name: objects
          path: "/"
          operations:
            - name: list-objects
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Identifies members due for annual wellness visits from Databricks, creates outreach campaigns in Salesforce, and sends reminders via WhatsApp.

naftiko: "0.5"
info:
  label: "Annual Wellness Visit Reminder Pipeline"
  description: "Identifies members due for annual wellness visits from Databricks, creates outreach campaigns in Salesforce, and sends reminders via WhatsApp."
  tags:
    - healthcare
    - preventive-care
    - databricks
    - salesforce
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: wellness-reminders
      port: 8080
      tools:
        - name: send-wellness-reminders
          description: "Identify due members and send wellness visit reminders."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
            - name: plan_type
              in: body
              type: string
              description: "Plan type (Medicaid, Medicare)."
          steps:
            - name: identify-members
              type: call
              call: "databricks.run-job"
              with:
                job_id: "awv_identification"
                state: "{{state}}"
                plan_type: "{{plan_type}}"
            - name: create-campaign
              type: call
              call: "salesforce.create-campaign"
              with:
                name: "AWV Outreach — {{state}} — {{plan_type}}"
                member_count: "{{identify-members.member_count}}"
            - name: send-reminders
              type: call
              call: "whatsapp.send-broadcast"
              with:
                campaign_id: "{{create-campaign.campaign_id}}"
                message: "Time for your Annual Wellness Visit! This free checkup helps keep you healthy. Call your doctor today to schedule."
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: campaigns
          path: "/sobjects/Campaign"
          operations:
            - name: create-campaign
              method: POST
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-broadcast
              method: POST

Monitors Azure Data Factory pipelines that process claims data from state Medicaid systems into the enterprise data warehouse.

naftiko: "0.5"
info:
  label: "Azure Data Factory Claims ETL Monitor"
  description: "Monitors Azure Data Factory pipelines that process claims data from state Medicaid systems into the enterprise data warehouse."
  tags:
    - data-engineering
    - etl
    - azure-data-factory
capability:
  exposes:
    - type: mcp
      namespace: claims-etl
      port: 8080
      tools:
        - name: get-pipeline-status
          description: "Check the latest ADF claims processing pipeline run status."
          inputParameters:
            - name: pipeline_name
              in: body
              type: string
              description: "ADF pipeline name."
          call: "adf.get-pipeline-runs"
          with:
            pipeline_name: "{{pipeline_name}}"
          outputParameters:
            - name: run_id
              type: string
              mapping: "$.value[0].runId"
            - name: status
              type: string
              mapping: "$.value[0].status"
            - name: duration
              type: string
              mapping: "$.value[0].durationInMs"
  consumes:
    - type: http
      namespace: adf
      baseUri: "https://management.azure.com/subscriptions/{{subscription_id}}/resourceGroups/centene-data-rg/providers/Microsoft.DataFactory/factories/centene-adf"
      authentication:
        type: bearer
        token: "$secrets.azure_mgmt_token"
      resources:
        - name: pipeline-runs
          path: "/queryPipelineRuns"
          operations:
            - name: get-pipeline-runs
              method: POST

Retrieves the latest build status from Azure DevOps for a healthcare application, returning build number and result.

naftiko: "0.5"
info:
  label: "Azure DevOps Build Status Check"
  description: "Retrieves the latest build status from Azure DevOps for a healthcare application, returning build number and result."
  tags:
    - engineering
    - ci-cd
    - azure-devops
capability:
  exposes:
    - type: mcp
      namespace: build-monitoring
      port: 8080
      tools:
        - name: get-build-status
          description: "Get the latest Azure DevOps build status."
          inputParameters:
            - name: definition_id
              in: body
              type: string
              description: "Build definition ID."
          call: "azdevops.get-latest-build"
          with:
            definition_id: "{{definition_id}}"
          outputParameters:
            - name: build_number
              type: string
              mapping: "$.value[0].buildNumber"
            - name: status
              type: string
              mapping: "$.value[0].status"
  consumes:
    - type: http
      namespace: azdevops
      baseUri: "https://dev.azure.com/centene"
      authentication:
        type: basic
        username: "$secrets.azdevops_user"
        password: "$secrets.azdevops_pat"
      resources:
        - name: builds
          path: "/_apis/build/builds?definitions={{definition_id}}&$top=1&api-version=7.0"
          inputParameters:
            - name: definition_id
              in: query
          operations:
            - name: get-latest-build
              method: GET

Checks the latest build and release pipeline status in Azure DevOps for Centene's digital health platform.

naftiko: "0.5"
info:
  label: "Azure DevOps Pipeline Status Checker"
  description: "Checks the latest build and release pipeline status in Azure DevOps for Centene's digital health platform."
  tags:
    - devops
    - ci-cd
    - azure-devops
capability:
  exposes:
    - type: mcp
      namespace: cicd-status
      port: 8080
      tools:
        - name: get-pipeline-status
          description: "Get the latest Azure DevOps pipeline run status."
          inputParameters:
            - name: project
              in: body
              type: string
              description: "Azure DevOps project."
            - name: pipeline_id
              in: body
              type: string
              description: "Pipeline ID."
          call: "azuredevops.get-pipeline-runs"
          with:
            project: "{{project}}"
            pipeline_id: "{{pipeline_id}}"
          outputParameters:
            - name: run_id
              type: integer
              mapping: "$.value[0].id"
            - name: status
              type: string
              mapping: "$.value[0].state"
            - name: result
              type: string
              mapping: "$.value[0].result"
  consumes:
    - type: http
      namespace: azuredevops
      baseUri: "https://dev.azure.com/centene"
      authentication:
        type: basic
        username: ""
        password: "$secrets.azuredevops_pat"
      resources:
        - name: pipeline-runs
          path: "/{{project}}/_apis/pipelines/{{pipeline_id}}/runs"
          inputParameters:
            - name: project
              in: path
            - name: pipeline_id
              in: path
          operations:
            - name: get-pipeline-runs
              method: GET

Creates a behavioral health referral in ServiceNow, matches providers from Salesforce, and notifies the care coordinator via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Behavioral Health Referral Workflow"
  description: "Creates a behavioral health referral in ServiceNow, matches providers from Salesforce, and notifies the care coordinator via Microsoft Teams."
  tags:
    - healthcare
    - behavioral-health
    - servicenow
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: bh-referrals
      port: 8080
      tools:
        - name: create-bh-referral
          description: "Create behavioral health referral and match providers."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: service_needed
              in: body
              type: string
              description: "Type of behavioral health service needed."
          steps:
            - name: find-providers
              type: call
              call: "salesforce.search-bh-providers"
              with:
                member_id: "{{member_id}}"
                service: "{{service_needed}}"
            - name: create-referral
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_bh_referral"
                short_description: "BH Referral — {{member_id}} — {{service_needed}}"
                description: "Service: {{service_needed}}. Matched providers: {{find-providers.provider_count}}."
            - name: notify-coordinator
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "care_coordination"
                text: "BH Referral: Member {{member_id}} needs {{service_needed}}. {{find-providers.provider_count}} providers matched. Referral: {{create-referral.number}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: providers
          path: "/query?q=SELECT+Id,Name+FROM+Provider__c+WHERE+Specialty__c='{{service}}'"
          inputParameters:
            - name: service
              in: query
          operations:
            - name: search-bh-providers
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Uploads and organizes clinical documents in Box with HIPAA-compliant sharing for care management teams.

naftiko: "0.5"
info:
  label: "Box Clinical Document Manager"
  description: "Uploads and organizes clinical documents in Box with HIPAA-compliant sharing for care management teams."
  tags:
    - clinical
    - document-management
    - box
capability:
  exposes:
    - type: mcp
      namespace: clinical-documents
      port: 8080
      tools:
        - name: upload-clinical-doc
          description: "Upload a clinical document to Box with appropriate access controls."
          inputParameters:
            - name: file_name
              in: body
              type: string
              description: "Document file name."
            - name: folder_id
              in: body
              type: string
              description: "Box folder ID for clinical documents."
            - name: classification
              in: body
              type: string
              description: "Document classification (phi, clinical, administrative)."
          call: "box.upload-file"
          with:
            folder_id: "{{folder_id}}"
            file_name: "{{file_name}}"
            classification: "{{classification}}"
          outputParameters:
            - name: file_id
              type: string
              mapping: "$.entries[0].id"
            - name: shared_link
              type: string
              mapping: "$.entries[0].shared_link.url"
  consumes:
    - type: http
      namespace: box
      baseUri: "https://upload.box.com/api/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files/content"
          operations:
            - name: upload-file
              method: POST

Retrieves prior authorization supporting document metadata from Box by file ID, returning file name, version, and shared link.

naftiko: "0.5"
info:
  label: "Box Prior Auth Document Lookup"
  description: "Retrieves prior authorization supporting document metadata from Box by file ID, returning file name, version, and shared link."
  tags:
    - healthcare
    - prior-authorization
    - box
capability:
  exposes:
    - type: mcp
      namespace: prior-auth-documents
      port: 8080
      tools:
        - name: get-prior-auth-document
          description: "Look up prior auth document metadata in Box."
          inputParameters:
            - name: file_id
              in: body
              type: string
              description: "Box file ID."
          call: "box.get-file-info"
          with:
            file_id: "{{file_id}}"
          outputParameters:
            - name: file_name
              type: string
              mapping: "$.name"
            - name: version
              type: string
              mapping: "$.file_version.id"
            - name: shared_link
              type: string
              mapping: "$.shared_link.url"
  consumes:
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files/{{file_id}}"
          inputParameters:
            - name: file_id
              in: path
          operations:
            - name: get-file-info
              method: GET

Reconciles capitation payments from Oracle EBS against enrollment data in Teradata, and generates variance reports in Google Sheets.

naftiko: "0.5"
info:
  label: "Capitation Payment Reconciliation Pipeline"
  description: "Reconciles capitation payments from Oracle EBS against enrollment data in Teradata, and generates variance reports in Google Sheets."
  tags:
    - finance
    - capitation
    - oracle
    - teradata
    - google-sheets
capability:
  exposes:
    - type: mcp
      namespace: capitation-reconciliation
      port: 8080
      tools:
        - name: reconcile-capitation
          description: "Reconcile capitation payments against enrollment."
          inputParameters:
            - name: provider_id
              in: body
              type: string
              description: "Provider ID."
            - name: period
              in: body
              type: string
              description: "Payment period."
          steps:
            - name: get-payments
              type: call
              call: "oracle.get-capitation-payments"
              with:
                provider_id: "{{provider_id}}"
                period: "{{period}}"
            - name: get-enrollment
              type: call
              call: "teradata.execute-query"
              with:
                query: "SELECT COUNT(*) FROM enrollment WHERE pcp_id='{{provider_id}}' AND period='{{period}}'"
            - name: create-report
              type: call
              call: "gsheets.create-spreadsheet"
              with:
                title: "Capitation Reconciliation — {{provider_id}} — {{period}}"
                data: "Payments: ${{get-payments.total_amount}}, Members: {{get-enrollment.member_count}}"
  consumes:
    - type: http
      namespace: oracle
      baseUri: "https://centene-ebs.oracle.com/webservices/rest/payments"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: capitation
          path: "/capitation?provider={{provider_id}}&period={{period}}"
          inputParameters:
            - name: provider_id
              in: query
            - name: period
              in: query
          operations:
            - name: get-capitation-payments
              method: GET
    - type: http
      namespace: teradata
      baseUri: "https://centene-td.teradata.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.teradata_token"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: gsheets
      baseUri: "https://sheets.googleapis.com/v4"
      authentication:
        type: bearer
        token: "$secrets.google_sheets_token"
      resources:
        - name: spreadsheets
          path: "/spreadsheets"
          operations:
            - name: create-spreadsheet
              method: POST

Identifies members with care gaps from Snowflake analytics and sends outreach notifications via MailChimp to encourage preventive care visits.

naftiko: "0.5"
info:
  label: "Care Gap Alert Notifier"
  description: "Identifies members with care gaps from Snowflake analytics and sends outreach notifications via MailChimp to encourage preventive care visits."
  tags:
    - healthcare
    - care-gaps
    - outreach
    - snowflake
    - mailchimp
capability:
  exposes:
    - type: mcp
      namespace: care-gap-outreach
      port: 8080
      tools:
        - name: send-care-gap-alerts
          description: "Identify members with care gaps and send outreach emails via MailChimp."
          inputParameters:
            - name: measure_code
              in: body
              type: string
              description: "HEDIS measure code (e.g., BCS, CCS, CDC)."
            - name: state
              in: body
              type: string
              description: "State health plan."
            - name: template_id
              in: body
              type: string
              description: "MailChimp email template ID."
          steps:
            - name: identify-gaps
              type: call
              call: "snowflake.run-query"
              with:
                query: "SELECT member_id, first_name, email, last_service_date, days_overdue FROM care_gap_members WHERE measure_code='{{measure_code}}' AND state='{{state}}' AND email IS NOT NULL AND outreach_sent=false LIMIT 5000"
            - name: send-outreach
              type: call
              call: "mailchimp.create-campaign"
              with:
                type: "regular"
                recipients_list_id: "care_gap_{{state}}_{{measure_code}}"
                subject_line: "Important: Your preventive care visit is overdue"
                template_id: "{{template_id}}"
                from_name: "Centene Health Plan"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: mailchimp
      baseUri: "https://us1.api.mailchimp.com/3.0"
      authentication:
        type: basic
        username: "anystring"
        password: "$secrets.mailchimp_api_key"
      resources:
        - name: campaigns
          path: "/campaigns"
          operations:
            - name: create-campaign
              method: POST

Identifies high-risk chronic condition members from Databricks, creates care plans in Salesforce, and sends educational content via WhatsApp.

naftiko: "0.5"
info:
  label: "Chronic Condition Management Pipeline"
  description: "Identifies high-risk chronic condition members from Databricks, creates care plans in Salesforce, and sends educational content via WhatsApp."
  tags:
    - healthcare
    - chronic-care
    - databricks
    - salesforce
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: chronic-care
      port: 8080
      tools:
        - name: manage-chronic-conditions
          description: "Identify high-risk members and create care plans."
          inputParameters:
            - name: condition
              in: body
              type: string
              description: "Chronic condition (diabetes, CHF, COPD, asthma)."
            - name: state
              in: body
              type: string
              description: "State code."
          steps:
            - name: identify-members
              type: call
              call: "databricks.run-job"
              with:
                job_id: "chronic_risk_stratification"
                condition: "{{condition}}"
                state: "{{state}}"
            - name: create-care-plans
              type: call
              call: "salesforce.create-care-plans"
              with:
                condition: "{{condition}}"
                member_count: "{{identify-members.high_risk_count}}"
            - name: send-education
              type: call
              call: "whatsapp.send-broadcast"
              with:
                condition: "{{condition}}"
                message: "Managing your {{condition}}: Free resources and support available. Call 1-800-CENTENE to speak with a nurse about your care plan."
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: care-plans
          path: "/sobjects/Care_Plan__c"
          operations:
            - name: create-care-plans
              method: POST
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-broadcast
              method: POST

Retrieves the adjudication status of a healthcare claim from the claims processing system and returns payment details.

naftiko: "0.5"
info:
  label: "Claims Adjudication Status Lookup"
  description: "Retrieves the adjudication status of a healthcare claim from the claims processing system and returns payment details."
  tags:
    - claims
    - healthcare
    - claims-processing
capability:
  exposes:
    - type: mcp
      namespace: claims-management
      port: 8080
      tools:
        - name: get-claim-status
          description: "Look up a healthcare claim by claim number and return adjudication status, payment amount, and denial reason if applicable."
          inputParameters:
            - name: claim_number
              in: body
              type: string
              description: "Healthcare claim number."
          call: "claims.get-claim"
          with:
            claim_number: "{{claim_number}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.claim.adjudication_status"
            - name: paid_amount
              type: number
              mapping: "$.claim.paid_amount"
            - name: denial_reason
              type: string
              mapping: "$.claim.denial_reason_code"
            - name: provider_name
              type: string
              mapping: "$.claim.provider.name"
            - name: service_date
              type: string
              mapping: "$.claim.service_date"
  consumes:
    - type: http
      namespace: claims
      baseUri: "https://claims-api.centene.com/v2"
      authentication:
        type: bearer
        token: "$secrets.claims_api_token"
      resources:
        - name: claims
          path: "/claims/{{claim_number}}"
          inputParameters:
            - name: claim_number
              in: path
          operations:
            - name: get-claim
              method: GET

Retrieves denied claim details from ServiceNow, creates an appeal case, and notifies the appeals team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Claims Denial Appeal Workflow"
  description: "Retrieves denied claim details from ServiceNow, creates an appeal case, and notifies the appeals team via Microsoft Teams."
  tags:
    - healthcare
    - claims-appeals
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: claims-appeals
      port: 8080
      tools:
        - name: process-claim-appeal
          description: "Create appeal case for denied claim and notify team."
          inputParameters:
            - name: claim_id
              in: body
              type: string
              description: "Denied claim identifier."
            - name: appeal_reason
              in: body
              type: string
              description: "Reason for the appeal."
          steps:
            - name: create-appeal
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_claim_appeal"
                short_description: "Claim appeal — {{claim_id}}"
                description: "Claim: {{claim_id}}. Appeal reason: {{appeal_reason}}."
                priority: "2"
            - name: notify-appeals
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "claims_appeals"
                text: "New claim appeal: {{claim_id}}. Reason: {{appeal_reason}}. Case: {{create-appeal.number}}. Review within 30 days required."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Monitors claims processing SLAs from Datadog, creates alerts in ServiceNow when thresholds are breached, and notifies operations via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Claims Processing SLA Monitor Pipeline"
  description: "Monitors claims processing SLAs from Datadog, creates alerts in ServiceNow when thresholds are breached, and notifies operations via Microsoft Teams."
  tags:
    - operations
    - sla-monitoring
    - datadog
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: claims-sla
      port: 8080
      tools:
        - name: monitor-claims-sla
          description: "Monitor claims SLAs and alert on breaches."
          inputParameters:
            - name: claim_type
              in: body
              type: string
              description: "Claim type (professional, institutional, pharmacy)."
            - name: sla_days
              in: body
              type: integer
              description: "SLA threshold in days."
          steps:
            - name: get-sla-metrics
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:claims.processing_days{type:{{claim_type}}}"
                from: "now-24h"
                to: "now"
            - name: create-alert
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_sla_alert"
                short_description: "Claims SLA alert — {{claim_type}}"
                description: "Average processing: {{get-sla-metrics.avg_days}} days. SLA: {{sla_days}} days."
            - name: notify-ops
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "claims_operations"
                text: "SLA Alert: {{claim_type}} claims averaging {{get-sla-metrics.avg_days}} days (SLA: {{sla_days}}). Alert: {{create-alert.number}}"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query"
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Publishes updated clinical policies to Confluence, creates implementation tasks in Jira, and notifies clinical staff via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Clinical Policy Update Workflow"
  description: "Publishes updated clinical policies to Confluence, creates implementation tasks in Jira, and notifies clinical staff via Microsoft Teams."
  tags:
    - healthcare
    - clinical-policy
    - confluence
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: clinical-policy-updates
      port: 8080
      tools:
        - name: update-clinical-policy
          description: "Publish policy update, create tasks, and notify staff."
          inputParameters:
            - name: policy_id
              in: body
              type: string
              description: "Clinical policy identifier."
            - name: effective_date
              in: body
              type: string
              description: "Policy effective date."
          steps:
            - name: publish-policy
              type: call
              call: "confluence.create-page"
              with:
                space: "CLINICAL"
                title: "Policy Update — {{policy_id}} — {{effective_date}}"
                content: "Updated clinical policy {{policy_id}} effective {{effective_date}}."
            - name: create-tasks
              type: call
              call: "jira.create-issue"
              with:
                project: "CLIN"
                issuetype: "Task"
                summary: "Implement policy {{policy_id}} by {{effective_date}}"
            - name: notify-staff
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "clinical_operations"
                text: "Clinical policy update: {{policy_id}} effective {{effective_date}}. Implementation task: {{create-tasks.key}}."
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://centene.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://centene.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Pulls utilization data from Teradata, applies clinical criteria in Databricks, and updates case records in ServiceNow.

naftiko: "0.5"
info:
  label: "Clinical Utilization Review Pipeline"
  description: "Pulls utilization data from Teradata, applies clinical criteria in Databricks, and updates case records in ServiceNow."
  tags:
    - healthcare
    - utilization-review
    - teradata
    - databricks
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: utilization-review
      port: 8080
      tools:
        - name: run-utilization-review
          description: "Analyze utilization data and apply clinical criteria."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: service_type
              in: body
              type: string
              description: "Service type for review."
          steps:
            - name: get-utilization-data
              type: call
              call: "teradata.execute-query"
              with:
                query: "SELECT * FROM utilization WHERE member_id='{{member_id}}' AND service_type='{{service_type}}'"
            - name: apply-criteria
              type: call
              call: "databricks.run-job"
              with:
                job_id: "clinical_criteria_engine"
                member_id: "{{member_id}}"
            - name: update-case
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_um_review"
                short_description: "UM Review — {{member_id}} — {{service_type}}"
                description: "Clinical decision: {{apply-criteria.decision}}. Criteria met: {{apply-criteria.criteria_met}}."
  consumes:
    - type: http
      namespace: teradata
      baseUri: "https://centene-td.teradata.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.teradata_token"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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

Manages Cloudflare Web Application Firewall rules for Centene's public-facing member portals.

naftiko: "0.5"
info:
  label: "Cloudflare WAF Rule Manager"
  description: "Manages Cloudflare Web Application Firewall rules for Centene's public-facing member portals."
  tags:
    - security
    - waf
    - cloudflare
capability:
  exposes:
    - type: mcp
      namespace: waf-management
      port: 8080
      tools:
        - name: get-waf-rules
          description: "Retrieve current WAF rules from Cloudflare for the member portal zone."
          inputParameters:
            - name: zone_id
              in: body
              type: string
              description: "Cloudflare zone ID."
          call: "cloudflare.get-waf-rules"
          with:
            zone_id: "{{zone_id}}"
          outputParameters:
            - name: rules
              type: array
              mapping: "$.result"
            - name: total
              type: integer
              mapping: "$.result_info.total_count"
  consumes:
    - type: http
      namespace: cloudflare
      baseUri: "https://api.cloudflare.com/client/v4"
      authentication:
        type: bearer
        token: "$secrets.cloudflare_token"
      resources:
        - name: waf-rules
          path: "/zones/{{zone_id}}/firewall/rules"
          inputParameters:
            - name: zone_id
              in: path
          operations:
            - name: get-waf-rules
              method: GET

Identifies members needing community outreach from Databricks, assigns health workers in Salesforce, and sends dispatch details via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Community Health Worker Dispatch Workflow"
  description: "Identifies members needing community outreach from Databricks, assigns health workers in Salesforce, and sends dispatch details via Microsoft Teams."
  tags:
    - healthcare
    - community-health
    - databricks
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: chw-dispatch
      port: 8080
      tools:
        - name: dispatch-community-worker
          description: "Identify members, assign workers, and send dispatch."
          inputParameters:
            - name: zip_code
              in: body
              type: string
              description: "ZIP code for outreach area."
            - name: outreach_type
              in: body
              type: string
              description: "Outreach type (enrollment, wellness, sdoh)."
          steps:
            - name: identify-members
              type: call
              call: "databricks.run-job"
              with:
                job_id: "chw_member_identification"
                zip_code: "{{zip_code}}"
                type: "{{outreach_type}}"
            - name: assign-workers
              type: call
              call: "salesforce.create-assignments"
              with:
                zip_code: "{{zip_code}}"
                member_count: "{{identify-members.member_count}}"
            - name: dispatch
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "community_health"
                text: "CHW Dispatch: {{identify-members.member_count}} members in ZIP {{zip_code}} need {{outreach_type}} outreach. Assignments created."
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: assignments
          path: "/sobjects/CHW_Assignment__c"
          operations:
            - name: create-assignments
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Searches Centene's Confluence knowledge base for clinical guidelines by keyword, returning page titles and URLs.

naftiko: "0.5"
info:
  label: "Confluence Clinical Guidelines Lookup"
  description: "Searches Centene's Confluence knowledge base for clinical guidelines by keyword, returning page titles and URLs."
  tags:
    - healthcare
    - clinical-guidelines
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: clinical-guidelines
      port: 8080
      tools:
        - name: search-clinical-guidelines
          description: "Search Confluence for clinical guidelines."
          inputParameters:
            - name: search_term
              in: body
              type: string
              description: "Keyword to search for."
          call: "confluence.search-content"
          with:
            cql: "label = 'clinical-guideline' AND text ~ '{{search_term}}'"
          outputParameters:
            - name: results
              type: array
              mapping: "$.results"
            - name: total_count
              type: number
              mapping: "$.totalSize"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://centene.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content/search"
          inputParameters:
            - name: cql
              in: query
          operations:
            - name: search-content
              method: GET

Publishes clinical policy documents to Confluence and notifies the medical affairs team via Teams.

naftiko: "0.5"
info:
  label: "Confluence Clinical Policy Publisher"
  description: "Publishes clinical policy documents to Confluence and notifies the medical affairs team via Teams."
  tags:
    - clinical
    - knowledge-management
    - confluence
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: clinical-policies
      port: 8080
      tools:
        - name: publish-clinical-policy
          description: "Create or update a clinical policy page in Confluence and notify the medical affairs team."
          inputParameters:
            - name: space_key
              in: body
              type: string
              description: "Confluence space key."
            - name: title
              in: body
              type: string
              description: "Policy title."
            - name: content
              in: body
              type: string
              description: "Policy content."
          steps:
            - name: create-page
              type: call
              call: "confluence.create-page"
              with:
                space_key: "{{space_key}}"
                title: "{{title}}"
                body: "{{content}}"
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "medical_affairs"
                text: "Clinical policy published: {{title}}. Review at {{create-page.url}}"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://centene.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Generates state compliance reports using Crystal Reports templates with claims and enrollment data from Snowflake.

naftiko: "0.5"
info:
  label: "Crystal Reports State Compliance Generator"
  description: "Generates state compliance reports using Crystal Reports templates with claims and enrollment data from Snowflake."
  tags:
    - compliance
    - reporting
    - crystal-reports
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: compliance-reports
      port: 8080
      tools:
        - name: generate-compliance-report
          description: "Generate a state compliance report using Crystal Reports and Snowflake data."
          inputParameters:
            - name: report_type
              in: body
              type: string
              description: "Report type."
            - name: state
              in: body
              type: string
              description: "State."
            - name: period
              in: body
              type: string
              description: "Reporting period."
          steps:
            - name: fetch-data
              type: call
              call: "snowflake.run-query"
              with:
                query: "SELECT * FROM compliance_report_data WHERE report_type='{{report_type}}' AND state='{{state}}' AND period='{{period}}'"
            - name: generate-report
              type: call
              call: "crystal-reports.generate"
              with:
                template: "{{report_type}}_{{state}}"
                data: "{{fetch-data.results}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: crystal-reports
      baseUri: "https://reports.centene.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.crystal_reports_token"
      resources:
        - name: reports
          path: "/reports/generate"
          operations:
            - name: generate
              method: POST

Runs a member risk stratification model in Databricks to predict high-risk members and loads scores into Snowflake for care management.

naftiko: "0.5"
info:
  label: "Databricks Risk Stratification Model"
  description: "Runs a member risk stratification model in Databricks to predict high-risk members and loads scores into Snowflake for care management."
  tags:
    - analytics
    - risk-stratification
    - databricks
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: risk-analytics
      port: 8080
      tools:
        - name: run-risk-model
          description: "Execute the Databricks risk stratification model and store member risk scores in Snowflake."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State health plan."
            - name: model_version
              in: body
              type: string
              description: "Model version identifier."
          steps:
            - name: run-notebook
              type: call
              call: "databricks.run-notebook"
              with:
                notebook_path: "/Shared/risk_stratification_v3"
                parameters: "{\"state\": \"{{state}}\", \"model_version\": \"{{model_version}}\"}"
            - name: load-scores
              type: call
              call: "snowflake.run-query"
              with:
                query: "CALL load_risk_scores('{{state}}', '{{model_version}}')"
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/runs/submit"
          operations:
            - name: run-notebook
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST

Queries Datadog for health metrics of Centene's member portal and claims processing services.

naftiko: "0.5"
info:
  label: "Datadog Application Health Monitor"
  description: "Queries Datadog for health metrics of Centene's member portal and claims processing services."
  tags:
    - devops
    - monitoring
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: app-monitoring
      port: 8080
      tools:
        - name: check-app-health
          description: "Fetch application health metrics from Datadog."
          inputParameters:
            - name: service_name
              in: body
              type: string
              description: "Service name tag in Datadog."
          call: "datadog.query-metrics"
          with:
            query: "avg:trace.servlet.request.hits{service:{{service_name}}}.rollup(sum, 300)"
          outputParameters:
            - name: request_rate
              type: number
              mapping: "$.series[0].pointlist[-1][1]"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query"
          operations:
            - name: query-metrics
              method: GET

Queries Datadog for claims processing API latency metrics, returning average response time and error rate.

naftiko: "0.5"
info:
  label: "Datadog Claims API Latency Check"
  description: "Queries Datadog for claims processing API latency metrics, returning average response time and error rate."
  tags:
    - engineering
    - monitoring
    - datadog
capability:
  exposes:
    - type: mcp
      namespace: claims-api-monitoring
      port: 8080
      tools:
        - name: check-claims-api-latency
          description: "Query Datadog for claims API latency metrics."
          inputParameters:
            - name: service_name
              in: body
              type: string
              description: "The claims API service name."
          call: "datadog.query-metrics"
          with:
            query: "avg:trace.http.request.duration{service:{{service_name}}}"
            from: "now-1h"
            to: "now"
          outputParameters:
            - name: avg_latency_ms
              type: number
              mapping: "$.series[0].pointlist[-1][1]"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apiKey
        key: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
          operations:
            - name: query-metrics
              method: GET

Monitors the member portal web application performance via Dynatrace and alerts on degradation.

naftiko: "0.5"
info:
  label: "Dynatrace Member Portal Performance Monitor"
  description: "Monitors the member portal web application performance via Dynatrace and alerts on degradation."
  tags:
    - monitoring
    - performance
    - dynatrace
capability:
  exposes:
    - type: mcp
      namespace: portal-monitoring
      port: 8080
      tools:
        - name: get-portal-anomalies
          description: "Retrieve performance anomalies for the member portal from Dynatrace."
          inputParameters:
            - name: time_range
              in: body
              type: string
              description: "Time range."
          call: "dynatrace.get-problems"
          with:
            relativeTime: "{{time_range}}"
            status: "OPEN"
            entitySelector: "type(APPLICATION),entityName(MemberPortal)"
          outputParameters:
            - name: problems
              type: array
              mapping: "$.result"
            - name: total_count
              type: integer
              mapping: "$.totalCount"
  consumes:
    - type: http
      namespace: dynatrace
      baseUri: "https://centene.live.dynatrace.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.dynatrace_token"
      resources:
        - name: problems
          path: "/problems"
          operations:
            - name: get-problems
              method: GET

Extracts encounter data from Teradata, validates against CMS formats, and logs submission status in ServiceNow.

naftiko: "0.5"
info:
  label: "Encounter Data Submission Pipeline"
  description: "Extracts encounter data from Teradata, validates against CMS formats, and logs submission status in ServiceNow."
  tags:
    - compliance
    - encounter-data
    - teradata
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: encounter-submission
      port: 8080
      tools:
        - name: submit-encounter-data
          description: "Extract, validate, and submit encounter data to CMS."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
            - name: submission_period
              in: body
              type: string
              description: "Submission period (e.g., 2026-03)."
          steps:
            - name: extract-data
              type: call
              call: "teradata.execute-query"
              with:
                query: "SELECT COUNT(*) FROM encounters WHERE state='{{state}}' AND period='{{submission_period}}'"
            - name: log-submission
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_encounter_submission"
                short_description: "Encounter submission — {{state}} — {{submission_period}}"
                description: "Records: {{extract-data.record_count}}. State: {{state}}. Period: {{submission_period}}."
  consumes:
    - type: http
      namespace: teradata
      baseUri: "https://centene-td.teradata.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.teradata_token"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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

Checks F5 load balancer pool health for Centene's member portal and claims processing services.

naftiko: "0.5"
info:
  label: "F5 Networks Load Balancer Health"
  description: "Checks F5 load balancer pool health for Centene's member portal and claims processing services."
  tags:
    - infrastructure
    - networking
    - f5-networks
capability:
  exposes:
    - type: mcp
      namespace: network-health
      port: 8080
      tools:
        - name: check-lb-health
          description: "Check F5 load balancer pool member health."
          inputParameters:
            - name: pool_name
              in: body
              type: string
              description: "F5 pool name."
          call: "f5.get-pool-members"
          with:
            pool_name: "{{pool_name}}"
          outputParameters:
            - name: available_count
              type: integer
              mapping: "$.available_count"
            - name: total_count
              type: integer
              mapping: "$.total_count"
  consumes:
    - type: http
      namespace: f5
      baseUri: "https://f5.centene.com/mgmt/tm/ltm"
      authentication:
        type: basic
        username: "$secrets.f5_user"
        password: "$secrets.f5_password"
      resources:
        - name: pool-members
          path: "/pool/{{pool_name}}/members"
          inputParameters:
            - name: pool_name
              in: path
          operations:
            - name: get-pool-members
              method: GET

Runs FWA detection models in Databricks against claims data, creates investigation cases in ServiceNow, and alerts the SIU via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Fraud Waste and Abuse Detection Pipeline"
  description: "Runs FWA detection models in Databricks against claims data, creates investigation cases in ServiceNow, and alerts the SIU via Microsoft Teams."
  tags:
    - compliance
    - fraud-detection
    - databricks
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: fwa-detection
      port: 8080
      tools:
        - name: detect-fwa
          description: "Run fraud detection models and create investigation cases."
          inputParameters:
            - name: provider_id
              in: body
              type: string
              description: "Provider ID to investigate."
            - name: claim_period
              in: body
              type: string
              description: "Claims period to analyze."
          steps:
            - name: run-detection
              type: call
              call: "databricks.run-job"
              with:
                job_id: "fwa_detection"
                provider_id: "{{provider_id}}"
                period: "{{claim_period}}"
            - name: create-investigation
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_fwa_investigation"
                short_description: "FWA Investigation — Provider {{provider_id}}"
                description: "Risk score: {{run-detection.risk_score}}. Anomalies: {{run-detection.anomaly_count}}. Period: {{claim_period}}."
                priority: "2"
            - name: alert-siu
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "special_investigations"
                text: "FWA Alert: Provider {{provider_id}} flagged. Risk score: {{run-detection.risk_score}}. Investigation: {{create-investigation.number}}."
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Triggers a GitHub Actions security scanning workflow for Centene's healthcare applications and reports findings to Teams.

naftiko: "0.5"
info:
  label: "GitHub Actions Security Scan Trigger"
  description: "Triggers a GitHub Actions security scanning workflow for Centene's healthcare applications and reports findings to Teams."
  tags:
    - security
    - devops
    - github-actions
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: security-scanning
      port: 8080
      tools:
        - name: trigger-security-scan
          description: "Trigger a security scanning workflow via GitHub Actions and notify the security team."
          inputParameters:
            - name: repo
              in: body
              type: string
              description: "Repository (org/repo)."
            - name: workflow_id
              in: body
              type: string
              description: "Security scan workflow ID."
          steps:
            - name: dispatch-scan
              type: call
              call: "github.dispatch-workflow"
              with:
                owner_repo: "{{repo}}"
                workflow_id: "{{workflow_id}}"
                ref: "main"
            - name: notify-security
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "appsec"
                text: "Security scan initiated for {{repo}}. Workflow: {{workflow_id}}. Results will be posted upon completion."
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflow-dispatches
          path: "/repos/{{owner_repo}}/actions/workflows/{{workflow_id}}/dispatches"
          inputParameters:
            - name: owner_repo
              in: path
            - name: workflow_id
              in: path
          operations:
            - name: dispatch-workflow
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Organizes member appeal documents in Google Drive by state and appeal type for compliance tracking.

naftiko: "0.5"
info:
  label: "Google Drive Member Appeal Document Manager"
  description: "Organizes member appeal documents in Google Drive by state and appeal type for compliance tracking."
  tags:
    - compliance
    - appeals
    - google-drive
capability:
  exposes:
    - type: mcp
      namespace: appeal-documents
      port: 8080
      tools:
        - name: organize-appeal-doc
          description: "Move an appeal document to the correct Google Drive folder."
          inputParameters:
            - name: file_id
              in: body
              type: string
              description: "Google Drive file ID."
            - name: state
              in: body
              type: string
              description: "State."
            - name: appeal_type
              in: body
              type: string
              description: "Appeal type."
          call: "google-drive.move-file"
          with:
            file_id: "{{file_id}}"
            target_folder: "appeals_{{state}}_{{appeal_type}}"
          outputParameters:
            - name: name
              type: string
              mapping: "$.name"
  consumes:
    - type: http
      namespace: google-drive
      baseUri: "https://www.googleapis.com/drive/v3"
      authentication:
        type: bearer
        token: "$secrets.google_drive_token"
      resources:
        - name: files
          path: "/files/{{file_id}}"
          inputParameters:
            - name: file_id
              in: path
          operations:
            - name: move-file
              method: PATCH

Retrieves metadata for a member appeal document from Google Drive by file ID, returning file name, status, and last modified date.

naftiko: "0.5"
info:
  label: "Google Drive Member Document Lookup"
  description: "Retrieves metadata for a member appeal document from Google Drive by file ID, returning file name, status, and last modified date."
  tags:
    - healthcare
    - member-appeals
    - google-drive
capability:
  exposes:
    - type: mcp
      namespace: member-documents
      port: 8080
      tools:
        - name: get-member-document
          description: "Look up member document metadata in Google Drive."
          inputParameters:
            - name: file_id
              in: body
              type: string
              description: "Google Drive file ID."
          call: "gdrive.get-file"
          with:
            file_id: "{{file_id}}"
          outputParameters:
            - name: file_name
              type: string
              mapping: "$.name"
            - name: modified_date
              type: string
              mapping: "$.modifiedTime"
            - name: owner
              type: string
              mapping: "$.owners[0].displayName"
  consumes:
    - type: http
      namespace: gdrive
      baseUri: "https://www.googleapis.com/drive/v3"
      authentication:
        type: bearer
        token: "$secrets.google_drive_token"
      resources:
        - name: files
          path: "/files/{{file_id}}"
          inputParameters:
            - name: file_id
              in: path
          operations:
            - name: get-file
              method: GET

Organizes policy documents uploaded to Google Drive into the correct state and department folders.

naftiko: "0.5"
info:
  label: "Google Drive Policy Document Organizer"
  description: "Organizes policy documents uploaded to Google Drive into the correct state and department folders."
  tags:
    - document-management
    - policies
    - google-drive
capability:
  exposes:
    - type: mcp
      namespace: policy-documents
      port: 8080
      tools:
        - name: organize-policy-doc
          description: "Move a policy document to the correct Google Drive folder."
          inputParameters:
            - name: file_id
              in: body
              type: string
              description: "Google Drive file ID."
            - name: state
              in: body
              type: string
              description: "State abbreviation."
            - name: department
              in: body
              type: string
              description: "Department name."
          call: "google-drive.move-file"
          with:
            file_id: "{{file_id}}"
            target_folder: "policies_{{state}}_{{department}}"
          outputParameters:
            - name: name
              type: string
              mapping: "$.name"
            - name: webViewLink
              type: string
              mapping: "$.webViewLink"
  consumes:
    - type: http
      namespace: google-drive
      baseUri: "https://www.googleapis.com/drive/v3"
      authentication:
        type: bearer
        token: "$secrets.google_drive_token"
      resources:
        - name: files
          path: "/files/{{file_id}}"
          inputParameters:
            - name: file_id
              in: path
          operations:
            - name: move-file
              method: PATCH

Exports monthly enrollment summary data from Snowflake to Google Sheets for state health plan operations review.

naftiko: "0.5"
info:
  label: "Google Sheets Enrollment Summary Exporter"
  description: "Exports monthly enrollment summary data from Snowflake to Google Sheets for state health plan operations review."
  tags:
    - enrollment
    - reporting
    - snowflake
    - google-sheets
capability:
  exposes:
    - type: mcp
      namespace: enrollment-reporting
      port: 8080
      tools:
        - name: export-enrollment-summary
          description: "Query Snowflake for enrollment data and write results to a Google Sheet."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State abbreviation."
            - name: month
              in: body
              type: string
              description: "Report month in YYYY-MM."
            - name: spreadsheet_id
              in: body
              type: string
              description: "Google Sheets ID."
          steps:
            - name: fetch-data
              type: call
              call: "snowflake.run-query"
              with:
                query: "SELECT plan_code, age_group, gender, COUNT(*) as members, SUM(CASE WHEN new_enrollment THEN 1 ELSE 0 END) as new_members FROM member_enrollment WHERE state='{{state}}' AND enrollment_month='{{month}}' GROUP BY plan_code, age_group, gender"
            - name: write-sheet
              type: call
              call: "google-sheets.update-values"
              with:
                spreadsheet_id: "{{spreadsheet_id}}"
                range: "Enrollment!A1"
                values: "{{fetch-data.results}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: google-sheets
      baseUri: "https://sheets.googleapis.com/v4/spreadsheets"
      authentication:
        type: bearer
        token: "$secrets.google_sheets_token"
      resources:
        - name: values
          path: "/{{spreadsheet_id}}/values/{{range}}"
          inputParameters:
            - name: spreadsheet_id
              in: path
            - name: range
              in: path
          operations:
            - name: update-values
              method: PUT

Retrieves HEDIS quality metrics data from a Google Sheets spreadsheet, returning measure name, rate, and benchmark comparison.

naftiko: "0.5"
info:
  label: "Google Sheets Quality Metrics Export"
  description: "Retrieves HEDIS quality metrics data from a Google Sheets spreadsheet, returning measure name, rate, and benchmark comparison."
  tags:
    - healthcare
    - quality-metrics
    - google-sheets
capability:
  exposes:
    - type: mcp
      namespace: quality-metrics-export
      port: 8080
      tools:
        - name: get-quality-metrics
          description: "Retrieve HEDIS quality metrics from Google Sheets."
          inputParameters:
            - name: spreadsheet_id
              in: body
              type: string
              description: "Google Sheets spreadsheet ID."
            - name: range
              in: body
              type: string
              description: "Cell range to query."
          call: "gsheets.get-values"
          with:
            spreadsheet_id: "{{spreadsheet_id}}"
            range: "{{range}}"
          outputParameters:
            - name: values
              type: array
              mapping: "$.values"
            - name: row_count
              type: number
              mapping: "$.values.length"
  consumes:
    - type: http
      namespace: gsheets
      baseUri: "https://sheets.googleapis.com/v4"
      authentication:
        type: bearer
        token: "$secrets.google_sheets_token"
      resources:
        - name: spreadsheets
          path: "/spreadsheets/{{spreadsheet_id}}/values/{{range}}"
          inputParameters:
            - name: spreadsheet_id
              in: path
            - name: range
              in: path
          operations:
            - name: get-values
              method: GET

Retrieves grievance data from ServiceNow, generates compliance reports in Google Sheets, and notifies leadership via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Grievance and Appeal Tracking Pipeline"
  description: "Retrieves grievance data from ServiceNow, generates compliance reports in Google Sheets, and notifies leadership via Microsoft Teams."
  tags:
    - compliance
    - grievance-tracking
    - servicenow
    - google-sheets
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: grievance-tracking
      port: 8080
      tools:
        - name: track-grievances
          description: "Track grievances, generate reports, and notify leadership."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
            - name: period
              in: body
              type: string
              description: "Reporting period."
          steps:
            - name: get-grievance-data
              type: call
              call: "servicenow.query-records"
              with:
                table: "x_centene_grievance"
                query: "state={{state}}^period={{period}}"
            - name: create-report
              type: call
              call: "gsheets.create-spreadsheet"
              with:
                title: "Grievance Report — {{state}} — {{period}}"
                data: "Total: {{get-grievance-data.total_count}}. Open: {{get-grievance-data.open_count}}."
            - name: notify-leadership
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "compliance_leadership"
                text: "Grievance report — {{state}} {{period}}: {{get-grievance-data.total_count}} total, {{get-grievance-data.open_count}} open. Report generated."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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: query-records
              method: GET
    - type: http
      namespace: gsheets
      baseUri: "https://sheets.googleapis.com/v4"
      authentication:
        type: bearer
        token: "$secrets.google_sheets_token"
      resources:
        - name: spreadsheets
          path: "/spreadsheets"
          operations:
            - name: create-spreadsheet
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Identifies members with HEDIS care gaps from Databricks analytics, creates outreach tasks in Salesforce, and sends reminders via WhatsApp.

naftiko: "0.5"
info:
  label: "HEDIS Gap Closure Outreach Pipeline"
  description: "Identifies members with HEDIS care gaps from Databricks analytics, creates outreach tasks in Salesforce, and sends reminders via WhatsApp."
  tags:
    - healthcare
    - hedis
    - databricks
    - salesforce
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: hedis-gap-closure
      port: 8080
      tools:
        - name: close-hedis-gaps
          description: "Identify care gaps, create outreach tasks, and send reminders."
          inputParameters:
            - name: measure
              in: body
              type: string
              description: "HEDIS measure code."
            - name: state
              in: body
              type: string
              description: "State code."
          steps:
            - name: identify-gaps
              type: call
              call: "databricks.run-job"
              with:
                job_id: "hedis_gap_analysis"
                measure: "{{measure}}"
                state: "{{state}}"
            - name: create-outreach
              type: call
              call: "salesforce.create-campaign"
              with:
                name: "HEDIS {{measure}} Gap Closure — {{state}}"
                member_count: "{{identify-gaps.member_count}}"
            - name: send-reminders
              type: call
              call: "whatsapp.send-broadcast"
              with:
                campaign_id: "{{create-outreach.campaign_id}}"
                message: "Important health reminder: You are due for a {{measure}} screening. Schedule your appointment today. Call us at 1-800-CENTENE for help finding a provider."
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: campaigns
          path: "/sobjects/Campaign"
          operations:
            - name: create-campaign
              method: POST
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-broadcast
              method: POST

Pulls Healthcare Effectiveness Data from Snowflake, calculates HEDIS quality measures, and refreshes the Power BI executive dashboard.

naftiko: "0.5"
info:
  label: "HEDIS Quality Measures Dashboard"
  description: "Pulls Healthcare Effectiveness Data from Snowflake, calculates HEDIS quality measures, and refreshes the Power BI executive dashboard."
  tags:
    - healthcare
    - quality
    - hedis
    - snowflake
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: quality-measures
      port: 8080
      tools:
        - name: refresh-hedis-dashboard
          description: "Calculate HEDIS measures from Snowflake data and refresh the Power BI quality dashboard."
          inputParameters:
            - name: measurement_year
              in: body
              type: string
              description: "HEDIS measurement year."
            - name: state
              in: body
              type: string
              description: "State health plan."
            - name: dataset_id
              in: body
              type: string
              description: "Power BI dataset ID."
          steps:
            - name: calculate-measures
              type: call
              call: "snowflake.run-query"
              with:
                query: "CALL calculate_hedis_measures('{{measurement_year}}', '{{state}}')"
            - name: refresh-dashboard
              type: call
              call: "powerbi.trigger-refresh"
              with:
                dataset_id: "{{dataset_id}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: refreshes
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: trigger-refresh
              method: POST

Records a HIPAA breach in ServiceNow, notifies affected members via WhatsApp, and alerts the privacy office via Microsoft Teams.

naftiko: "0.5"
info:
  label: "HIPAA Breach Notification Pipeline"
  description: "Records a HIPAA breach in ServiceNow, notifies affected members via WhatsApp, and alerts the privacy office via Microsoft Teams."
  tags:
    - compliance
    - hipaa
    - servicenow
    - whatsapp
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: hipaa-breach
      port: 8080
      tools:
        - name: process-hipaa-breach
          description: "Record breach, notify members, and alert privacy office."
          inputParameters:
            - name: breach_description
              in: body
              type: string
              description: "Description of the breach."
            - name: affected_count
              in: body
              type: integer
              description: "Number of affected members."
          steps:
            - name: create-breach-record
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_hipaa_breach"
                short_description: "HIPAA Breach — {{affected_count}} members"
                description: "{{breach_description}}. Affected members: {{affected_count}}."
                priority: "1"
            - name: notify-members
              type: call
              call: "whatsapp.send-broadcast"
              with:
                breach_id: "{{create-breach-record.number}}"
                message: "Important notice: A data security incident may have affected your information. Please call 1-800-CENTENE for details and free credit monitoring."
            - name: alert-privacy
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "privacy_office"
                text: "HIPAA BREACH: {{affected_count}} members affected. {{breach_description}}. Case: {{create-breach-record.number}}. Immediate response required."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-broadcast
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Logs HIPAA-relevant access events to Snowflake and creates ServiceNow security incidents when policy violations are detected.

naftiko: "0.5"
info:
  label: "HIPAA Compliance Audit Logger"
  description: "Logs HIPAA-relevant access events to Snowflake and creates ServiceNow security incidents when policy violations are detected."
  tags:
    - compliance
    - hipaa
    - security
    - snowflake
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: hipaa-compliance
      port: 8080
      tools:
        - name: log-access-event
          description: "Log a PHI access event and create a security incident if the access violates HIPAA policy."
          inputParameters:
            - name: user_id
              in: body
              type: string
              description: "User who accessed the data."
            - name: resource_type
              in: body
              type: string
              description: "Type of PHI resource accessed."
            - name: member_id
              in: body
              type: string
              description: "Member whose data was accessed."
            - name: access_reason
              in: body
              type: string
              description: "Stated reason for access."
            - name: violation_detected
              in: body
              type: boolean
              description: "Whether a policy violation was detected."
          steps:
            - name: log-event
              type: call
              call: "snowflake.run-query"
              with:
                query: "INSERT INTO hipaa_access_log (user_id, resource_type, member_id, access_reason, violation, logged_at) VALUES ('{{user_id}}', '{{resource_type}}', '{{member_id}}', '{{access_reason}}', {{violation_detected}}, CURRENT_TIMESTAMP())"
            - name: create-security-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "HIPAA Violation: {{user_id}} accessed {{resource_type}} for member {{member_id}}"
                category: "security"
                urgency: "high"
                description: "Potential HIPAA violation detected. User: {{user_id}}, Resource: {{resource_type}}, Member: {{member_id}}, Reason: {{access_reason}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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

Creates a security incident in ServiceNow, initiates containment via Palo Alto Networks firewall rules, and alerts the security team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "IT Security Incident Response Pipeline"
  description: "Creates a security incident in ServiceNow, initiates containment via Palo Alto Networks firewall rules, and alerts the security team via Microsoft Teams."
  tags:
    - it-security
    - incident-response
    - servicenow
    - palo-alto-networks
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: security-incident
      port: 8080
      tools:
        - name: respond-to-security-incident
          description: "Create incident, initiate containment, and alert security team."
          inputParameters:
            - name: incident_type
              in: body
              type: string
              description: "Incident type (malware, phishing, data-exfiltration, unauthorized-access)."
            - name: affected_system
              in: body
              type: string
              description: "Affected system or application name."
          steps:
            - name: create-incident
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_security_incident"
                short_description: "Security incident — {{incident_type}} — {{affected_system}}"
                description: "Type: {{incident_type}}. System: {{affected_system}}. Containment initiated."
                priority: "1"
            - name: initiate-containment
              type: call
              call: "paloalto.create-rule"
              with:
                action: "block"
                system: "{{affected_system}}"
            - name: alert-security
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "security_operations"
                text: "SECURITY INCIDENT: {{incident_type}} on {{affected_system}}. Containment initiated. Incident: {{create-incident.number}}. Immediate investigation required."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: paloalto
      baseUri: "https://centene-fw.paloaltonetworks.com/restapi/v10.2"
      authentication:
        type: apiKey
        key: "$secrets.paloalto_api_key"
      resources:
        - name: rules
          path: "/Policies/SecurityRules"
          operations:
            - name: create-rule
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves the status of a regulatory compliance project in Jira by issue key, returning summary, status, and due date.

naftiko: "0.5"
info:
  label: "Jira Compliance Project Status"
  description: "Retrieves the status of a regulatory compliance project in Jira by issue key, returning summary, status, and due date."
  tags:
    - compliance
    - project-management
    - jira
capability:
  exposes:
    - type: mcp
      namespace: compliance-projects
      port: 8080
      tools:
        - name: get-compliance-project
          description: "Get a Jira compliance project status by issue key."
          inputParameters:
            - name: issue_key
              in: body
              type: string
              description: "The 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: due_date
              type: string
              mapping: "$.fields.duedate"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://centene.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 current sprint status from Jira for the Centene digital health platform team.

naftiko: "0.5"
info:
  label: "Jira Development Sprint Tracker"
  description: "Retrieves current sprint status from Jira for the Centene digital health platform team."
  tags:
    - development
    - project-management
    - jira
capability:
  exposes:
    - type: mcp
      namespace: dev-tracking
      port: 8080
      tools:
        - name: get-sprint-progress
          description: "Fetch current sprint progress from Jira."
          inputParameters:
            - name: board_id
              in: body
              type: string
              description: "Jira board ID."
          call: "jira.get-active-sprint"
          with:
            board_id: "{{board_id}}"
          outputParameters:
            - name: sprint_name
              type: string
              mapping: "$.values[0].name"
            - name: start_date
              type: string
              mapping: "$.values[0].startDate"
            - name: end_date
              type: string
              mapping: "$.values[0].endDate"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://centene.atlassian.net/rest/agile/1.0"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: sprints
          path: "/board/{{board_id}}/sprint"
          inputParameters:
            - name: board_id
              in: path
          operations:
            - name: get-active-sprint
              method: GET

Publishes healthcare talent recruitment content on the Centene LinkedIn company page.

naftiko: "0.5"
info:
  label: "LinkedIn Healthcare Employer Brand Publisher"
  description: "Publishes healthcare talent recruitment content on the Centene LinkedIn company page."
  tags:
    - hr
    - employer-branding
    - linkedin
capability:
  exposes:
    - type: mcp
      namespace: employer-brand
      port: 8080
      tools:
        - name: publish-linkedin-post
          description: "Post employer brand content to the Centene LinkedIn page."
          inputParameters:
            - name: text
              in: body
              type: string
              description: "Post content."
          call: "linkedin.create-post"
          with:
            author: "urn:li:organization:{{centene_org_id}}"
            text: "{{text}}"
          outputParameters:
            - name: post_id
              type: string
              mapping: "$.id"
  consumes:
    - type: http
      namespace: linkedin
      baseUri: "https://api.linkedin.com/v2"
      authentication:
        type: bearer
        token: "$secrets.linkedin_token"
      resources:
        - name: ugcPosts
          path: "/ugcPosts"
          operations:
            - name: create-post
              method: POST

Identifies pregnant members from Databricks analytics, assigns care coordinators in Salesforce, and schedules outreach via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Maternal Health Care Coordination Pipeline"
  description: "Identifies pregnant members from Databricks analytics, assigns care coordinators in Salesforce, and schedules outreach via Microsoft Teams."
  tags:
    - healthcare
    - maternal-health
    - databricks
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: maternal-health
      port: 8080
      tools:
        - name: coordinate-maternal-care
          description: "Identify pregnant members, assign coordinators, and schedule outreach."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
          steps:
            - name: identify-members
              type: call
              call: "databricks.run-job"
              with:
                job_id: "maternal_identification"
                state: "{{state}}"
            - name: assign-coordinators
              type: call
              call: "salesforce.create-care-plans"
              with:
                state: "{{state}}"
                member_count: "{{identify-members.member_count}}"
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "maternal_health_{{state}}"
                text: "Maternal care coordination: {{identify-members.member_count}} new pregnant members identified in {{state}}. Care plans created. Outreach to begin."
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: care-plans
          path: "/sobjects/Care_Plan__c"
          operations:
            - name: create-care-plans
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Generates state Medicaid regulatory reports from Snowflake encounter data and uploads to SharePoint for compliance review before submission.

naftiko: "0.5"
info:
  label: "Medicaid State Reporting Generator"
  description: "Generates state Medicaid regulatory reports from Snowflake encounter data and uploads to SharePoint for compliance review before submission."
  tags:
    - compliance
    - medicaid
    - reporting
    - snowflake
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: medicaid-reporting
      port: 8080
      tools:
        - name: generate-state-report
          description: "Generate a Medicaid state regulatory report and upload to SharePoint for review."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State abbreviation."
            - name: report_type
              in: body
              type: string
              description: "Report type (encounter, financial, enrollment, quality)."
            - name: reporting_period
              in: body
              type: string
              description: "Reporting period in YYYY-MM."
          steps:
            - name: generate-data
              type: call
              call: "snowflake.run-query"
              with:
                query: "CALL generate_medicaid_report('{{state}}', '{{report_type}}', '{{reporting_period}}')"
            - name: upload-report
              type: call
              call: "sharepoint.upload-file"
              with:
                site_id: "regulatory_reports"
                folder_path: "Medicaid/{{state}}/{{reporting_period}}"
                file_name: "{{report_type}}_{{state}}_{{reporting_period}}.csv"
                content: "{{generate-data.results}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-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

Updates member address in Salesforce, triggers benefit region reassignment in ServiceNow, and sends confirmation via WhatsApp.

naftiko: "0.5"
info:
  label: "Member Address Change Workflow"
  description: "Updates member address in Salesforce, triggers benefit region reassignment in ServiceNow, and sends confirmation via WhatsApp."
  tags:
    - healthcare
    - member-services
    - salesforce
    - servicenow
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: address-change
      port: 8080
      tools:
        - name: process-address-change
          description: "Update address, reassign benefits region, and confirm."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: new_address
              in: body
              type: string
              description: "New address."
            - name: new_state
              in: body
              type: string
              description: "New state code."
          steps:
            - name: update-address
              type: call
              call: "salesforce.update-member-address"
              with:
                member_id: "{{member_id}}"
                address: "{{new_address}}"
                state: "{{new_state}}"
            - name: reassign-region
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_region_change"
                short_description: "Region change — {{member_id}} — {{new_state}}"
                description: "New address: {{new_address}}. State: {{new_state}}."
            - name: confirm-member
              type: call
              call: "whatsapp.send-message"
              with:
                phone_number: "{{update-address.phone}}"
                message: "Your address has been updated. If your new address is in a different service area, your provider network may change. We will send your new ID card within 10 days."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: members
          path: "/sobjects/Member__c/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: update-member-address
              method: PATCH
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-message
              method: POST

Verifies a member's benefits eligibility for a specific service type and returns coverage details, copay amounts, and deductible status.

naftiko: "0.5"
info:
  label: "Member Benefits Eligibility Checker"
  description: "Verifies a member's benefits eligibility for a specific service type and returns coverage details, copay amounts, and deductible status."
  tags:
    - healthcare
    - eligibility
    - benefits
capability:
  exposes:
    - type: mcp
      namespace: benefits-eligibility
      port: 8080
      tools:
        - name: check-eligibility
          description: "Check a member's benefits eligibility for a given service type."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: service_type
              in: body
              type: string
              description: "Service type code (e.g., inpatient, outpatient, pharmacy, behavioral_health)."
            - name: service_date
              in: body
              type: string
              description: "Date of service in YYYY-MM-DD."
          call: "eligibility.check"
          with:
            member_id: "{{member_id}}"
            service_type: "{{service_type}}"
            date: "{{service_date}}"
          outputParameters:
            - name: is_eligible
              type: boolean
              mapping: "$.eligible"
            - name: copay
              type: number
              mapping: "$.cost_share.copay"
            - name: deductible_met
              type: boolean
              mapping: "$.deductible.met"
            - name: deductible_remaining
              type: number
              mapping: "$.deductible.remaining"
            - name: plan_name
              type: string
              mapping: "$.plan.name"
  consumes:
    - type: http
      namespace: eligibility
      baseUri: "https://eligibility-api.centene.com/v2"
      authentication:
        type: bearer
        token: "$secrets.eligibility_api_token"
      resources:
        - name: eligibility
          path: "/members/{{member_id}}/eligibility"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: check
              method: GET

Creates a complaint case in ServiceNow, retrieves member history from Salesforce, and sends acknowledgment via WhatsApp.

naftiko: "0.5"
info:
  label: "Member Complaint Resolution Workflow"
  description: "Creates a complaint case in ServiceNow, retrieves member history from Salesforce, and sends acknowledgment via WhatsApp."
  tags:
    - healthcare
    - member-complaints
    - servicenow
    - salesforce
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: member-complaints
      port: 8080
      tools:
        - name: resolve-member-complaint
          description: "Create complaint case, get member history, and acknowledge."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: complaint_description
              in: body
              type: string
              description: "Description of the complaint."
          steps:
            - name: get-member
              type: call
              call: "salesforce.get-member"
              with:
                member_id: "{{member_id}}"
            - name: create-complaint
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_complaint"
                short_description: "Member complaint — {{member_id}}"
                description: "{{complaint_description}}"
            - name: send-acknowledgment
              type: call
              call: "whatsapp.send-message"
              with:
                phone_number: "{{get-member.phone}}"
                message: "We received your complaint (Ref: {{create-complaint.number}}). We will resolve it within 30 days. Contact us at 1-800-CENTENE with questions."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: members
          path: "/sobjects/Member__c/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: get-member
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-message
              method: POST

Processes member disenrollment from Salesforce, terminates benefits via ServiceNow, and sends notification via WhatsApp.

naftiko: "0.5"
info:
  label: "Member Disenrollment Processing Workflow"
  description: "Processes member disenrollment from Salesforce, terminates benefits via ServiceNow, and sends notification via WhatsApp."
  tags:
    - healthcare
    - disenrollment
    - salesforce
    - servicenow
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: disenrollment
      port: 8080
      tools:
        - name: process-disenrollment
          description: "Process member disenrollment and send notification."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: effective_date
              in: body
              type: string
              description: "Disenrollment effective date."
          steps:
            - name: get-member
              type: call
              call: "salesforce.get-member"
              with:
                member_id: "{{member_id}}"
            - name: terminate-benefits
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_disenrollment"
                short_description: "Disenrollment — {{member_id}} — {{effective_date}}"
                description: "Member: {{get-member.name}}. Effective: {{effective_date}}."
            - name: notify-member
              type: call
              call: "whatsapp.send-message"
              with:
                phone_number: "{{get-member.phone}}"
                message: "Your health plan coverage will end on {{effective_date}}. Please contact us at 1-800-CENTENE if you have questions about your options."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: members
          path: "/sobjects/Member__c/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: get-member
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-message
              method: POST

On new member enrollment in the health plan system, creates a ServiceNow onboarding case, provisions a SharePoint folder for member documents, and notifies the care coordination team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Member Enrollment Orchestrator"
  description: "On new member enrollment in the health plan system, creates a ServiceNow onboarding case, provisions a SharePoint folder for member documents, and notifies the care coordination team via Microsoft Teams."
  tags:
    - healthcare
    - enrollment
    - servicenow
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: member-enrollment
      port: 8080
      tools:
        - name: trigger-member-onboarding
          description: "Orchestrate new member enrollment across ServiceNow, SharePoint, and Microsoft Teams."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Health plan member ID."
            - name: plan_code
              in: body
              type: string
              description: "Health plan code."
            - name: effective_date
              in: body
              type: string
              description: "Coverage effective date in YYYY-MM-DD."
            - name: state
              in: body
              type: string
              description: "State of enrollment."
          steps:
            - name: create-case
              type: call
              call: "servicenow.create-case"
              with:
                short_description: "New member enrollment: {{member_id}}"
                category: "enrollment"
                assigned_group: "Care_Coordination_{{state}}"
                description: "New member {{member_id}} enrolled in plan {{plan_code}} effective {{effective_date}} in {{state}}."
            - name: provision-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "member_documents"
                folder_path: "Members/{{member_id}}_{{effective_date}}"
            - name: notify-care-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "care_coordination_{{state}}"
                text: "New member enrolled: {{member_id}} on plan {{plan_code}}, effective {{effective_date}}. Case: {{create-case.number}}. Documents: {{provision-folder.url}}."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://centene.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: cases
          path: "/table/sn_customerservice_case"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: drive-items
          path: "/{{site_id}}/drive/root:/{{folder_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
          operations:
            - name: create-folder
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

When a member grievance is received, creates a Salesforce case, opens a ServiceNow tracking ticket, and notifies the member services supervisor.

naftiko: "0.5"
info:
  label: "Member Grievance Case Creator"
  description: "When a member grievance is received, creates a Salesforce case, opens a ServiceNow tracking ticket, and notifies the member services supervisor."
  tags:
    - member-services
    - grievances
    - salesforce
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: member-grievances
      port: 8080
      tools:
        - name: create-grievance
          description: "Create a member grievance case across Salesforce and ServiceNow with team notification."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: grievance_type
              in: body
              type: string
              description: "Grievance type (quality_of_care, access, billing, service)."
            - name: description
              in: body
              type: string
              description: "Grievance description."
            - name: state
              in: body
              type: string
              description: "State health plan."
          steps:
            - name: create-sf-case
              type: call
              call: "salesforce.create-case"
              with:
                subject: "Member Grievance: {{grievance_type}} - {{member_id}}"
                description: "{{description}}"
                type: "Grievance"
                status: "New"
                member_id: "{{member_id}}"
            - name: create-snow-ticket
              type: call
              call: "servicenow.create-case"
              with:
                short_description: "Grievance: {{grievance_type}} for member {{member_id}}"
                category: "grievance"
                description: "{{description}}. SF Case: {{create-sf-case.id}}."
            - name: notify-supervisor
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "member_services_{{state}}"
                text: "New grievance received: {{grievance_type}} from member {{member_id}}. SF Case: {{create-sf-case.id}}. SNOW: {{create-snow-ticket.number}}. Regulatory clock started."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v59.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: cases
          path: "/sobjects/Case"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://centene.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: cases
          path: "/table/sn_customerservice_case"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Pulls member health data from the data warehouse via Teradata, runs risk stratification in Databricks, and updates care management in Salesforce.

naftiko: "0.5"
info:
  label: "Member Health Risk Assessment Pipeline"
  description: "Pulls member health data from the data warehouse via Teradata, runs risk stratification in Databricks, and updates care management in Salesforce."
  tags:
    - healthcare
    - risk-assessment
    - teradata
    - databricks
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: health-risk-assessment
      port: 8080
      tools:
        - name: assess-member-risk
          description: "Run health risk assessment using claims data and ML models."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Health plan member ID."
            - name: assessment_period
              in: body
              type: string
              description: "Assessment period (e.g., last-12-months)."
          steps:
            - name: get-health-data
              type: call
              call: "teradata.execute-query"
              with:
                query: "SELECT * FROM member_health_summary WHERE member_id='{{member_id}}'"
            - name: run-risk-model
              type: call
              call: "databricks.run-job"
              with:
                job_id: "risk_stratification"
                member_id: "{{member_id}}"
            - name: update-care-plan
              type: call
              call: "salesforce.update-member"
              with:
                member_id: "{{member_id}}"
                risk_score: "{{run-risk-model.risk_score}}"
                risk_tier: "{{run-risk-model.risk_tier}}"
  consumes:
    - type: http
      namespace: teradata
      baseUri: "https://centene-td.teradata.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.teradata_token"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: members
          path: "/sobjects/Member__c/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: update-member
              method: PATCH

Retrieves member details from Salesforce, creates a reissue request in ServiceNow, and sends confirmation via WhatsApp.

naftiko: "0.5"
info:
  label: "Member ID Card Reissue Workflow"
  description: "Retrieves member details from Salesforce, creates a reissue request in ServiceNow, and sends confirmation via WhatsApp."
  tags:
    - healthcare
    - member-services
    - salesforce
    - servicenow
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: id-card-reissue
      port: 8080
      tools:
        - name: reissue-id-card
          description: "Process member ID card reissue request."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: reason
              in: body
              type: string
              description: "Reissue reason (lost, stolen, name-change)."
          steps:
            - name: get-member
              type: call
              call: "salesforce.get-member"
              with:
                member_id: "{{member_id}}"
            - name: create-request
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_id_card"
                short_description: "ID card reissue — {{member_id}} — {{reason}}"
                description: "Member: {{get-member.name}}. Reason: {{reason}}."
            - name: confirm-member
              type: call
              call: "whatsapp.send-message"
              with:
                phone_number: "{{get-member.phone}}"
                message: "Your new ID card has been requested (Ref: {{create-request.number}}). You will receive it within 10 business days."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: members
          path: "/sobjects/Member__c/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: get-member
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-message
              method: POST

Assigns a primary care provider to a new member using Salesforce, updates eligibility via ServiceNow, and sends welcome notification via WhatsApp.

naftiko: "0.5"
info:
  label: "Member PCP Assignment Workflow"
  description: "Assigns a primary care provider to a new member using Salesforce, updates eligibility via ServiceNow, and sends welcome notification via WhatsApp."
  tags:
    - healthcare
    - pcp-assignment
    - salesforce
    - servicenow
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: pcp-assignment
      port: 8080
      tools:
        - name: assign-pcp
          description: "Assign PCP to member and send welcome notification."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: provider_id
              in: body
              type: string
              description: "PCP provider ID."
          steps:
            - name: update-assignment
              type: call
              call: "salesforce.update-member-pcp"
              with:
                member_id: "{{member_id}}"
                pcp_id: "{{provider_id}}"
            - name: update-eligibility
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_pcp_change"
                short_description: "PCP assignment — {{member_id}}"
                description: "PCP: {{provider_id}}."
            - name: welcome-member
              type: call
              call: "whatsapp.send-message"
              with:
                phone_number: "{{update-assignment.member_phone}}"
                message: "Welcome to Centene! Your primary care provider is {{update-assignment.pcp_name}}. Call {{update-assignment.pcp_phone}} to schedule your first visit."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: members
          path: "/sobjects/Member__c/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: update-member-pcp
              method: PATCH
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-message
              method: POST

Schedules non-emergency medical transportation from ServiceNow, verifies member eligibility in Salesforce, and sends trip confirmation via WhatsApp.

naftiko: "0.5"
info:
  label: "Member Transportation Benefit Workflow"
  description: "Schedules non-emergency medical transportation from ServiceNow, verifies member eligibility in Salesforce, and sends trip confirmation via WhatsApp."
  tags:
    - healthcare
    - transportation
    - servicenow
    - salesforce
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: nemt
      port: 8080
      tools:
        - name: schedule-transportation
          description: "Schedule NEMT ride and confirm with member."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: appointment_date
              in: body
              type: string
              description: "Appointment date."
            - name: destination
              in: body
              type: string
              description: "Destination address."
          steps:
            - name: verify-eligibility
              type: call
              call: "salesforce.check-eligibility"
              with:
                member_id: "{{member_id}}"
            - name: create-ride
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_nemt"
                short_description: "NEMT — {{member_id}} — {{appointment_date}}"
                description: "Destination: {{destination}}. Date: {{appointment_date}}."
            - name: confirm-member
              type: call
              call: "whatsapp.send-message"
              with:
                phone_number: "{{verify-eligibility.phone}}"
                message: "Your ride is confirmed for {{appointment_date}} to {{destination}}. Ref: {{create-ride.number}}. Driver will call 30 minutes before pickup."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: members
          path: "/sobjects/Member__c/{{member_id}}"
          inputParameters:
            - name: member_id
              in: path
          operations:
            - name: check-eligibility
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-message
              method: POST

Triggers a Power Automate flow for automated member enrollment processing workflows.

naftiko: "0.5"
info:
  label: "Microsoft Power Automate Enrollment Flow"
  description: "Triggers a Power Automate flow for automated member enrollment processing workflows."
  tags:
    - automation
    - enrollment
    - microsoft-power-automate
capability:
  exposes:
    - type: mcp
      namespace: enrollment-automation
      port: 8080
      tools:
        - name: trigger-enrollment-flow
          description: "Trigger a Power Automate enrollment processing flow."
          inputParameters:
            - name: flow_id
              in: body
              type: string
              description: "Power Automate flow ID."
            - name: member_batch_id
              in: body
              type: string
              description: "Member enrollment batch ID."
          call: "power-automate.trigger-flow"
          with:
            flow_id: "{{flow_id}}"
            inputs: "{\"batch_id\": \"{{member_batch_id}}\"}"
          outputParameters:
            - name: run_id
              type: string
              mapping: "$.id"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: power-automate
      baseUri: "https://flow.microsoft.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.power_automate_token"
      resources:
        - name: flows
          path: "/flows/{{flow_id}}/triggers/manual/run"
          inputParameters:
            - name: flow_id
              in: path
          operations:
            - name: trigger-flow
              method: POST

Retrieves application health metrics from New Relic for the claims processing API.

naftiko: "0.5"
info:
  label: "New Relic Claims API Health Check"
  description: "Retrieves application health metrics from New Relic for the claims processing API."
  tags:
    - monitoring
    - devops
    - new-relic
capability:
  exposes:
    - type: mcp
      namespace: claims-api-health
      port: 8080
      tools:
        - name: check-claims-api
          description: "Get error rate and response time for the claims processing API from New Relic."
          inputParameters:
            - name: app_name
              in: body
              type: string
              description: "New Relic application name."
          call: "newrelic.get-app-metrics"
          with:
            app_name: "{{app_name}}"
          outputParameters:
            - name: error_rate
              type: number
              mapping: "$.application.application_summary.error_rate"
            - name: response_time
              type: number
              mapping: "$.application.application_summary.response_time"
            - name: throughput
              type: number
              mapping: "$.application.application_summary.throughput"
  consumes:
    - type: http
      namespace: newrelic
      baseUri: "https://api.newrelic.com/v2"
      authentication:
        type: apiKey
        key: "$secrets.newrelic_api_key"
      resources:
        - name: applications
          path: "/applications.json"
          operations:
            - name: get-app-metrics
              method: GET

Queries New Relic for member portal application health, returning error rate, throughput, and response time.

naftiko: "0.5"
info:
  label: "New Relic Member Portal Health Check"
  description: "Queries New Relic for member portal application health, returning error rate, throughput, and response time."
  tags:
    - engineering
    - portal-monitoring
    - new-relic
capability:
  exposes:
    - type: mcp
      namespace: portal-health
      port: 8080
      tools:
        - name: check-portal-health
          description: "Get New Relic health metrics for the member portal."
          inputParameters:
            - name: app_id
              in: body
              type: string
              description: "New Relic application ID."
          call: "newrelic.get-app-metrics"
          with:
            app_id: "{{app_id}}"
          outputParameters:
            - name: error_rate
              type: number
              mapping: "$.application_summary.error_rate"
            - name: throughput
              type: number
              mapping: "$.application_summary.throughput"
            - name: response_time
              type: number
              mapping: "$.application_summary.response_time"
  consumes:
    - type: http
      namespace: newrelic
      baseUri: "https://api.newrelic.com/v2"
      authentication:
        type: apiKey
        key: "$secrets.newrelic_api_key"
      resources:
        - name: applications
          path: "/applications/{{app_id}}.json"
          inputParameters:
            - name: app_id
              in: path
          operations:
            - name: get-app-metrics
              method: GET

Reconciles claims payment data between the claims system and Oracle E-Business Suite accounts payable.

naftiko: "0.5"
info:
  label: "Oracle E-Business Suite Claims Payment Reconciliation"
  description: "Reconciles claims payment data between the claims system and Oracle E-Business Suite accounts payable."
  tags:
    - finance
    - reconciliation
    - oracle-ebs
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: claims-reconciliation
      port: 8080
      tools:
        - name: reconcile-claims-payments
          description: "Compare claims payment data with Oracle EBS AP records to identify discrepancies."
          inputParameters:
            - name: payment_batch
              in: body
              type: string
              description: "Payment batch identifier."
            - name: payment_date
              in: body
              type: string
              description: "Payment date in YYYY-MM-DD."
          steps:
            - name: get-claims-data
              type: call
              call: "snowflake.run-query"
              with:
                query: "SELECT claim_number, paid_amount, provider_id, payment_date FROM claims_payments WHERE batch_id='{{payment_batch}}' AND payment_date='{{payment_date}}'"
            - name: get-ap-data
              type: call
              call: "oracle-ebs.get-payments"
              with:
                batch_id: "{{payment_batch}}"
                payment_date: "{{payment_date}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: oracle-ebs
      baseUri: "https://erp.centene.com/webservices/rest/ap_payments"
      authentication:
        type: basic
        username: "$secrets.oracle_ebs_user"
        password: "$secrets.oracle_ebs_password"
      resources:
        - name: payments
          path: "/v1/payments"
          operations:
            - name: get-payments
              method: GET

Queries Oracle EBS for provider payment status and outstanding check details.

naftiko: "0.5"
info:
  label: "Oracle E-Business Suite Provider Payment Status"
  description: "Queries Oracle EBS for provider payment status and outstanding check details."
  tags:
    - finance
    - provider-payments
    - oracle-ebs
capability:
  exposes:
    - type: mcp
      namespace: provider-payments
      port: 8080
      tools:
        - name: get-provider-payment
          description: "Look up provider payment status in Oracle EBS."
          inputParameters:
            - name: provider_id
              in: body
              type: string
              description: "Provider ID."
            - name: payment_date
              in: body
              type: string
              description: "Payment date."
          call: "oracle-ebs.get-payments"
          with:
            vendor_id: "{{provider_id}}"
            date: "{{payment_date}}"
          outputParameters:
            - name: payment_status
              type: string
              mapping: "$.payment_status"
            - name: amount
              type: number
              mapping: "$.payment_amount"
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://erp.centene.com/webservices/rest/ap_payments"
      authentication:
        type: basic
        username: "$secrets.oracle_ebs_user"
        password: "$secrets.oracle_ebs_password"
      resources:
        - name: payments
          path: "/v1/payments"
          operations:
            - name: get-payments
              method: GET

Retrieves provider payment details from Oracle E-Business Suite by payment ID, returning amount, status, and date.

naftiko: "0.5"
info:
  label: "Oracle EBS Provider Payment Lookup"
  description: "Retrieves provider payment details from Oracle E-Business Suite by payment ID, returning amount, status, and date."
  tags:
    - finance
    - provider-payments
    - oracle
    - oracle-e-business-suite
capability:
  exposes:
    - type: mcp
      namespace: provider-payments
      port: 8080
      tools:
        - name: get-provider-payment
          description: "Look up a provider payment in Oracle EBS."
          inputParameters:
            - name: payment_id
              in: body
              type: string
              description: "The Oracle payment ID."
          call: "oracle.get-payment"
          with:
            payment_id: "{{payment_id}}"
          outputParameters:
            - name: amount
              type: number
              mapping: "$.Amount"
            - name: status
              type: string
              mapping: "$.Status"
            - name: payment_date
              type: string
              mapping: "$.PaymentDate"
  consumes:
    - type: http
      namespace: oracle
      baseUri: "https://centene-ebs.oracle.com/webservices/rest/payments"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: payments
          path: "/payments/{{payment_id}}"
          inputParameters:
            - name: payment_id
              in: path
          operations:
            - name: get-payment
              method: GET

Audits Palo Alto firewall rules governing PHI data flows to ensure compliance with HIPAA network segmentation requirements.

naftiko: "0.5"
info:
  label: "Palo Alto Networks PHI Data Flow Auditor"
  description: "Audits Palo Alto firewall rules governing PHI data flows to ensure compliance with HIPAA network segmentation requirements."
  tags:
    - security
    - hipaa
    - palo-alto-networks
capability:
  exposes:
    - type: mcp
      namespace: phi-security
      port: 8080
      tools:
        - name: audit-phi-firewall-rules
          description: "Retrieve firewall rules for PHI network zones from Palo Alto Panorama."
          inputParameters:
            - name: device_group
              in: body
              type: string
              description: "Device group for PHI zones."
          call: "paloalto.get-security-rules"
          with:
            device_group: "{{device_group}}"
          outputParameters:
            - name: rules
              type: array
              mapping: "$.result.entry"
            - name: total_rules
              type: integer
              mapping: "$.result.@count"
  consumes:
    - type: http
      namespace: paloalto
      baseUri: "https://panorama.centene.com/restapi/v10.2"
      authentication:
        type: apiKey
        key: "$secrets.paloalto_api_key"
      resources:
        - name: security-rules
          path: "/Policies/SecurityRules"
          operations:
            - name: get-security-rules
              method: GET

Validates a pharmacy claim against the formulary in Snowflake and checks for drug interactions before processing.

naftiko: "0.5"
info:
  label: "Pharmacy Benefits Claim Validator"
  description: "Validates a pharmacy claim against the formulary in Snowflake and checks for drug interactions before processing."
  tags:
    - pharmacy
    - claims
    - formulary
    - snowflake
capability:
  exposes:
    - type: mcp
      namespace: pharmacy-claims
      port: 8080
      tools:
        - name: validate-pharmacy-claim
          description: "Validate a pharmacy claim against formulary and drug interaction databases."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: ndc_code
              in: body
              type: string
              description: "National Drug Code."
            - name: prescriber_npi
              in: body
              type: string
              description: "Prescriber NPI."
            - name: quantity
              in: body
              type: integer
              description: "Quantity dispensed."
          steps:
            - name: check-formulary
              type: call
              call: "snowflake.run-query"
              with:
                query: "SELECT tier, requires_prior_auth, step_therapy_required, quantity_limit FROM formulary WHERE ndc_code='{{ndc_code}}' AND plan_id=(SELECT plan_id FROM member_enrollment WHERE member_id='{{member_id}}' AND status='active')"
            - name: check-interactions
              type: call
              call: "snowflake.run-query"
              with:
                query: "SELECT i.severity, i.description FROM drug_interactions i JOIN member_medications m ON i.drug_b_ndc = m.ndc_code WHERE i.drug_a_ndc='{{ndc_code}}' AND m.member_id='{{member_id}}' AND m.active=true"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST

Receives a pharmacy PA request, validates against formulary rules in ServiceNow, and notifies the reviewing pharmacist via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Pharmacy Prior Authorization Pipeline"
  description: "Receives a pharmacy PA request, validates against formulary rules in ServiceNow, and notifies the reviewing pharmacist via Microsoft Teams."
  tags:
    - healthcare
    - pharmacy
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: pharmacy-pa
      port: 8080
      tools:
        - name: process-pharmacy-pa
          description: "Process pharmacy prior authorization request."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: ndc_code
              in: body
              type: string
              description: "National Drug Code."
          steps:
            - name: create-pa
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_pharmacy_pa"
                short_description: "Pharmacy PA — {{member_id}} — NDC {{ndc_code}}"
                description: "Member: {{member_id}}. Drug NDC: {{ndc_code}}."
            - name: notify-pharmacist
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "pharmacy_review"
                text: "Pharmacy PA submitted: Member {{member_id}}, NDC {{ndc_code}}. Case: {{create-pa.number}}. Review required."
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Assigns HIPAA and healthcare compliance training courses in Pluralsight to employees.

naftiko: "0.5"
info:
  label: "Pluralsight Healthcare Compliance Training"
  description: "Assigns HIPAA and healthcare compliance training courses in Pluralsight to employees."
  tags:
    - training
    - compliance
    - pluralsight
capability:
  exposes:
    - type: mcp
      namespace: compliance-training
      port: 8080
      tools:
        - name: assign-compliance-training
          description: "Assign HIPAA compliance training to an employee in Pluralsight."
          inputParameters:
            - name: user_email
              in: body
              type: string
              description: "Employee email."
            - name: path_id
              in: body
              type: string
              description: "Pluralsight learning path ID."
            - name: due_date
              in: body
              type: string
              description: "Due date."
          call: "pluralsight.assign-path"
          with:
            email: "{{user_email}}"
            path_id: "{{path_id}}"
            due_date: "{{due_date}}"
          outputParameters:
            - name: assignment_id
              type: string
              mapping: "$.id"
  consumes:
    - type: http
      namespace: pluralsight
      baseUri: "https://api.pluralsight.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pluralsight_token"
      resources:
        - name: assignments
          path: "/learning-paths/{{path_id}}/assignments"
          inputParameters:
            - name: path_id
              in: path
          operations:
            - name: assign-path
              method: POST

Runs population health analytics in Databricks, refreshes the population health dashboard in Tableau, and notifies the analytics team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Population Health Dashboard Refresh Pipeline"
  description: "Runs population health analytics in Databricks, refreshes the population health dashboard in Tableau, and notifies the analytics team via Microsoft Teams."
  tags:
    - healthcare
    - population-health
    - databricks
    - tableau
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: population-health
      port: 8080
      tools:
        - name: refresh-population-health
          description: "Run analytics, refresh dashboard, and notify team."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
            - name: plan_type
              in: body
              type: string
              description: "Plan type."
          steps:
            - name: run-analytics
              type: call
              call: "databricks.run-job"
              with:
                job_id: "population_health_refresh"
                state: "{{state}}"
                plan_type: "{{plan_type}}"
            - name: refresh-dashboard
              type: call
              call: "tableau.refresh-extract"
              with:
                datasource_id: "population_health_{{state}}"
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "health_analytics"
                text: "Population health dashboard refreshed: {{state}} — {{plan_type}}. Members analyzed: {{run-analytics.member_count}}. Dashboard updated."
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://centene-tableau.corp.net/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: datasources
          path: "/sites/default/datasources/{{datasource_id}}/refresh"
          inputParameters:
            - name: datasource_id
              in: path
          operations:
            - name: refresh-extract
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Runs Postman collections to test Centene's member-facing healthcare APIs for eligibility, claims, and provider directory.

naftiko: "0.5"
info:
  label: "Postman Healthcare API Test Runner"
  description: "Runs Postman collections to test Centene's member-facing healthcare APIs for eligibility, claims, and provider directory."
  tags:
    - qa
    - api-testing
    - postman
capability:
  exposes:
    - type: mcp
      namespace: api-testing
      port: 8080
      tools:
        - name: run-api-tests
          description: "Execute a Postman healthcare API test collection."
          inputParameters:
            - name: collection_id
              in: body
              type: string
              description: "Postman collection UID."
            - name: environment_id
              in: body
              type: string
              description: "Postman environment UID."
          call: "postman.run-collection"
          with:
            collection: "{{collection_id}}"
            environment: "{{environment_id}}"
          outputParameters:
            - name: run_id
              type: string
              mapping: "$.run.id"
            - name: status
              type: string
              mapping: "$.run.status"
            - name: total_tests
              type: integer
              mapping: "$.run.stats.tests.total"
            - name: failed_tests
              type: integer
              mapping: "$.run.stats.tests.failed"
  consumes:
    - type: http
      namespace: postman
      baseUri: "https://api.getpostman.com"
      authentication:
        type: apiKey
        key: "$secrets.postman_api_key"
      resources:
        - name: collection-runs
          path: "/monitors/{{collection_id}}/run"
          inputParameters:
            - name: collection_id
              in: path
          operations:
            - name: run-collection
              method: POST

Checks the last refresh status of the claims analytics Power BI dataset, returning refresh type, status, and end time.

naftiko: "0.5"
info:
  label: "Power BI Claims Dashboard Status"
  description: "Checks the last refresh status of the claims analytics Power BI dataset, returning refresh type, status, and end time."
  tags:
    - analytics
    - claims
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: claims-reporting
      port: 8080
      tools:
        - name: get-claims-dashboard-status
          description: "Get the last refresh status for the claims Power BI dataset."
          inputParameters:
            - name: group_id
              in: body
              type: string
              description: "Power BI workspace ID."
            - name: dataset_id
              in: body
              type: string
              description: "Power BI dataset ID."
          call: "powerbi.get-refresh-history"
          with:
            group_id: "{{group_id}}"
            dataset_id: "{{dataset_id}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.value[0].status"
            - name: end_time
              type: string
              mapping: "$.value[0].endTime"
  consumes:
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: refreshes
          path: "/groups/{{group_id}}/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: group_id
              in: path
            - name: dataset_id
              in: path
          operations:
            - name: get-refresh-history
              method: GET

Triggers a refresh of the Power BI Medical Loss Ratio dashboard that tracks premium revenue against claims costs by state.

naftiko: "0.5"
info:
  label: "Power BI Medical Loss Ratio Dashboard"
  description: "Triggers a refresh of the Power BI Medical Loss Ratio dashboard that tracks premium revenue against claims costs by state."
  tags:
    - finance
    - mlr
    - analytics
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: mlr-analytics
      port: 8080
      tools:
        - name: refresh-mlr-dashboard
          description: "Trigger a Power BI refresh for the Medical Loss Ratio dashboard."
          inputParameters:
            - name: dataset_id
              in: body
              type: string
              description: "Power BI dataset ID."
          call: "powerbi.trigger-refresh"
          with:
            dataset_id: "{{dataset_id}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: refreshes
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: trigger-refresh
              method: POST

Processes a prior authorization request by validating medical necessity against clinical guidelines in Snowflake and creating a ServiceNow case for clinical review.

naftiko: "0.5"
info:
  label: "Prior Authorization Request Processor"
  description: "Processes a prior authorization request by validating medical necessity against clinical guidelines in Snowflake and creating a ServiceNow case for clinical review."
  tags:
    - healthcare
    - prior-authorization
    - snowflake
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: prior-auth
      port: 8080
      tools:
        - name: process-prior-auth
          description: "Validate a prior authorization request against clinical guidelines and route for clinical review."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: procedure_code
              in: body
              type: string
              description: "CPT/HCPCS procedure code."
            - name: diagnosis_code
              in: body
              type: string
              description: "ICD-10 diagnosis code."
            - name: requesting_provider_npi
              in: body
              type: string
              description: "Requesting provider NPI."
          steps:
            - name: check-guidelines
              type: call
              call: "snowflake.run-query"
              with:
                query: "SELECT guideline_id, auto_approve, clinical_review_required FROM clinical_guidelines WHERE procedure_code='{{procedure_code}}' AND diagnosis_code='{{diagnosis_code}}'"
            - name: create-review-case
              type: call
              call: "servicenow.create-case"
              with:
                short_description: "Prior Auth: {{procedure_code}} for member {{member_id}}"
                category: "prior_authorization"
                assigned_group: "Clinical_Review"
                description: "Prior authorization for procedure {{procedure_code}} (dx: {{diagnosis_code}}) for member {{member_id}}. Provider NPI: {{requesting_provider_npi}}. Guideline: {{check-guidelines.guideline_id}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://centene.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: run-query
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://centene.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: cases
          path: "/table/sn_customerservice_case"
          operations:
            - name: create-case
              method: POST

Identifies providers with expiring credentials from Salesforce, creates renewal tasks in ServiceNow, and notifies the credentialing team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Provider Credentialing Renewal Pipeline"
  description: "Identifies providers with expiring credentials from Salesforce, creates renewal tasks in ServiceNow, and notifies the credentialing team via Microsoft Teams."
  tags:
    - healthcare
    - credentialing
    - salesforce
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: credentialing-renewal
      port: 8080
      tools:
        - name: process-credential-renewals
          description: "Identify expiring credentials, create renewal tasks, and notify team."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code for provider network."
            - name: days_threshold
              in: body
              type: integer
              description: "Days before expiry to flag."
          steps:
            - name: get-expiring-credentials
              type: call
              call: "salesforce.query-credentials"
              with:
                state: "{{state}}"
                days: "{{days_threshold}}"
            - name: create-renewal-tasks
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_credentialing"
                short_description: "Credential renewals — {{state}} — {{get-expiring-credentials.count}} providers"
                description: "{{get-expiring-credentials.count}} providers in {{state}} have credentials expiring within {{days_threshold}} days."
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "credentialing_{{state}}"
                text: "Credential renewal alert: {{get-expiring-credentials.count}} providers in {{state}} expiring within {{days_threshold}} days. Task: {{create-renewal-tasks.number}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: credentials
          path: "/query?q=SELECT+Count(Id)+FROM+Provider_Credential__c+WHERE+State__c='{{state}}'"
          inputParameters:
            - name: state
              in: query
          operations:
            - name: query-credentials
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Syncs provider data from Salesforce, validates against CMS requirements, and notifies the network management team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Provider Directory Update Pipeline"
  description: "Syncs provider data from Salesforce, validates against CMS requirements, and notifies the network management team via Microsoft Teams."
  tags:
    - healthcare
    - provider-directory
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: provider-directory
      port: 8080
      tools:
        - name: update-provider-directory
          description: "Sync provider directory data and validate compliance."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
          steps:
            - name: get-provider-updates
              type: call
              call: "salesforce.query-providers"
              with:
                state: "{{state}}"
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "network_management"
                text: "Provider directory update — {{state}}: {{get-provider-updates.update_count}} records updated. Validation: {{get-provider-updates.validation_status}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: providers
          path: "/query?q=SELECT+Id+FROM+Provider__c+WHERE+State__c='{{state}}'"
          inputParameters:
            - name: state
              in: query
          operations:
            - name: query-providers
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Queries provider network data from Teradata, runs adequacy analysis in Databricks, and generates reports in Power BI.

naftiko: "0.5"
info:
  label: "Provider Network Adequacy Analysis Pipeline"
  description: "Queries provider network data from Teradata, runs adequacy analysis in Databricks, and generates reports in Power BI."
  tags:
    - healthcare
    - network-adequacy
    - teradata
    - databricks
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: network-adequacy
      port: 8080
      tools:
        - name: analyze-network-adequacy
          description: "Analyze provider network adequacy by state and specialty."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
            - name: specialty
              in: body
              type: string
              description: "Provider specialty."
          steps:
            - name: get-network-data
              type: call
              call: "teradata.execute-query"
              with:
                query: "SELECT COUNT(*), AVG(distance_miles) FROM provider_network WHERE state='{{state}}' AND specialty='{{specialty}}'"
            - name: run-adequacy-model
              type: call
              call: "databricks.run-job"
              with:
                job_id: "network_adequacy"
                state: "{{state}}"
                specialty: "{{specialty}}"
            - name: refresh-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                group_id: "network_management"
                dataset_id: "network_adequacy"
  consumes:
    - type: http
      namespace: teradata
      baseUri: "https://centene-td.teradata.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.teradata_token"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              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: "/groups/{{group_id}}/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: group_id
              in: path
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST

When a new provider applies for network participation, validates credentials against the NPI registry, creates a Jira tracking ticket, and notifies the credentialing team.

naftiko: "0.5"
info:
  label: "Provider Network Credentialing Workflow"
  description: "When a new provider applies for network participation, validates credentials against the NPI registry, creates a Jira tracking ticket, and notifies the credentialing team."
  tags:
    - provider-network
    - credentialing
    - jira
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: provider-credentialing
      port: 8080
      tools:
        - name: initiate-credentialing
          description: "Start the provider credentialing process with NPI validation, Jira tracking, and team notification."
          inputParameters:
            - name: provider_npi
              in: body
              type: string
              description: "Provider National Provider Identifier."
            - name: provider_name
              in: body
              type: string
              description: "Provider or practice name."
            - name: specialty
              in: body
              type: string
              description: "Medical specialty."
            - name: state
              in: body
              type: string
              description: "State of practice."
          steps:
            - name: validate-npi
              type: call
              call: "npi-registry.lookup"
              with:
                npi: "{{provider_npi}}"
            - name: create-ticket
              type: call
              call: "jira.create-issue"
              with:
                project_key: "CRED"
                issue_type: "Task"
                summary: "Credentialing: {{provider_name}} (NPI: {{provider_npi}})"
                description: "New credentialing request for {{provider_name}}, {{specialty}} in {{state}}. NPI verified: {{validate-npi.status}}."
                priority: "Medium"
            - name: notify-team
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "credentialing_{{state}}"
                text: "New credentialing request: {{provider_name}} ({{specialty}}) in {{state}}. NPI: {{provider_npi}} - {{validate-npi.status}}. Jira: {{create-ticket.key}}."
  consumes:
    - type: http
      namespace: npi-registry
      baseUri: "https://npiregistry.cms.hhs.gov/api"
      authentication:
        type: none
      resources:
        - name: providers
          path: "/"
          operations:
            - name: lookup
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://centene.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Creates a new provider record in Salesforce, initiates credentialing in ServiceNow, and provisions system access via Microsoft Teams notification.

naftiko: "0.5"
info:
  label: "Provider Onboarding Orchestrator"
  description: "Creates a new provider record in Salesforce, initiates credentialing in ServiceNow, and provisions system access via Microsoft Teams notification."
  tags:
    - healthcare
    - provider-onboarding
    - salesforce
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: provider-onboarding
      port: 8080
      tools:
        - name: onboard-provider
          description: "Create provider record, initiate credentialing, and notify."
          inputParameters:
            - name: provider_name
              in: body
              type: string
              description: "Provider name."
            - name: npi
              in: body
              type: string
              description: "National Provider Identifier."
            - name: specialty
              in: body
              type: string
              description: "Provider specialty."
          steps:
            - name: create-provider
              type: call
              call: "salesforce.create-provider"
              with:
                name: "{{provider_name}}"
                npi: "{{npi}}"
                specialty: "{{specialty}}"
            - name: initiate-credentialing
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_credentialing"
                short_description: "Credentialing — {{provider_name}} — NPI {{npi}}"
                description: "Specialty: {{specialty}}. Salesforce ID: {{create-provider.id}}."
            - name: notify-network
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "provider_network"
                text: "New provider onboarding: {{provider_name}} (NPI: {{npi}}, {{specialty}}). Credentialing: {{initiate-credentialing.number}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: providers
          path: "/sobjects/Provider__c"
          operations:
            - name: create-provider
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Receives a payment dispute from Salesforce, retrieves payment details from Oracle EBS, and creates a resolution ticket in ServiceNow.

naftiko: "0.5"
info:
  label: "Provider Payment Dispute Workflow"
  description: "Receives a payment dispute from Salesforce, retrieves payment details from Oracle EBS, and creates a resolution ticket in ServiceNow."
  tags:
    - finance
    - payment-disputes
    - salesforce
    - oracle
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: payment-disputes
      port: 8080
      tools:
        - name: process-payment-dispute
          description: "Process provider payment dispute."
          inputParameters:
            - name: provider_id
              in: body
              type: string
              description: "Provider ID."
            - name: payment_id
              in: body
              type: string
              description: "Payment ID in dispute."
          steps:
            - name: get-payment
              type: call
              call: "oracle.get-payment"
              with:
                payment_id: "{{payment_id}}"
            - name: get-provider
              type: call
              call: "salesforce.get-provider"
              with:
                provider_id: "{{provider_id}}"
            - name: create-dispute
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_payment_dispute"
                short_description: "Payment dispute — {{provider_id}} — {{payment_id}}"
                description: "Provider: {{get-provider.name}}. Payment: ${{get-payment.amount}}. Status: {{get-payment.status}}."
  consumes:
    - type: http
      namespace: oracle
      baseUri: "https://centene-ebs.oracle.com/webservices/rest/payments"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: payments
          path: "/payments/{{payment_id}}"
          inputParameters:
            - name: payment_id
              in: path
          operations:
            - name: get-payment
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: providers
          path: "/sobjects/Provider__c/{{provider_id}}"
          inputParameters:
            - name: provider_id
              in: path
          operations:
            - name: get-provider
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://centene.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: records
          path: "/table/{{table}}"
          inputParameters:
            - name: table
              in: path
          operations:
            - name: create-record
              method: POST

Triggers a Qlik Sense app reload for provider network adequacy reporting by state and specialty.

naftiko: "0.5"
info:
  label: "Qlik Sense Network Adequacy Dashboard"
  description: "Triggers a Qlik Sense app reload for provider network adequacy reporting by state and specialty."
  tags:
    - analytics
    - network-adequacy
    - qlik-sense
capability:
  exposes:
    - type: mcp
      namespace: network-analytics
      port: 8080
      tools:
        - name: reload-network-dashboard
          description: "Trigger a Qlik Sense app reload for network adequacy dashboards."
          inputParameters:
            - name: app_id
              in: body
              type: string
              description: "Qlik Sense app ID."
          call: "qlik.reload-app"
          with:
            app_id: "{{app_id}}"
          outputParameters:
            - name: reload_id
              type: string
              mapping: "$.id"
            - name: status
              type: string
              mapping: "$.status"
  consumes:
    - type: http
      namespace: qlik
      baseUri: "https://centene.us.qlikcloud.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.qlik_api_key"
      resources:
        - name: reloads
          path: "/reloads"
          operations:
            - name: reload-app
              method: POST

Retrieves provider contract details from Salesforce by contract ID, returning provider name, effective date, and reimbursement type.

naftiko: "0.5"
info:
  label: "Salesforce Provider Contract Lookup"
  description: "Retrieves provider contract details from Salesforce by contract ID, returning provider name, effective date, and reimbursement type."
  tags:
    - healthcare
    - provider-contracts
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: provider-contracts
      port: 8080
      tools:
        - name: get-provider-contract
          description: "Look up a provider contract by contract ID."
          inputParameters:
            - name: contract_id
              in: body
              type: string
              description: "The Salesforce contract ID."
          call: "salesforce.get-contract"
          with:
            contract_id: "{{contract_id}}"
          outputParameters:
            - name: provider_name
              type: string
              mapping: "$.Name"
            - name: effective_date
              type: string
              mapping: "$.Effective_Date__c"
            - name: reimbursement_type
              type: string
              mapping: "$.Reimbursement_Type__c"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: contracts
          path: "/sobjects/Provider_Contract__c/{{contract_id}}"
          inputParameters:
            - name: contract_id
              in: path
          operations:
            - name: get-contract
              method: GET

Searches the Salesforce provider directory for in-network providers by specialty and location for member services.

naftiko: "0.5"
info:
  label: "Salesforce Provider Directory Search"
  description: "Searches the Salesforce provider directory for in-network providers by specialty and location for member services."
  tags:
    - provider-network
    - directory
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: provider-directory
      port: 8080
      tools:
        - name: search-providers
          description: "Search for in-network providers by specialty and location in Salesforce."
          inputParameters:
            - name: specialty
              in: body
              type: string
              description: "Medical specialty."
            - name: zip_code
              in: body
              type: string
              description: "ZIP code for location search."
            - name: radius_miles
              in: body
              type: integer
              description: "Search radius in miles."
            - name: plan_code
              in: body
              type: string
              description: "Health plan code."
          call: "salesforce.query"
          with:
            q: "SELECT Name, Specialty__c, Address__c, Phone__c, Accepting_New_Patients__c FROM Provider__c WHERE Specialty__c = '{{specialty}}' AND Plan_Codes__c INCLUDES ('{{plan_code}}') AND Network_Status__c = 'Active' AND DISTANCE(Location__c, GEOLOCATION({{zip_code}}), 'mi') < {{radius_miles}} ORDER BY DISTANCE(Location__c, GEOLOCATION({{zip_code}}), 'mi') LIMIT 20"
          outputParameters:
            - name: providers
              type: array
              mapping: "$.records"
            - name: total_found
              type: integer
              mapping: "$.totalSize"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v59.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: query
          path: "/query"
          operations:
            - name: query
              method: GET

Retrieves an IT incident from ServiceNow and returns current status, assignee, and resolution details.

naftiko: "0.5"
info:
  label: "ServiceNow IT Incident Tracker"
  description: "Retrieves an IT incident from ServiceNow and returns current status, assignee, and resolution details."
  tags:
    - it-support
    - incident-management
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: it-support
      port: 8080
      tools:
        - name: get-incident
          description: "Look up a ServiceNow IT incident by number."
          inputParameters:
            - name: incident_number
              in: body
              type: string
              description: "ServiceNow incident number."
          call: "servicenow.get-incident"
          with:
            number: "{{incident_number}}"
          outputParameters:
            - name: state
              type: string
              mapping: "$.result[0].state"
            - name: assigned_to
              type: string
              mapping: "$.result[0].assigned_to.display_value"
            - name: short_description
              type: string
              mapping: "$.result[0].short_description"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://centene.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: get-incident
              method: GET

Retrieves a member service case from ServiceNow by case number, returning description, status, and assigned agent.

naftiko: "0.5"
info:
  label: "ServiceNow Member Case Lookup"
  description: "Retrieves a member service case from ServiceNow by case number, returning description, status, and assigned agent."
  tags:
    - healthcare
    - member-services
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: member-cases
      port: 8080
      tools:
        - name: get-member-case
          description: "Look up a ServiceNow member case by number."
          inputParameters:
            - name: case_number
              in: body
              type: string
              description: "The ServiceNow case number."
          call: "servicenow.get-case"
          with:
            case_number: "{{case_number}}"
          outputParameters:
            - name: description
              type: string
              mapping: "$.result.short_description"
            - name: status
              type: string
              mapping: "$.result.state"
            - name: assigned_to
              type: string
              mapping: "$.result.assigned_to.display_value"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://centene.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: cases
          path: "/table/sn_customerservice_case?sysparm_query=number={{case_number}}"
          inputParameters:
            - name: case_number
              in: query
          operations:
            - name: get-case
              method: GET

Retrieves regulatory compliance document metadata from SharePoint by document ID, returning version, author, and status.

naftiko: "0.5"
info:
  label: "SharePoint Compliance Document Lookup"
  description: "Retrieves regulatory compliance document metadata from SharePoint by document ID, returning version, author, and status."
  tags:
    - compliance
    - document-management
    - sharepoint
capability:
  exposes:
    - type: mcp
      namespace: compliance-documents
      port: 8080
      tools:
        - name: get-compliance-document
          description: "Look up compliance document metadata in SharePoint."
          inputParameters:
            - name: document_id
              in: body
              type: string
              description: "SharePoint document ID."
          call: "sharepoint.get-document"
          with:
            document_id: "{{document_id}}"
          outputParameters:
            - name: file_name
              type: string
              mapping: "$.name"
            - name: version
              type: string
              mapping: "$.version"
            - name: modified_by
              type: string
              mapping: "$.lastModifiedBy.user.displayName"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites/centene.sharepoint.com"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: documents
          path: "/drive/items/{{document_id}}"
          inputParameters:
            - name: document_id
              in: path
          operations:
            - name: get-document
              method: GET

Monitors network health across Centene's state health plan offices and data centers via SolarWinds.

naftiko: "0.5"
info:
  label: "SolarWinds Network Monitoring"
  description: "Monitors network health across Centene's state health plan offices and data centers via SolarWinds."
  tags:
    - infrastructure
    - networking
    - solarwinds
capability:
  exposes:
    - type: mcp
      namespace: network-monitoring
      port: 8080
      tools:
        - name: get-network-health
          description: "Retrieve network performance data from SolarWinds."
          inputParameters:
            - name: node_name
              in: body
              type: string
              description: "SolarWinds node name."
          call: "solarwinds.get-node-stats"
          with:
            node: "{{node_name}}"
          outputParameters:
            - name: availability
              type: number
              mapping: "$.availability_pct"
            - name: avg_latency
              type: number
              mapping: "$.avg_response_time_ms"
  consumes:
    - type: http
      namespace: solarwinds
      baseUri: "https://solarwinds.centene.com/SolarWinds/InformationService/v3/Json"
      authentication:
        type: basic
        username: "$secrets.solarwinds_user"
        password: "$secrets.solarwinds_password"
      resources:
        - name: query
          path: "/Query"
          operations:
            - name: get-node-stats
              method: POST

Analyzes CMS Star Ratings data in Databricks, identifies improvement areas, and generates action plans in Confluence.

naftiko: "0.5"
info:
  label: "Star Ratings Improvement Pipeline"
  description: "Analyzes CMS Star Ratings data in Databricks, identifies improvement areas, and generates action plans in Confluence."
  tags:
    - healthcare
    - star-ratings
    - databricks
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: star-ratings
      port: 8080
      tools:
        - name: analyze-star-ratings
          description: "Analyze Star Ratings and generate improvement plans."
          inputParameters:
            - name: plan_id
              in: body
              type: string
              description: "Health plan identifier."
            - name: measurement_year
              in: body
              type: string
              description: "Measurement year."
          steps:
            - name: run-analysis
              type: call
              call: "databricks.run-job"
              with:
                job_id: "star_ratings_analysis"
                plan_id: "{{plan_id}}"
                year: "{{measurement_year}}"
            - name: publish-action-plan
              type: call
              call: "confluence.create-page"
              with:
                space: "QUALITY"
                title: "Star Ratings Action Plan — {{plan_id}} — {{measurement_year}}"
                content: "Current rating: {{run-analysis.current_rating}}. Target: {{run-analysis.target_rating}}. Top improvement areas: {{run-analysis.top_gaps}}."
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://centene.cloud.databricks.com/api/2.1"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: jobs
          path: "/jobs/run-now"
          operations:
            - name: run-job
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://centene.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: content
          path: "/content"
          operations:
            - name: create-page
              method: POST

Assembles regulatory filing documents from SharePoint, validates data in Teradata, and creates submission tracking in ServiceNow.

naftiko: "0.5"
info:
  label: "State Regulatory Filing Workflow"
  description: "Assembles regulatory filing documents from SharePoint, validates data in Teradata, and creates submission tracking in ServiceNow."
  tags:
    - compliance
    - regulatory-filing
    - sharepoint
    - teradata
    - servicenow
capability:
  exposes:
    - type: mcp
      namespace: regulatory-filing
      port: 8080
      tools:
        - name: process-regulatory-filing
          description: "Assemble documents, validate data, and track submission."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
            - name: filing_type
              in: body
              type: string
              description: "Filing type (annual, quarterly, ad-hoc)."
          steps:
            - name: get-documents
              type: call
              call: "sharepoint.list-folder"
              with:
                folder_path: "Regulatory/{{state}}/{{filing_type}}"
            - name: validate-data
              type: call
              call: "teradata.execute-query"
              with:
                query: "SELECT COUNT(*) FROM regulatory_data WHERE state='{{state}}' AND filing_type='{{filing_type}}'"
            - name: create-tracking
              type: call
              call: "servicenow.create-record"
              with:
                table: "x_centene_regulatory_filing"
                short_description: "Regulatory filing — {{state}} — {{filing_type}}"
                description: "Documents: {{get-documents.file_count}}. Data records validated: {{validate-data.record_count}}."
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites/centene.sharepoint.com"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: drive-items
          path: "/drive/root:/{{folder_path}}:/children"
          inputParameters:
            - name: folder_path
              in: path
          operations:
            - name: list-folder
              method: GET
    - type: http
      namespace: teradata
      baseUri: "https://centene-td.teradata.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.teradata_token"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://centene.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

Pulls subcontractor metrics from Salesforce, compares against SLAs, and generates performance reports in Power BI.

naftiko: "0.5"
info:
  label: "Subcontractor Performance Review Pipeline"
  description: "Pulls subcontractor metrics from Salesforce, compares against SLAs, and generates performance reports in Power BI."
  tags:
    - compliance
    - subcontractor-management
    - salesforce
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: subcontractor-review
      port: 8080
      tools:
        - name: review-subcontractor
          description: "Review subcontractor performance against SLAs."
          inputParameters:
            - name: subcontractor_id
              in: body
              type: string
              description: "Subcontractor account ID."
            - name: period
              in: body
              type: string
              description: "Review period."
          steps:
            - name: get-metrics
              type: call
              call: "salesforce.get-subcontractor-metrics"
              with:
                subcontractor_id: "{{subcontractor_id}}"
                period: "{{period}}"
            - name: refresh-report
              type: call
              call: "powerbi.refresh-dataset"
              with:
                group_id: "compliance"
                dataset_id: "subcontractor_performance"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: subcontractors
          path: "/sobjects/Subcontractor__c/{{subcontractor_id}}"
          inputParameters:
            - name: subcontractor_id
              in: path
          operations:
            - name: get-subcontractor-metrics
              method: GET
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/groups/{{group_id}}/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: group_id
              in: path
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST

Generates a trusted ticket for embedding the claims analytics Tableau dashboard in the internal portal.

naftiko: "0.5"
info:
  label: "Tableau Claims Analytics Dashboard"
  description: "Generates a trusted ticket for embedding the claims analytics Tableau dashboard in the internal portal."
  tags:
    - analytics
    - claims
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: claims-analytics
      port: 8080
      tools:
        - name: get-claims-dashboard
          description: "Generate a Tableau trusted ticket for the claims analytics dashboard."
          inputParameters:
            - name: username
              in: body
              type: string
              description: "Tableau username."
          call: "tableau.get-trusted-ticket"
          with:
            username: "{{username}}"
          outputParameters:
            - name: ticket
              type: string
              mapping: "$"
  consumes:
    - type: http
      namespace: tableau
      baseUri: "https://tableau.centene.com"
      authentication:
        type: basic
        username: "$secrets.tableau_admin_user"
        password: "$secrets.tableau_admin_password"
      resources:
        - name: trusted
          path: "/trusted"
          operations:
            - name: get-trusted-ticket
              method: POST

Creates a telehealth appointment in Salesforce, generates a Zoom meeting link, and sends appointment details to the member via WhatsApp.

naftiko: "0.5"
info:
  label: "Telehealth Visit Scheduling Workflow"
  description: "Creates a telehealth appointment in Salesforce, generates a Zoom meeting link, and sends appointment details to the member via WhatsApp."
  tags:
    - healthcare
    - telehealth
    - salesforce
    - zoom
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: telehealth-scheduling
      port: 8080
      tools:
        - name: schedule-telehealth-visit
          description: "Schedule telehealth visit with Zoom and notify member."
          inputParameters:
            - name: member_id
              in: body
              type: string
              description: "Member ID."
            - name: provider_id
              in: body
              type: string
              description: "Provider ID."
            - name: appointment_date
              in: body
              type: string
              description: "Appointment date and time."
          steps:
            - name: create-appointment
              type: call
              call: "salesforce.create-appointment"
              with:
                member_id: "{{member_id}}"
                provider_id: "{{provider_id}}"
                date: "{{appointment_date}}"
            - name: create-meeting
              type: call
              call: "zoom.create-meeting"
              with:
                topic: "Telehealth — {{member_id}}"
                start_time: "{{appointment_date}}"
            - name: notify-member
              type: call
              call: "whatsapp.send-message"
              with:
                phone_number: "{{create-appointment.member_phone}}"
                message: "Your telehealth appointment is confirmed for {{appointment_date}}. Join at: {{create-meeting.join_url}}. Provider: {{create-appointment.provider_name}}."
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://centene.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: appointments
          path: "/sobjects/Appointment__c"
          operations:
            - name: create-appointment
              method: POST
    - type: http
      namespace: zoom
      baseUri: "https://api.zoom.us/v2"
      authentication:
        type: bearer
        token: "$secrets.zoom_token"
      resources:
        - name: meetings
          path: "/users/me/meetings"
          operations:
            - name: create-meeting
              method: POST
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v17.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/{{phone_number_id}}/messages"
          operations:
            - name: send-message
              method: POST

Runs claims analytics queries against Centene's Teradata data warehouse for historical trend analysis.

naftiko: "0.5"
info:
  label: "Teradata Claims Data Warehouse Query"
  description: "Runs claims analytics queries against Centene's Teradata data warehouse for historical trend analysis."
  tags:
    - analytics
    - claims
    - teradata
capability:
  exposes:
    - type: mcp
      namespace: claims-warehouse
      port: 8080
      tools:
        - name: query-claims-warehouse
          description: "Run a claims analytics query against Teradata."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State."
            - name: claim_type
              in: body
              type: string
              description: "Claim type (medical, pharmacy, dental, behavioral)."
            - name: period
              in: body
              type: string
              description: "Reporting period."
          call: "teradata.run-query"
          with:
            query: "SELECT claim_type, COUNT(*) as claim_count, SUM(paid_amount) as total_paid, AVG(paid_amount) as avg_paid FROM claims_history WHERE state='{{state}}' AND claim_type='{{claim_type}}' AND claim_period='{{period}}' GROUP BY claim_type"
          outputParameters:
            - name: results
              type: array
              mapping: "$.results"
  consumes:
    - type: http
      namespace: teradata
      baseUri: "https://teradata.centene.com/api/query/v1"
      authentication:
        type: basic
        username: "$secrets.teradata_user"
        password: "$secrets.teradata_password"
      resources:
        - name: queries
          path: "/tdrest/systems/centene_edw/queries"
          operations:
            - name: run-query
              method: POST

Queries Teradata for member enrollment counts by state and plan type, returning total members and growth rate.

naftiko: "0.5"
info:
  label: "Teradata Enrollment Data Query"
  description: "Queries Teradata for member enrollment counts by state and plan type, returning total members and growth rate."
  tags:
    - analytics
    - enrollment
    - teradata
capability:
  exposes:
    - type: mcp
      namespace: enrollment-analytics
      port: 8080
      tools:
        - name: query-enrollment-data
          description: "Query Teradata for enrollment metrics."
          inputParameters:
            - name: state
              in: body
              type: string
              description: "State code."
            - name: plan_type
              in: body
              type: string
              description: "Plan type (Medicaid, Medicare, Marketplace)."
          call: "teradata.execute-query"
          with:
            state: "{{state}}"
            plan_type: "{{plan_type}}"
          outputParameters:
            - name: total_members
              type: number
              mapping: "$.data[0][0]"
            - name: growth_rate
              type: number
              mapping: "$.data[0][1]"
  consumes:
    - type: http
      namespace: teradata
      baseUri: "https://centene-td.teradata.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.teradata_token"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST

Calculates VBC quality metrics from Teradata, compares against contractual targets, and generates provider scorecards in Power BI.

naftiko: "0.5"
info:
  label: "Value Based Care Performance Pipeline"
  description: "Calculates VBC quality metrics from Teradata, compares against contractual targets, and generates provider scorecards in Power BI."
  tags:
    - healthcare
    - value-based-care
    - teradata
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: vbc-performance
      port: 8080
      tools:
        - name: calculate-vbc-performance
          description: "Calculate VBC metrics and generate provider scorecards."
          inputParameters:
            - name: provider_id
              in: body
              type: string
              description: "Provider ID."
            - name: period
              in: body
              type: string
              description: "Measurement period."
          steps:
            - name: get-metrics
              type: call
              call: "teradata.execute-query"
              with:
                query: "SELECT quality_score, cost_efficiency, patient_experience FROM vbc_metrics WHERE provider_id='{{provider_id}}' AND period='{{period}}'"
            - name: refresh-scorecards
              type: call
              call: "powerbi.refresh-dataset"
              with:
                group_id: "vbc_analytics"
                dataset_id: "provider_scorecards"
  consumes:
    - type: http
      namespace: teradata
      baseUri: "https://centene-td.teradata.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.teradata_token"
      resources:
        - name: queries
          path: "/queries"
          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: "/groups/{{group_id}}/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: group_id
              in: path
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST

Monitors the health of Centene's WebSphere application servers running the claims adjudication engine.

naftiko: "0.5"
info:
  label: "WebSphere Claims Engine Health Check"
  description: "Monitors the health of Centene's WebSphere application servers running the claims adjudication engine."
  tags:
    - infrastructure
    - middleware
    - websphere
capability:
  exposes:
    - type: mcp
      namespace: claims-engine-health
      port: 8080
      tools:
        - name: check-claims-engine
          description: "Query WebSphere for claims adjudication engine health."
          inputParameters:
            - name: server_name
              in: body
              type: string
              description: "WebSphere server name."
          call: "websphere.get-server-status"
          with:
            server: "{{server_name}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.state"
            - name: heap_usage_pct
              type: number
              mapping: "$.jvm.heap_usage_pct"
  consumes:
    - type: http
      namespace: websphere
      baseUri: "https://websphere-admin.centene.com/IBMJMXConnectorREST"
      authentication:
        type: basic
        username: "$secrets.websphere_admin_user"
        password: "$secrets.websphere_admin_password"
      resources:
        - name: servers
          path: "/mbeans/WebSphere:type=Server,name={{server}}"
          inputParameters:
            - name: server
              in: path
          operations:
            - name: get-server-status
              method: GET

Sends appointment reminders to members via WhatsApp Business API for upcoming healthcare visits.

naftiko: "0.5"
info:
  label: "WhatsApp Member Appointment Reminder"
  description: "Sends appointment reminders to members via WhatsApp Business API for upcoming healthcare visits."
  tags:
    - member-engagement
    - notifications
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: member-reminders
      port: 8080
      tools:
        - name: send-appointment-reminder
          description: "Send a WhatsApp appointment reminder to a member."
          inputParameters:
            - name: phone_number
              in: body
              type: string
              description: "Member phone in E.164 format."
            - name: appointment_date
              in: body
              type: string
              description: "Appointment date."
            - name: provider_name
              in: body
              type: string
              description: "Provider name."
            - name: appointment_type
              in: body
              type: string
              description: "Appointment type."
          call: "whatsapp.send-message"
          with:
            to: "{{phone_number}}"
            template: "appointment_reminder"
            parameters: "[\"{{appointment_date}}\", \"{{provider_name}}\", \"{{appointment_type}}\"]"
          outputParameters:
            - name: message_id
              type: string
              mapping: "$.messages[0].id"
  consumes:
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v18.0/{{phone_number_id}}"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: send-message
              method: POST

Retrieves employee benefits enrollment details from Workday by employee ID, returning plan name, coverage level, and effective date.

naftiko: "0.5"
info:
  label: "Workday Employee Benefits Lookup"
  description: "Retrieves employee benefits enrollment details from Workday by employee ID, returning plan name, coverage level, and effective date."
  tags:
    - human-resources
    - benefits
    - workday
capability:
  exposes:
    - type: mcp
      namespace: employee-benefits
      port: 8080
      tools:
        - name: get-benefits
          description: "Look up employee benefits enrollment in Workday."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The Workday employee ID."
          call: "workday.get-benefits"
          with:
            employee_id: "{{employee_id}}"
          outputParameters:
            - name: plan_name
              type: string
              mapping: "$.Benefits.PlanName"
            - name: coverage_level
              type: string
              mapping: "$.Benefits.CoverageLevel"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://centene.workday.com/api/benefits/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: enrollments
          path: "/workers/{{employee_id}}/benefits"
          inputParameters:
            - name: employee_id
              in: path
          operations:
            - name: get-benefits
              method: GET

Searches the Workday directory for employees by name, department, or role.

naftiko: "0.5"
info:
  label: "Workday Employee Directory Lookup"
  description: "Searches the Workday directory for employees by name, department, or role."
  tags:
    - hr
    - directory
    - workday
capability:
  exposes:
    - type: mcp
      namespace: hr-directory
      port: 8080
      tools:
        - name: search-employees
          description: "Search for employees in Workday by name or department."
          inputParameters:
            - name: search_term
              in: body
              type: string
              description: "Search term."
          call: "workday.search-workers"
          with:
            search: "{{search_term}}"
          outputParameters:
            - name: employees
              type: array
              mapping: "$.workers"
            - name: total_count
              type: integer
              mapping: "$.total"
  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"
          operations:
            - name: search-workers
              method: GET

On new hire creation in Workday, provisions accounts, creates a ServiceNow IT ticket, and sends a Teams welcome message.

naftiko: "0.5"
info:
  label: "Workday Employee Onboarding Pipeline"
  description: "On new hire creation in Workday, provisions accounts, creates a ServiceNow IT ticket, and sends a Teams welcome message."
  tags:
    - hr
    - onboarding
    - workday
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: hr-onboarding
      port: 8080
      tools:
        - name: trigger-onboarding
          description: "Orchestrate full employee onboarding across Workday, ServiceNow, and Teams."
          inputParameters:
            - name: workday_employee_id
              in: body
              type: string
              description: "Workday worker ID."
            - name: start_date
              in: body
              type: string
              description: "Start date in YYYY-MM-DD."
            - 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: create-it-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "IT onboarding: {{get-employee.full_name}}"
                category: "onboarding"
                assigned_group: "IT_Provisioning"
                description: "New hire {{get-employee.full_name}} starting {{start_date}} in {{department}}. Provision standard healthcare analyst workstation and system access."
            - name: send-welcome
              type: call
              call: "msteams.send-message"
              with:
                channel_id: "{{department}}_team"
                text: "Welcome to Centene, {{get-employee.first_name}}! Your IT setup ticket is {{create-it-ticket.number}}. Contact your manager for orientation details."
  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://centene.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{channel_id}}/channels/general/messages"
          inputParameters:
            - name: channel_id
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves payroll summary data from Workday for HR and finance teams across state health plans.

naftiko: "0.5"
info:
  label: "Workday Payroll Summary Reporter"
  description: "Retrieves payroll summary data from Workday for HR and finance teams across state health plans."
  tags:
    - hr
    - payroll
    - workday
capability:
  exposes:
    - type: mcp
      namespace: payroll
      port: 8080
      tools:
        - name: get-payroll-summary
          description: "Fetch payroll summary from Workday."
          inputParameters:
            - name: pay_period
              in: body
              type: string
              description: "Pay period."
            - name: department
              in: body
              type: string
              description: "Department."
          call: "workday.get-payroll"
          with:
            period: "{{pay_period}}"
            department: "{{department}}"
          outputParameters:
            - name: total_gross
              type: number
              mapping: "$.summary.total_gross_pay"
            - name: headcount
              type: integer
              mapping: "$.summary.employee_count"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: payroll
          path: "/payroll/summaries"
          operations:
            - name: get-payroll
              method: GET

Creates Zoom meetings for provider network adequacy reviews and credentialing committee sessions.

naftiko: "0.5"
info:
  label: "Zoom Provider Network Meeting Scheduler"
  description: "Creates Zoom meetings for provider network adequacy reviews and credentialing committee sessions."
  tags:
    - meetings
    - provider-network
    - zoom
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: provider-meetings
      port: 8080
      tools:
        - name: schedule-provider-review
          description: "Create a Zoom meeting for provider review and send Outlook invites."
          inputParameters:
            - name: topic
              in: body
              type: string
              description: "Meeting topic."
            - name: date_time
              in: body
              type: string
              description: "Date/time."
            - name: attendees
              in: body
              type: string
              description: "Attendee emails."
          steps:
            - name: create-meeting
              type: call
              call: "zoom.create-meeting"
              with:
                topic: "{{topic}}"
                start_time: "{{date_time}}"
                duration: 60
            - name: send-invite
              type: call
              call: "outlook.create-event"
              with:
                subject: "{{topic}}"
                start_time: "{{date_time}}"
                body: "Join Zoom: {{create-meeting.join_url}}"
                attendees: "{{attendees}}"
  consumes:
    - type: http
      namespace: zoom
      baseUri: "https://api.zoom.us/v2"
      authentication:
        type: bearer
        token: "$secrets.zoom_token"
      resources:
        - name: meetings
          path: "/users/me/meetings"
          operations:
            - name: create-meeting
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: events
          path: "/me/events"
          operations:
            - name: create-event
              method: POST

Creates a HIPAA-compliant Zoom meeting for a telehealth session and sends the invite to the member and provider.

naftiko: "0.5"
info:
  label: "Zoom Telehealth Session Scheduler"
  description: "Creates a HIPAA-compliant Zoom meeting for a telehealth session and sends the invite to the member and provider."
  tags:
    - telehealth
    - scheduling
    - zoom
    - microsoft-outlook
capability:
  exposes:
    - type: mcp
      namespace: telehealth
      port: 8080
      tools:
        - name: schedule-telehealth
          description: "Create a HIPAA-compliant Zoom telehealth session and send calendar invites."
          inputParameters:
            - name: member_email
              in: body
              type: string
              description: "Member email address."
            - name: provider_email
              in: body
              type: string
              description: "Provider email address."
            - name: date_time
              in: body
              type: string
              description: "Session date/time in ISO 8601."
            - name: visit_type
              in: body
              type: string
              description: "Visit type (primary_care, behavioral_health, specialist)."
          steps:
            - name: create-meeting
              type: call
              call: "zoom.create-meeting"
              with:
                topic: "Telehealth: {{visit_type}}"
                start_time: "{{date_time}}"
                duration: 30
                type: 2
                settings_encryption_type: "enhanced_encryption"
                settings_waiting_room: true
            - name: send-invite
              type: call
              call: "outlook.create-event"
              with:
                subject: "Telehealth Visit: {{visit_type}}"
                start_time: "{{date_time}}"
                body: "Your telehealth session link: {{create-meeting.join_url}}. Please join 5 minutes early."
                attendees: "{{member_email}},{{provider_email}}"
  consumes:
    - type: http
      namespace: zoom
      baseUri: "https://api.zoom.us/v2"
      authentication:
        type: bearer
        token: "$secrets.zoom_hipaa_token"
      resources:
        - name: meetings
          path: "/users/me/meetings"
          operations:
            - name: create-meeting
              method: POST
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: events
          path: "/me/events"
          operations:
            - name: create-event
              method: POST