Centene Corporation Capabilities
Naftiko 0.5 capability definitions for Centene Corporation - 100 capabilities showing integration workflows and service orchestrations.
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