NextEra Energy Capabilities
Naftiko 0.5 capability definitions for NextEra Energy - 100 capabilities showing integration workflows and service orchestrations.
Triggers an Alteryx analytics workflow and returns the execution status.
naftiko: "0.5"
info:
label: "Alteryx Workflow Execution"
description: "Triggers an Alteryx analytics workflow and returns the execution status."
tags:
- analytics
- alteryx
- data-processing
capability:
exposes:
- type: mcp
namespace: analytics-workflows
port: 8080
tools:
- name: run-alteryx-workflow
description: "Trigger an Alteryx workflow by ID."
inputParameters:
- name: workflow_id
in: body
type: string
description: "The Alteryx workflow identifier."
call: "alteryx.run-workflow"
with:
workflow_id: "{{workflow_id}}"
outputParameters:
- name: job_id
type: string
mapping: "$.id"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: alteryx
baseUri: "https://nextera.alteryxcloud.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
Executes a graph query against Amazon Neptune for asset relationship mapping in the NextEra grid topology.
naftiko: "0.5"
info:
label: "Amazon Neptune Graph Query"
description: "Executes a graph query against Amazon Neptune for asset relationship mapping in the NextEra grid topology."
tags:
- data-engineering
- amazon-neptune
- graph-database
capability:
exposes:
- type: mcp
namespace: graph-analytics
port: 8080
tools:
- name: query-asset-graph
description: "Run a Gremlin query on the asset graph in Amazon Neptune."
inputParameters:
- name: gremlin_query
in: body
type: string
description: "The Gremlin traversal query."
call: "neptune.execute-gremlin"
with:
query: "{{gremlin_query}}"
outputParameters:
- name: results
type: array
mapping: "$.result.data"
consumes:
- type: http
namespace: neptune
baseUri: "https://nextera-neptune.us-east-1.neptune.amazonaws.com:8182"
authentication:
type: aws
accessKeyId: "$secrets.aws_access_key"
secretAccessKey: "$secrets.aws_secret_key"
resources:
- name: gremlin
path: "/gremlin"
operations:
- name: execute-gremlin
method: POST
Invokes an AWS Lambda function and returns the execution result.
naftiko: "0.5"
info:
label: "AWS Lambda Function Invocation"
description: "Invokes an AWS Lambda function and returns the execution result."
tags:
- cloud
- aws-lambda
- serverless
capability:
exposes:
- type: mcp
namespace: serverless
port: 8080
tools:
- name: invoke-lambda
description: "Invoke an AWS Lambda function by name."
inputParameters:
- name: function_name
in: body
type: string
description: "The Lambda function name."
- name: payload
in: body
type: string
description: "JSON payload."
call: "lambda.invoke-function"
with:
function_name: "{{function_name}}"
payload: "{{payload}}"
outputParameters:
- name: status_code
type: string
mapping: "$.StatusCode"
- name: result
type: string
mapping: "$.Payload"
consumes:
- type: http
namespace: lambda
baseUri: "https://lambda.us-east-1.amazonaws.com/2015-03-31"
authentication:
type: aws
accessKeyId: "$secrets.aws_access_key"
secretAccessKey: "$secrets.aws_secret_key"
resources:
- name: functions
path: "/functions/{{function_name}}/invocations"
inputParameters:
- name: function_name
in: path
operations:
- name: invoke-function
method: POST
Checks the status of an Azure Data Factory pipeline run, returning run status, start time, and duration.
naftiko: "0.5"
info:
label: "Azure Data Factory Pipeline Status"
description: "Checks the status of an Azure Data Factory pipeline run, returning run status, start time, and duration."
tags:
- data-engineering
- azure-data-factory
capability:
exposes:
- type: mcp
namespace: data-engineering
port: 8080
tools:
- name: get-adf-pipeline-status
description: "Check Azure Data Factory pipeline run status by run ID."
inputParameters:
- name: run_id
in: body
type: string
description: "The pipeline run identifier."
call: "adf.get-pipeline-run"
with:
run_id: "{{run_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: run_start
type: string
mapping: "$.runStart"
- name: duration_ms
type: string
mapping: "$.durationInMs"
consumes:
- type: http
namespace: adf
baseUri: "https://management.azure.com/subscriptions"
authentication:
type: bearer
token: "$secrets.azure_management_token"
resources:
- name: pipeline-runs
path: "/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.DataFactory/factories/{{factory_name}}/pipelineruns/{{run_id}}"
inputParameters:
- name: subscription_id
in: path
- name: resource_group
in: path
- name: factory_name
in: path
- name: run_id
in: path
operations:
- name: get-pipeline-run
method: GET
Retrieves battery energy storage system (BESS) metrics from the monitoring platform, returning state of charge, discharge rate, temperature, and cycle count.
naftiko: "0.5"
info:
label: "Battery Storage System Monitor"
description: "Retrieves battery energy storage system (BESS) metrics from the monitoring platform, returning state of charge, discharge rate, temperature, and cycle count."
tags:
- renewable
- battery-storage
- elasticsearch
capability:
exposes:
- type: mcp
namespace: battery-storage
port: 8080
tools:
- name: get-bess-metrics
description: "Look up battery storage system metrics by BESS unit ID."
inputParameters:
- name: bess_id
in: body
type: string
description: "The battery energy storage system identifier."
call: "elasticsearch.get-bess-data"
with:
bess_id: "{{bess_id}}"
outputParameters:
- name: state_of_charge_pct
type: string
mapping: "$.hits.hits[0]._source.soc_pct"
- name: discharge_rate_mw
type: string
mapping: "$.hits.hits[0]._source.discharge_rate_mw"
- name: temperature_c
type: string
mapping: "$.hits.hits[0]._source.temperature_c"
- name: cycle_count
type: string
mapping: "$.hits.hits[0]._source.cycle_count"
consumes:
- type: http
namespace: elasticsearch
baseUri: "https://nextera-scada.es.amazonaws.com"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: bess-metrics
path: "/bess-metrics/_search"
operations:
- name: get-bess-data
method: POST
When a customer files a billing dispute, creates a Salesforce case, pulls usage data from Teradata, compares against billed amounts in SAP, and notifies the resolution team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Billing Dispute Resolution Orchestrator"
description: "When a customer files a billing dispute, creates a Salesforce case, pulls usage data from Teradata, compares against billed amounts in SAP, and notifies the resolution team via Microsoft Teams."
tags:
- billing
- dispute-resolution
- salesforce
- teradata
- sap
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: billing-disputes
port: 8080
tools:
- name: process-billing-dispute
description: "Given an account number, disputed amount, and billing period, create a case, pull usage data, compare, and notify."
inputParameters:
- name: account_number
in: body
type: string
description: "The customer account number."
- name: disputed_amount
in: body
type: string
description: "The disputed billing amount."
- name: billing_period
in: body
type: string
description: "The billing period in YYYY-MM format."
steps:
- name: create-case
type: call
call: "salesforce.create-dispute-case"
with:
account_number: "{{account_number}}"
amount: "{{disputed_amount}}"
period: "{{billing_period}}"
- name: get-usage
type: call
call: "teradata.query-usage"
with:
account: "{{account_number}}"
period: "{{billing_period}}"
- name: get-billed
type: call
call: "sap.get-billing-record"
with:
account: "{{account_number}}"
period: "{{billing_period}}"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "billing-disputes"
text: "Billing Dispute: Account {{account_number}}, Period {{billing_period}}. Disputed: ${{disputed_amount}}. Actual usage: {{get-usage.total_kwh}} kWh. Billed: ${{get-billed.billed_amount}}. Case: {{create-case.case_number}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://nextera.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: cases
path: "/sobjects/Case"
operations:
- name: create-dispute-case
method: POST
- type: http
namespace: teradata
baseUri: "https://nextera-analytics.teradata.com/api/v1"
authentication:
type: bearer
token: "$secrets.teradata_token"
resources:
- name: usage
path: "/query"
operations:
- name: query-usage
method: POST
- type: http
namespace: sap
baseUri: "https://nextera-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: billing
path: "/BILLING_SRV/BillingRecords"
operations:
- name: get-billing-record
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/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Checks the status of a Boomi integration process execution, returning process status, start time, and document count.
naftiko: "0.5"
info:
label: "Boomi Integration Process Status"
description: "Checks the status of a Boomi integration process execution, returning process status, start time, and document count."
tags:
- integration
- boomi
- middleware
capability:
exposes:
- type: mcp
namespace: integration
port: 8080
tools:
- name: get-boomi-status
description: "Check Boomi process execution status."
inputParameters:
- name: execution_id
in: body
type: string
description: "The Boomi execution identifier."
call: "boomi.get-execution"
with:
execution_id: "{{execution_id}}"
outputParameters:
- name: status
type: string
mapping: "$.result[0].status"
- name: start_time
type: string
mapping: "$.result[0].executionTime"
consumes:
- type: http
namespace: boomi
baseUri: "https://api.boomi.com/api/rest/v1/nextera"
authentication:
type: basic
username: "$secrets.boomi_user"
password: "$secrets.boomi_password"
resources:
- name: executions
path: "/ExecutionRecord/{{execution_id}}"
inputParameters:
- name: execution_id
in: path
operations:
- name: get-execution
method: GET
Retrieves a document from Box by file ID.
naftiko: "0.5"
info:
label: "Box Document Retrieval"
description: "Retrieves a document from Box by file ID."
tags:
- document-management
- box
capability:
exposes:
- type: mcp
namespace: documents
port: 8080
tools:
- name: get-box-document
description: "Retrieve a Box document by file ID."
inputParameters:
- name: file_id
in: body
type: string
description: "The Box file identifier."
call: "box.get-file"
with:
file_id: "{{file_id}}"
outputParameters:
- name: file_name
type: string
mapping: "$.name"
- name: size
type: string
mapping: "$.size"
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
method: GET
Creates a Cisco Webex meeting for cross-team collaboration and sends the join link via Microsoft Teams.
naftiko: "0.5"
info:
label: "Cisco Webex Meeting Scheduler"
description: "Creates a Cisco Webex meeting for cross-team collaboration and sends the join link via Microsoft Teams."
tags:
- collaboration
- cisco-webex
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: collaboration
port: 8080
tools:
- name: schedule-webex-meeting
description: "Create a Webex meeting and notify via Teams."
inputParameters:
- name: title
in: body
type: string
description: "The meeting title."
- name: start_time
in: body
type: string
description: "Start time in ISO 8601."
- name: duration
in: body
type: string
description: "Duration in minutes."
steps:
- name: create-meeting
type: call
call: "webex.create-meeting"
with:
title: "{{title}}"
start: "{{start_time}}"
duration: "{{duration}}"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "general"
text: "Webex meeting: {{title}} at {{start_time}}. Join: {{create-meeting.webLink}}"
consumes:
- type: http
namespace: webex
baseUri: "https://webexapis.com/v1"
authentication:
type: bearer
token: "$secrets.webex_token"
resources:
- name: meetings
path: "/meetings"
operations:
- name: create-meeting
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/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Queries Cloudflare analytics for NextEra Energy web properties, returning bandwidth, cache hit ratio, and threat counts.
naftiko: "0.5"
info:
label: "Cloudflare CDN Performance Check"
description: "Queries Cloudflare analytics for NextEra Energy web properties, returning bandwidth, cache hit ratio, and threat counts."
tags:
- infrastructure
- cloudflare
- cdn
capability:
exposes:
- type: mcp
namespace: cdn
port: 8080
tools:
- name: get-cdn-performance
description: "Retrieve Cloudflare CDN performance metrics for a given zone."
inputParameters:
- name: zone_id
in: body
type: string
description: "The Cloudflare zone identifier."
call: "cloudflare.get-zone-analytics"
with:
zone_id: "{{zone_id}}"
outputParameters:
- name: bandwidth
type: string
mapping: "$.result.totals.bandwidth.all"
- name: cache_hit_ratio
type: string
mapping: "$.result.totals.bandwidth.cached"
- name: threats
type: string
mapping: "$.result.totals.threats.all"
consumes:
- type: http
namespace: cloudflare
baseUri: "https://api.cloudflare.com/client/v4"
authentication:
type: bearer
token: "$secrets.cloudflare_token"
resources:
- name: zone-analytics
path: "/zones/{{zone_id}}/analytics/dashboard"
inputParameters:
- name: zone_id
in: path
operations:
- name: get-zone-analytics
method: GET
Checks the status of AWS CloudWatch alarms for NextEra Energy cloud infrastructure.
naftiko: "0.5"
info:
label: "CloudWatch Alarm Status Check"
description: "Checks the status of AWS CloudWatch alarms for NextEra Energy cloud infrastructure."
tags:
- monitoring
- cloudwatch
- cloud
capability:
exposes:
- type: mcp
namespace: cloud-monitoring
port: 8080
tools:
- name: get-alarm-status
description: "Check CloudWatch alarm status by alarm name."
inputParameters:
- name: alarm_name
in: body
type: string
description: "The CloudWatch alarm name."
call: "cloudwatch.describe-alarm"
with:
alarm_name: "{{alarm_name}}"
outputParameters:
- name: state
type: string
mapping: "$.MetricAlarms[0].StateValue"
- name: reason
type: string
mapping: "$.MetricAlarms[0].StateReason"
consumes:
- type: http
namespace: cloudwatch
baseUri: "https://monitoring.us-east-1.amazonaws.com"
authentication:
type: aws
accessKeyId: "$secrets.aws_access_key"
secretAccessKey: "$secrets.aws_secret_key"
resources:
- name: alarms
path: "/?Action=DescribeAlarms&AlarmNames.member.1={{alarm_name}}"
inputParameters:
- name: alarm_name
in: query
operations:
- name: describe-alarm
method: GET
Searches the NextEra Energy Confluence knowledge base by keyword.
naftiko: "0.5"
info:
label: "Confluence Knowledge Base Search"
description: "Searches the NextEra Energy Confluence knowledge base by keyword."
tags:
- knowledge-management
- confluence
capability:
exposes:
- type: mcp
namespace: knowledge
port: 8080
tools:
- name: search-knowledge-base
description: "Search Confluence knowledge base by keyword."
inputParameters:
- name: query
in: body
type: string
description: "The search query."
call: "confluence.search"
with:
query: "{{query}}"
outputParameters:
- name: results
type: array
mapping: "$.results"
- name: total_count
type: string
mapping: "$.totalSize"
consumes:
- type: http
namespace: confluence
baseUri: "https://nextera.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: search
path: "/search?cql=text~'{{query}}'"
inputParameters:
- name: query
in: query
operations:
- name: search
method: GET
Retrieves a customer billing record from Salesforce Service Cloud by account number, returning current balance, last payment date, and billing cycle.
naftiko: "0.5"
info:
label: "Customer Billing Inquiry Lookup"
description: "Retrieves a customer billing record from Salesforce Service Cloud by account number, returning current balance, last payment date, and billing cycle."
tags:
- billing
- customer-service
- salesforce-service-cloud
capability:
exposes:
- type: mcp
namespace: billing
port: 8080
tools:
- name: get-billing-status
description: "Look up a customer billing record by account number."
inputParameters:
- name: account_number
in: body
type: string
description: "The customer account number."
call: "salesforce.get-billing"
with:
account_number: "{{account_number}}"
outputParameters:
- name: current_balance
type: string
mapping: "$.Current_Balance__c"
- name: last_payment_date
type: string
mapping: "$.Last_Payment_Date__c"
- name: billing_cycle
type: string
mapping: "$.Billing_Cycle__c"
- name: account_status
type: string
mapping: "$.Account_Status__c"
consumes:
- type: http
namespace: salesforce
baseUri: "https://nextera.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: billing-accounts
path: "/sobjects/Billing_Account__c/{{account_number}}"
inputParameters:
- name: account_number
in: path
operations:
- name: get-billing
method: GET
When a grid outage is detected, identifies affected customers in Salesforce, sends SMS notifications via WhatsApp, creates a ServiceNow incident, and posts a status update to Microsoft Teams.
naftiko: "0.5"
info:
label: "Customer Outage Notification Pipeline"
description: "When a grid outage is detected, identifies affected customers in Salesforce, sends SMS notifications via WhatsApp, creates a ServiceNow incident, and posts a status update to Microsoft Teams."
tags:
- grid-ops
- outage
- salesforce
- whatsapp
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: outage-management
port: 8080
tools:
- name: notify-outage
description: "Given a grid segment ID and estimated restoration time, identify affected customers, send notifications, and create an incident."
inputParameters:
- name: segment_id
in: body
type: string
description: "The affected grid segment identifier."
- name: estimated_restoration
in: body
type: string
description: "Estimated restoration time in ISO 8601 format."
- name: cause
in: body
type: string
description: "Cause of the outage (weather, equipment, planned)."
steps:
- name: get-affected-customers
type: call
call: "salesforce.query-segment-customers"
with:
segment_id: "{{segment_id}}"
- name: send-notifications
type: call
call: "whatsapp.send-bulk-message"
with:
recipients: "{{get-affected-customers.phone_numbers}}"
message: "NextEra Energy: Power outage in your area. Cause: {{cause}}. Estimated restoration: {{estimated_restoration}}. We apologize for the inconvenience."
- name: create-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Grid Outage: Segment {{segment_id}}"
category: "outage_management"
urgency: "1"
description: "Outage on segment {{segment_id}}. Cause: {{cause}}. Affected customers: {{get-affected-customers.count}}. ERT: {{estimated_restoration}}"
- name: post-status
type: call
call: "msteams.send-message"
with:
channel_id: "grid-ops-status"
text: "OUTAGE ALERT: Segment {{segment_id}}. Cause: {{cause}}. Affected: {{get-affected-customers.count}} customers. ERT: {{estimated_restoration}}. Incident: {{create-incident.number}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://nextera.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: customers
path: "/query/?q=SELECT+Id,Phone__c,Name+FROM+Customer_Account__c+WHERE+Grid_Segment__c='{{segment_id}}'"
inputParameters:
- name: segment_id
in: query
operations:
- name: query-segment-customers
method: GET
- type: http
namespace: whatsapp
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.whatsapp_token"
resources:
- name: messages
path: "/{{phone_number_id}}/messages"
inputParameters:
- name: phone_number_id
in: path
operations:
- name: send-bulk-message
method: POST
- type: http
namespace: servicenow
baseUri: "https://nextera.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/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Queries Datadog for the current health status of NextEra Energy infrastructure, returning host count, alert counts, and critical monitors.
naftiko: "0.5"
info:
label: "Datadog Infrastructure Health Check"
description: "Queries Datadog for the current health status of NextEra Energy infrastructure, returning host count, alert counts, and critical monitors."
tags:
- infrastructure
- monitoring
- datadog
capability:
exposes:
- type: mcp
namespace: infra-monitoring
port: 8080
tools:
- name: get-infra-health
description: "Retrieve Datadog infrastructure health summary."
inputParameters:
- name: environment
in: body
type: string
description: "The environment to check (production, staging)."
call: "datadog.get-monitors"
with:
environment: "{{environment}}"
outputParameters:
- name: total_hosts
type: string
mapping: "$.total_hosts"
- name: active_alerts
type: string
mapping: "$.alert_count"
- name: critical_monitors
type: array
mapping: "$.critical_monitors"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: monitors
path: "/monitor"
operations:
- name: get-monitors
method: GET
Generates energy demand forecasts by pulling historical load data from Teradata, weather predictions from the weather API, running the forecast model in Azure Machine Learning, and publishing results to SharePoint for grid planning.
naftiko: "0.5"
info:
label: "Demand Forecasting Pipeline"
description: "Generates energy demand forecasts by pulling historical load data from Teradata, weather predictions from the weather API, running the forecast model in Azure Machine Learning, and publishing results to SharePoint for grid planning."
tags:
- grid-ops
- forecasting
- teradata
- azure-machine-learning
- sharepoint
capability:
exposes:
- type: mcp
namespace: demand-forecasting
port: 8080
tools:
- name: generate-demand-forecast
description: "Given a region and forecast date range, pull load data, weather data, run the model, and publish the forecast."
inputParameters:
- name: region
in: body
type: string
description: "The service region (e.g., South Florida, Central Florida)."
- name: start_date
in: body
type: string
description: "Forecast start date in YYYY-MM-DD."
- name: end_date
in: body
type: string
description: "Forecast end date in YYYY-MM-DD."
steps:
- name: fetch-load-data
type: call
call: "teradata.query-historical-load"
with:
region: "{{region}}"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
- name: run-forecast
type: call
call: "azureml.predict-demand"
with:
historical_data: "{{fetch-load-data.results}}"
region: "{{region}}"
horizon_start: "{{start_date}}"
horizon_end: "{{end_date}}"
- name: publish-forecast
type: call
call: "sharepoint.upload-file"
with:
site_id: "grid_planning_site"
folder_path: "DemandForecasts/{{region}}"
file_name: "forecast_{{start_date}}_{{end_date}}.json"
content: "{{run-forecast.forecast_data}}"
consumes:
- type: http
namespace: teradata
baseUri: "https://nextera-analytics.teradata.com/api/v1"
authentication:
type: bearer
token: "$secrets.teradata_token"
resources:
- name: queries
path: "/query"
operations:
- name: query-historical-load
method: POST
- type: http
namespace: azureml
baseUri: "https://nextera-ml.eastus.inference.ml.azure.com"
authentication:
type: bearer
token: "$secrets.azureml_token"
resources:
- name: scoring
path: "/score"
operations:
- name: predict-demand
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
Queries Dynatrace for application health metrics for NextEra Energy digital services.
naftiko: "0.5"
info:
label: "Dynatrace Application Health Check"
description: "Queries Dynatrace for application health metrics for NextEra Energy digital services."
tags:
- monitoring
- dynatrace
- application-health
capability:
exposes:
- type: mcp
namespace: app-health
port: 8080
tools:
- name: get-dynatrace-health
description: "Retrieve Dynatrace application health metrics by entity ID."
inputParameters:
- name: entity_id
in: body
type: string
description: "The Dynatrace application entity ID."
call: "dynatrace.get-app-health"
with:
entity_id: "{{entity_id}}"
outputParameters:
- name: availability
type: string
mapping: "$.result[0].data[0].values[0]"
- name: response_time
type: string
mapping: "$.result[1].data[0].values[0]"
- name: failure_rate
type: string
mapping: "$.result[2].data[0].values[0]"
consumes:
- type: http
namespace: dynatrace
baseUri: "https://nextera.live.dynatrace.com/api/v2"
authentication:
type: bearer
token: "$secrets.dynatrace_token"
resources:
- name: metrics
path: "/metrics/query"
operations:
- name: get-app-health
method: POST
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Given a Workday employee ID and start date, orchestrate onboarding across ServiceNow, SharePoint, and Microsoft Teams."
inputParameters:
- name: workday_employee_id
in: body
type: string
description: "The Workday worker ID."
- name: start_date
in: body
type: string
description: "Employee start date in YYYY-MM-DD format."
- name: department
in: body
type: string
description: "The department the new hire is joining."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{workday_employee_id}}"
- name: open-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "New hire onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
assigned_group: "IT_Onboarding"
- name: provision-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "hr_onboarding_site"
folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
- name: send-welcome
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{get-employee.work_email}}"
text: "Welcome to NextEra Energy, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://nextera.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
operations:
- name: create-folder
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 1"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-1
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-1"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://nexteraenergy.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 10"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-10
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-10"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-10
method: POST
- type: http
namespace: sharepoint
baseUri: "https://nexteraenergy.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 11"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-11
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-11"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 11 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-11
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 12"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-12
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-12"
with:
identifier: "{{identifier}}"
- name: push
type: call
call: "datadog.submit-metrics"
with:
metric_name: "energy.workflow_12"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-12
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_token"
resources:
- name: metrics
path: "/metrics"
operations:
- name: submit-metrics
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 13"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-13
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-13"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-13
method: POST
- type: http
namespace: salesforce
baseUri: "https://nexteraenergy.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 14"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-14
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-14"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-14
method: POST
- type: http
namespace: servicenow
baseUri: "https://nexteraenergy.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 15"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- slack
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-15
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-15"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#energy"
text: "Completed workflow 15: {{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-15
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 16"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-16
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-16"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "ENERGY"
title: "Report 16"
content: "{{process.report}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-16
method: POST
- type: http
namespace: confluence
baseUri: "https://nexteraenergy.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 17"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-17
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-17"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_17"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-17
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 18"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- jira
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-18
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-18"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "ENER"
summary: "Task from workflow 18"
description: "{{process.details}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-18
method: POST
- type: http
namespace: jira
baseUri: "https://nexteraenergy.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 19"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- teams
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-19
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-19"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "energy"
message: "Workflow 19 complete: {{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-19
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 2"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-2
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-2"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://nexteraenergy.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 20"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-20
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-20"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_20"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-20
method: POST
- type: http
namespace: tableau
baseUri: "https://nexteraenergy-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 21"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- box
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-21
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-21"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-21
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 22"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-22
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-22"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-22
method: POST
- type: http
namespace: sharepoint
baseUri: "https://nexteraenergy.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 23"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-23
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-23"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 23 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-23
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 24"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-24
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-24"
with:
identifier: "{{identifier}}"
- name: push
type: call
call: "datadog.submit-metrics"
with:
metric_name: "energy.workflow_24"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-24
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_token"
resources:
- name: metrics
path: "/metrics"
operations:
- name: submit-metrics
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 25"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-25
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-25"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-25
method: POST
- type: http
namespace: salesforce
baseUri: "https://nexteraenergy.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 26"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-26
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-26"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-26
method: POST
- type: http
namespace: servicenow
baseUri: "https://nexteraenergy.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 27"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- slack
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-27
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-27"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#energy"
text: "Completed workflow 27: {{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-27
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 28"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-28
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-28"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "ENERGY"
title: "Report 28"
content: "{{process.report}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-28
method: POST
- type: http
namespace: confluence
baseUri: "https://nexteraenergy.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 29"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-29
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-29"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_29"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-29
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 3"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- slack
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-3
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-3"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#energy"
text: "Completed workflow 3: {{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-3
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 30"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- jira
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-30
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-30"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "ENER"
summary: "Task from workflow 30"
description: "{{process.details}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-30
method: POST
- type: http
namespace: jira
baseUri: "https://nexteraenergy.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 31"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- teams
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-31
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-31"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "energy"
message: "Workflow 31 complete: {{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-31
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 32"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-32
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-32"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_32"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-32
method: POST
- type: http
namespace: tableau
baseUri: "https://nexteraenergy-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 33"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- box
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-33
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-33"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-33
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 34"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-34
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-34"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-34
method: POST
- type: http
namespace: sharepoint
baseUri: "https://nexteraenergy.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 35"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-35
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-35"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 35 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-35
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 36"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-36
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-36"
with:
identifier: "{{identifier}}"
- name: push
type: call
call: "datadog.submit-metrics"
with:
metric_name: "energy.workflow_36"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-36
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_token"
resources:
- name: metrics
path: "/metrics"
operations:
- name: submit-metrics
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 37"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-37
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-37"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-37
method: POST
- type: http
namespace: salesforce
baseUri: "https://nexteraenergy.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 4"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-4
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-4"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "ENERGY"
title: "Report 4"
content: "{{process.report}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-4
method: POST
- type: http
namespace: confluence
baseUri: "https://nexteraenergy.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 5"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-5
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-5"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_5"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-5
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 6"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- jira
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-6
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-6"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "ENER"
summary: "Task from workflow 6"
description: "{{process.details}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-6
method: POST
- type: http
namespace: jira
baseUri: "https://nexteraenergy.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 7"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- teams
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-7
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-7"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "energy"
message: "Workflow 7 complete: {{process.summary}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-7
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 8"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-8
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-8"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_8"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-8
method: POST
- type: http
namespace: tableau
baseUri: "https://nexteraenergy-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy.
naftiko: "0.5"
info:
label: "Nextera Energy Workflow 9"
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
tags:
- energy
- operations
- box
capability:
exposes:
- type: mcp
namespace: energy
port: 8080
tools:
- name: nextera-energy-workflow-9
description: "Orchestrates energy operations including data retrieval, processing, and automated notification for Nextera Energy."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "nexteraenergy-ops.run-workflow-9"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: nexteraenergy-ops
baseUri: "https://api.nexteraenergy.com/operations/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-9
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Analyzes energy rate optimization by pulling demand data from Teradata, market prices from Tradeweb, generation costs from SAP, and producing an optimization recommendation report in SharePoint.
naftiko: "0.5"
info:
label: "Energy Rate Optimization Analyzer"
description: "Analyzes energy rate optimization by pulling demand data from Teradata, market prices from Tradeweb, generation costs from SAP, and producing an optimization recommendation report in SharePoint."
tags:
- grid-ops
- rate-optimization
- teradata
- tradeweb
- sap
- sharepoint
capability:
exposes:
- type: mcp
namespace: rate-optimization
port: 8080
tools:
- name: analyze-rate-optimization
description: "Given a region and date range, analyze demand, market prices, and generation costs to produce optimization recommendations."
inputParameters:
- name: region
in: body
type: string
description: "The service region."
- name: analysis_date
in: body
type: string
description: "The analysis date in YYYY-MM-DD format."
steps:
- name: get-demand
type: call
call: "teradata.query-demand"
with:
region: "{{region}}"
date: "{{analysis_date}}"
- name: get-market-prices
type: call
call: "tradeweb.get-energy-prices"
with:
region: "{{region}}"
date: "{{analysis_date}}"
- name: get-gen-costs
type: call
call: "sap.get-generation-costs"
with:
region: "{{region}}"
date: "{{analysis_date}}"
- name: publish-recommendations
type: call
call: "sharepoint.upload-file"
with:
site_id: "energy_planning_site"
folder_path: "RateOptimization/{{region}}"
file_name: "optimization_{{analysis_date}}.json"
content: "Demand: {{get-demand.peak_mw}} MW | Market price: ${{get-market-prices.avg_price_mwh}}/MWh | Gen cost: ${{get-gen-costs.avg_cost_mwh}}/MWh"
consumes:
- type: http
namespace: teradata
baseUri: "https://nextera-analytics.teradata.com/api/v1"
authentication:
type: bearer
token: "$secrets.teradata_token"
resources:
- name: demand
path: "/query"
operations:
- name: query-demand
method: POST
- type: http
namespace: tradeweb
baseUri: "https://api.tradeweb.com/v1"
authentication:
type: bearer
token: "$secrets.tradeweb_token"
resources:
- name: prices
path: "/energy-prices"
operations:
- name: get-energy-prices
method: POST
- type: http
namespace: sap
baseUri: "https://nextera-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: generation-costs
path: "/GENERATION_COST_SRV/Costs"
operations:
- name: get-generation-costs
method: GET
- 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
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 1"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-1
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-1"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-1
path: "/data-1/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-1
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 10"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-10
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-10"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-10
path: "/data-10/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-10
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 11"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-11
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-11"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-11
path: "/data-11/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-11
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 12"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-12
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-12"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-12
path: "/data-12/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-12
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 13"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-13
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-13"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-13
path: "/data-13/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-13
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 14"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-14
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-14"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-14
path: "/data-14/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-14
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 15"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-15
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-15"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-15
path: "/data-15/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-15
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 2"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-2
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-2"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-2
path: "/data-2/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-2
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 3"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-3
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-3"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-3
path: "/data-3/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-3
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 4"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-4
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-4"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-4
path: "/data-4/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-4
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 5"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-5
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-5"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-5
path: "/data-5/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-5
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 6"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-6
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-6"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-6
path: "/data-6/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-6
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 7"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-7
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-7"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-7
path: "/data-7/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-7
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 8"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-8
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-8"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-8
path: "/data-8/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-8
method: GET
Retrieves operational data for Nextera Energy energy workflows.
naftiko: "0.5"
info:
label: "Nextera Energy Data Lookup 9"
description: "Retrieves operational data for Nextera Energy energy workflows."
tags:
- energy
- operations
capability:
exposes:
- type: mcp
namespace: nexteraenergy-data
port: 8080
tools:
- name: get-data-9
description: "Retrieves operational data for Nextera Energy energy workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "nexteraenergy-data.get-data-9"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: nexteraenergy-data
baseUri: "https://api.nexteraenergy.com/data/v1"
authentication:
type: bearer
token: "$secrets.nextera_api_token"
resources:
- name: data-9
path: "/data-9/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-9
method: GET
Retrieves the current energy trading position from Tradeweb for a given commodity and contract period, returning position size, mark-to-market value, and settlement date.
naftiko: "0.5"
info:
label: "Energy Trading Position Lookup"
description: "Retrieves the current energy trading position from Tradeweb for a given commodity and contract period, returning position size, mark-to-market value, and settlement date."
tags:
- trading
- energy-markets
- tradeweb
capability:
exposes:
- type: mcp
namespace: energy-trading
port: 8080
tools:
- name: get-trading-position
description: "Look up Tradeweb energy trading position by commodity and contract."
inputParameters:
- name: commodity
in: body
type: string
description: "The energy commodity (power, gas, renewable-credits)."
- name: contract_period
in: body
type: string
description: "The contract period (e.g., 2025-Q3)."
call: "tradeweb.get-position"
with:
commodity: "{{commodity}}"
period: "{{contract_period}}"
outputParameters:
- name: position_mw
type: string
mapping: "$.position.size_mw"
- name: mtm_value
type: string
mapping: "$.position.mark_to_market"
- name: settlement_date
type: string
mapping: "$.position.settlement_date"
consumes:
- type: http
namespace: tradeweb
baseUri: "https://api.tradeweb.com/v1"
authentication:
type: bearer
token: "$secrets.tradeweb_token"
resources:
- name: positions
path: "/positions"
operations:
- name: get-position
method: POST
Generates environmental compliance reports by pulling emissions data from SAP HANA, renewable generation from Elasticsearch, regulatory requirements from SharePoint, and compiling the final report for filing.
naftiko: "0.5"
info:
label: "Environmental Compliance Report Generator"
description: "Generates environmental compliance reports by pulling emissions data from SAP HANA, renewable generation from Elasticsearch, regulatory requirements from SharePoint, and compiling the final report for filing."
tags:
- compliance
- environmental
- sap-hana
- elasticsearch
- sharepoint
capability:
exposes:
- type: mcp
namespace: environmental-compliance
port: 8080
tools:
- name: generate-environmental-report
description: "Given a reporting period and facility ID, compile emissions, generation, and regulatory data into a compliance report."
inputParameters:
- name: facility_id
in: body
type: string
description: "The facility identifier."
- name: reporting_period
in: body
type: string
description: "The reporting period (e.g., 2025-Q4)."
steps:
- name: get-emissions
type: call
call: "saphana.query-emissions"
with:
facility_id: "{{facility_id}}"
period: "{{reporting_period}}"
- name: get-renewable-gen
type: call
call: "elasticsearch.get-facility-generation"
with:
facility_id: "{{facility_id}}"
period: "{{reporting_period}}"
- name: compile-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "environmental_site"
folder_path: "ComplianceReports/{{reporting_period}}"
file_name: "env_compliance_{{facility_id}}.json"
content: "Facility: {{facility_id}} | Emissions: {{get-emissions.total_co2_tons}} tons CO2 | Renewable Gen: {{get-renewable-gen.total_mwh}} MWh | Period: {{reporting_period}}"
consumes:
- type: http
namespace: saphana
baseUri: "https://nextera-hana.sap.com/api/v1"
authentication:
type: basic
username: "$secrets.saphana_user"
password: "$secrets.saphana_password"
resources:
- name: emissions
path: "/sql/execute"
operations:
- name: query-emissions
method: POST
- type: http
namespace: elasticsearch
baseUri: "https://nextera-scada.es.amazonaws.com"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: facility-generation
path: "/generation-metrics/_search"
operations:
- name: get-facility-generation
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
Sends a query to Google Gemini AI for energy data analysis and interpretation.
naftiko: "0.5"
info:
label: "Gemini AI Analysis Query"
description: "Sends a query to Google Gemini AI for energy data analysis and interpretation."
tags:
- artificial-intelligence
- gemini
- analytics
capability:
exposes:
- type: mcp
namespace: ai-analytics
port: 8080
tools:
- name: query-gemini
description: "Send an analytical query to Gemini AI."
inputParameters:
- name: prompt
in: body
type: string
description: "The analysis prompt."
call: "gemini.generate-content"
with:
prompt: "{{prompt}}"
outputParameters:
- name: response
type: string
mapping: "$.candidates[0].content.parts[0].text"
consumes:
- type: http
namespace: gemini
baseUri: "https://generativelanguage.googleapis.com/v1beta"
authentication:
type: apiKey
key: "$secrets.gemini_api_key"
resources:
- name: models
path: "/models/gemini-pro:generateContent"
operations:
- name: generate-content
method: POST
Retrieves the current status of a NextEra Energy GitHub repository including open pull requests, recent commits, and branch information.
naftiko: "0.5"
info:
label: "GitHub Repository Status"
description: "Retrieves the current status of a NextEra Energy GitHub repository including open pull requests, recent commits, and branch information."
tags:
- development
- github
capability:
exposes:
- type: mcp
namespace: dev-ops
port: 8080
tools:
- name: get-repo-status
description: "Look up GitHub repository status by repo name."
inputParameters:
- name: repo_name
in: body
type: string
description: "The GitHub repository name."
call: "github.get-repo"
with:
repo: "{{repo_name}}"
outputParameters:
- name: open_prs
type: string
mapping: "$.open_issues_count"
- name: default_branch
type: string
mapping: "$.default_branch"
- name: last_push
type: string
mapping: "$.pushed_at"
consumes:
- type: http
namespace: github
baseUri: "https://api.github.com"
authentication:
type: bearer
token: "$secrets.github_token"
resources:
- name: repos
path: "/repos/nextera-energy/{{repo}}"
inputParameters:
- name: repo
in: path
operations:
- name: get-repo
method: GET
Retrieves the current status of a power grid segment from the grid management system, returning load capacity, current demand, frequency, and voltage metrics.
naftiko: "0.5"
info:
label: "Grid Operations Status Lookup"
description: "Retrieves the current status of a power grid segment from the grid management system, returning load capacity, current demand, frequency, and voltage metrics."
tags:
- grid-ops
- power-management
- oracle-cloud
capability:
exposes:
- type: mcp
namespace: grid-ops
port: 8080
tools:
- name: get-grid-status
description: "Look up grid segment status by segment ID. Returns load, demand, frequency, and voltage."
inputParameters:
- name: segment_id
in: body
type: string
description: "The grid segment identifier."
call: "oracle.get-grid-segment"
with:
segment_id: "{{segment_id}}"
outputParameters:
- name: capacity_mw
type: string
mapping: "$.data.capacity_mw"
- name: current_demand_mw
type: string
mapping: "$.data.current_demand_mw"
- name: frequency_hz
type: string
mapping: "$.data.frequency_hz"
- name: voltage_kv
type: string
mapping: "$.data.voltage_kv"
consumes:
- type: http
namespace: oracle
baseUri: "https://nextera.oraclecloud.com/fscmRestApi/resources/v1"
authentication:
type: bearer
token: "$secrets.oracle_cloud_token"
resources:
- name: grid-segments
path: "/gridSegments/{{segment_id}}"
inputParameters:
- name: segment_id
in: path
operations:
- name: get-grid-segment
method: GET
Retrieves the current sprint status from Jira for a given project board.
naftiko: "0.5"
info:
label: "Jira Sprint Status Lookup"
description: "Retrieves the current sprint status from Jira for a given project board."
tags:
- development
- jira
- agile
capability:
exposes:
- type: mcp
namespace: agile
port: 8080
tools:
- name: get-sprint-status
description: "Look up Jira active sprint by board ID."
inputParameters:
- name: board_id
in: body
type: string
description: "The Jira board identifier."
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://nextera.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?state=active"
inputParameters:
- name: board_id
in: path
operations:
- name: get-active-sprint
method: GET
Checks the health and status of a MuleSoft API integration deployment, returning application status, worker count, and last deployment time.
naftiko: "0.5"
info:
label: "MuleSoft Integration Status Check"
description: "Checks the health and status of a MuleSoft API integration deployment, returning application status, worker count, and last deployment time."
tags:
- integration
- mulesoft
- api-management
capability:
exposes:
- type: mcp
namespace: integration
port: 8080
tools:
- name: get-mulesoft-status
description: "Check MuleSoft application deployment status by app name."
inputParameters:
- name: app_name
in: body
type: string
description: "The MuleSoft application name."
call: "mulesoft.get-app-status"
with:
app_name: "{{app_name}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: workers
type: string
mapping: "$.workers.type.weight"
- name: last_update
type: string
mapping: "$.lastUpdateTime"
consumes:
- type: http
namespace: mulesoft
baseUri: "https://anypoint.mulesoft.com/cloudhub/api/v2"
authentication:
type: bearer
token: "$secrets.mulesoft_token"
resources:
- name: applications
path: "/applications/{{app_name}}"
inputParameters:
- name: app_name
in: path
operations:
- name: get-app-status
method: GET
Retrieves application performance metrics from New Relic for NextEra Energy applications.
naftiko: "0.5"
info:
label: "New Relic Application Performance Lookup"
description: "Retrieves application performance metrics from New Relic for NextEra Energy applications."
tags:
- monitoring
- new-relic
- application-performance
capability:
exposes:
- type: mcp
namespace: apm
port: 8080
tools:
- name: get-app-performance
description: "Look up New Relic application performance by app name."
inputParameters:
- name: app_name
in: body
type: string
description: "The New Relic application name."
call: "newrelic.get-app-metrics"
with:
app_name: "{{app_name}}"
outputParameters:
- name: response_time
type: string
mapping: "$.application.application_summary.response_time"
- name: throughput
type: string
mapping: "$.application.application_summary.throughput"
- name: error_rate
type: string
mapping: "$.application.application_summary.error_rate"
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?filter[name]={{app_name}}"
inputParameters:
- name: app_name
in: query
operations:
- name: get-app-metrics
method: GET
Retrieves a vendor invoice from Oracle E-Business Suite by invoice number, returning amount, vendor, payment status, and due date.
naftiko: "0.5"
info:
label: "Oracle E-Business Suite Invoice Lookup"
description: "Retrieves a vendor invoice from Oracle E-Business Suite by invoice number, returning amount, vendor, payment status, and due date."
tags:
- finance
- oracle-e-business-suite
- accounts-payable
capability:
exposes:
- type: mcp
namespace: accounts-payable
port: 8080
tools:
- name: get-invoice
description: "Look up an Oracle EBS invoice by number."
inputParameters:
- name: invoice_number
in: body
type: string
description: "The invoice number."
call: "oracle-ebs.get-invoice"
with:
invoice_number: "{{invoice_number}}"
outputParameters:
- name: amount
type: string
mapping: "$.InvoiceAmount"
- name: vendor
type: string
mapping: "$.VendorName"
- name: payment_status
type: string
mapping: "$.PaymentStatusLookupCode"
- name: due_date
type: string
mapping: "$.DueDate"
consumes:
- type: http
namespace: oracle-ebs
baseUri: "https://nextera-ebs.oraclecloud.com/webservices/rest"
authentication:
type: basic
username: "$secrets.oracle_ebs_user"
password: "$secrets.oracle_ebs_password"
resources:
- name: invoices
path: "/AP_INVOICES/{{invoice_number}}"
inputParameters:
- name: invoice_number
in: path
operations:
- name: get-invoice
method: GET
Checks Oracle database health via Oracle Enterprise Manager, returning tablespace usage, active sessions, and alert count.
naftiko: "0.5"
info:
label: "Oracle Enterprise Manager Database Health"
description: "Checks Oracle database health via Oracle Enterprise Manager, returning tablespace usage, active sessions, and alert count."
tags:
- database
- oracle-enterprise-manager
- monitoring
capability:
exposes:
- type: mcp
namespace: db-monitoring
port: 8080
tools:
- name: get-db-health
description: "Check Oracle database health by target name."
inputParameters:
- name: target_name
in: body
type: string
description: "The Oracle EM target name."
call: "oracleem.get-target-health"
with:
target_name: "{{target_name}}"
outputParameters:
- name: status
type: string
mapping: "$.data.status"
- name: active_sessions
type: string
mapping: "$.data.active_sessions"
- name: alert_count
type: string
mapping: "$.data.alert_count"
consumes:
- type: http
namespace: oracleem
baseUri: "https://nextera-em.oraclecloud.com/em/websvcs/restful/emws/core"
authentication:
type: basic
username: "$secrets.oracle_em_user"
password: "$secrets.oracle_em_password"
resources:
- name: targets
path: "/targets/{{target_name}}"
inputParameters:
- name: target_name
in: path
operations:
- name: get-target-health
method: GET
Queries Palo Alto Networks firewall for a specific security rule, returning action, source zones, and destination zones.
naftiko: "0.5"
info:
label: "Palo Alto Firewall Rule Lookup"
description: "Queries Palo Alto Networks firewall for a specific security rule, returning action, source zones, and destination zones."
tags:
- security
- palo-alto-networks
- firewall
capability:
exposes:
- type: mcp
namespace: network-security
port: 8080
tools:
- name: get-firewall-rule
description: "Look up a Palo Alto Networks firewall rule by name."
inputParameters:
- name: rule_name
in: body
type: string
description: "The firewall rule name."
call: "paloalto.get-rule"
with:
rule_name: "{{rule_name}}"
outputParameters:
- name: action
type: string
mapping: "$.result.entry.action"
- name: source_zones
type: array
mapping: "$.result.entry.from.member"
- name: destination_zones
type: array
mapping: "$.result.entry.to.member"
consumes:
- type: http
namespace: paloalto
baseUri: "https://nextera-fw.paloaltonetworks.com/restapi/v10.2"
authentication:
type: apiKey
key: "$secrets.paloalto_api_key"
resources:
- name: security-rules
path: "/Policies/SecurityRules?name={{rule_name}}"
inputParameters:
- name: rule_name
in: query
operations:
- name: get-rule
method: GET
Triggers a Power BI dataset refresh for NextEra Energy generation reporting dashboards.
naftiko: "0.5"
info:
label: "Power BI Generation Dashboard Refresh"
description: "Triggers a Power BI dataset refresh for NextEra Energy generation reporting dashboards."
tags:
- analytics
- power-bi
- reporting
capability:
exposes:
- type: mcp
namespace: reporting
port: 8080
tools:
- name: refresh-generation-dashboard
description: "Trigger a Power BI dataset refresh."
inputParameters:
- name: dataset_id
in: body
type: string
description: "The Power BI dataset identifier."
call: "powerbi.refresh-dataset"
with:
dataset_id: "{{dataset_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: request_id
type: string
mapping: "$.requestId"
consumes:
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: dataset_id
in: path
operations:
- name: refresh-dataset
method: POST
Checks Red Hat Satellite for patch compliance status across NextEra Energy Linux servers, returning compliant host count and missing patches.
naftiko: "0.5"
info:
label: "Red Hat Satellite Patch Compliance Check"
description: "Checks Red Hat Satellite for patch compliance status across NextEra Energy Linux servers, returning compliant host count and missing patches."
tags:
- infrastructure
- red-hat-satellite
- patch-management
capability:
exposes:
- type: mcp
namespace: patch-management
port: 8080
tools:
- name: get-patch-compliance
description: "Check Red Hat Satellite patch compliance by host group."
inputParameters:
- name: host_group
in: body
type: string
description: "The host group name."
call: "satellite.get-compliance"
with:
host_group: "{{host_group}}"
outputParameters:
- name: total_hosts
type: string
mapping: "$.total"
- name: compliant_count
type: string
mapping: "$.compliant"
- name: missing_patches
type: string
mapping: "$.missing_errata_count"
consumes:
- type: http
namespace: satellite
baseUri: "https://nextera-satellite.redhat.com/api/v2"
authentication:
type: basic
username: "$secrets.satellite_user"
password: "$secrets.satellite_password"
resources:
- name: compliance
path: "/hostgroups/{{host_group}}/errata"
inputParameters:
- name: host_group
in: path
operations:
- name: get-compliance
method: GET
Tracks Renewable Energy Certificates (RECs) by pulling generation data from Elasticsearch, registering certificates in SAP, and reporting compliance to the regulatory team via SharePoint.
naftiko: "0.5"
info:
label: "Renewable Energy Certificate Tracker"
description: "Tracks Renewable Energy Certificates (RECs) by pulling generation data from Elasticsearch, registering certificates in SAP, and reporting compliance to the regulatory team via SharePoint."
tags:
- renewable
- compliance
- recs
- elasticsearch
- sap
- sharepoint
capability:
exposes:
- type: mcp
namespace: rec-tracking
port: 8080
tools:
- name: track-renewable-certificates
description: "Given a generation asset ID and period, calculate RECs earned, register in SAP, and publish compliance report."
inputParameters:
- name: asset_id
in: body
type: string
description: "The renewable asset identifier."
- name: period
in: body
type: string
description: "The generation period (YYYY-MM)."
steps:
- name: get-generation
type: call
call: "elasticsearch.get-generation-totals"
with:
asset_id: "{{asset_id}}"
period: "{{period}}"
- name: register-recs
type: call
call: "sap.register-certificates"
with:
asset_id: "{{asset_id}}"
mwh_generated: "{{get-generation.total_mwh}}"
period: "{{period}}"
- name: publish-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "regulatory_site"
folder_path: "RECs/{{period}}"
file_name: "rec_report_{{asset_id}}.json"
content: "Asset: {{asset_id}} | Generation: {{get-generation.total_mwh}} MWh | RECs registered: {{register-recs.certificate_count}}"
consumes:
- type: http
namespace: elasticsearch
baseUri: "https://nextera-scada.es.amazonaws.com"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: generation-totals
path: "/generation-metrics/_search"
operations:
- name: get-generation-totals
method: POST
- type: http
namespace: sap
baseUri: "https://nextera-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: certificates
path: "/REC_MANAGEMENT_SRV/Certificates"
operations:
- name: register-certificates
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
Pulls real-time energy generation data from the SCADA system for wind and solar assets, returning total output, capacity factor, and availability percentage.
naftiko: "0.5"
info:
label: "Renewable Energy Generation Dashboard"
description: "Pulls real-time energy generation data from the SCADA system for wind and solar assets, returning total output, capacity factor, and availability percentage."
tags:
- renewable
- energy-generation
- elasticsearch
capability:
exposes:
- type: mcp
namespace: renewable-generation
port: 8080
tools:
- name: get-generation-metrics
description: "Retrieve renewable energy generation metrics for a given asset by ID and date."
inputParameters:
- name: asset_id
in: body
type: string
description: "The renewable energy asset identifier (wind farm or solar plant)."
- name: date
in: body
type: string
description: "The date for metrics in YYYY-MM-DD format."
call: "elasticsearch.search-generation"
with:
asset_id: "{{asset_id}}"
date: "{{date}}"
outputParameters:
- name: total_output_mwh
type: string
mapping: "$.hits.hits[0]._source.total_output_mwh"
- name: capacity_factor
type: string
mapping: "$.hits.hits[0]._source.capacity_factor"
- name: availability_pct
type: string
mapping: "$.hits.hits[0]._source.availability_pct"
consumes:
- type: http
namespace: elasticsearch
baseUri: "https://nextera-scada.es.amazonaws.com"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: generation-metrics
path: "/generation-metrics/_search"
operations:
- name: search-generation
method: POST
Retrieves an expense report from SAP Concur by ID.
naftiko: "0.5"
info:
label: "SAP Concur Expense Report Lookup"
description: "Retrieves an expense report from SAP Concur by ID."
tags:
- finance
- sap-concur
- expense-management
capability:
exposes:
- type: mcp
namespace: expense
port: 8080
tools:
- name: get-expense-report
description: "Look up a Concur expense report by ID."
inputParameters:
- name: report_id
in: body
type: string
description: "The expense report identifier."
call: "concur.get-report"
with:
report_id: "{{report_id}}"
outputParameters:
- name: total_amount
type: string
mapping: "$.Total"
- name: approval_status
type: string
mapping: "$.ApprovalStatusName"
consumes:
- type: http
namespace: concur
baseUri: "https://us.api.concursolutions.com/api/v3.0"
authentication:
type: bearer
token: "$secrets.concur_token"
resources:
- name: reports
path: "/expense/reports/{{report_id}}"
inputParameters:
- name: report_id
in: path
operations:
- name: get-report
method: GET
Executes a query against SAP HANA for real-time energy analytics, returning aggregated generation and consumption data.
naftiko: "0.5"
info:
label: "SAP HANA Energy Data Query"
description: "Executes a query against SAP HANA for real-time energy analytics, returning aggregated generation and consumption data."
tags:
- analytics
- sap-hana
- energy-data
capability:
exposes:
- type: mcp
namespace: energy-analytics
port: 8080
tools:
- name: query-energy-data
description: "Execute a SAP HANA query for energy analytics by region and date range."
inputParameters:
- name: region
in: body
type: string
description: "The energy service region."
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD format."
call: "saphana.execute-query"
with:
region: "{{region}}"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
outputParameters:
- name: total_generation_mwh
type: string
mapping: "$.data.total_generation_mwh"
- name: total_consumption_mwh
type: string
mapping: "$.data.total_consumption_mwh"
- name: peak_demand_mw
type: string
mapping: "$.data.peak_demand_mw"
consumes:
- type: http
namespace: saphana
baseUri: "https://nextera-hana.sap.com/api/v1"
authentication:
type: basic
username: "$secrets.saphana_user"
password: "$secrets.saphana_password"
resources:
- name: queries
path: "/sql/execute"
operations:
- name: execute-query
method: POST
Retrieves a SAP plant maintenance work order by order number, returning order type, status, planned start date, and assigned work center.
naftiko: "0.5"
info:
label: "SAP Work Order Lookup"
description: "Retrieves a SAP plant maintenance work order by order number, returning order type, status, planned start date, and assigned work center."
tags:
- maintenance
- sap
- work-orders
capability:
exposes:
- type: mcp
namespace: plant-maintenance
port: 8080
tools:
- name: get-work-order
description: "Look up a SAP maintenance work order by number."
inputParameters:
- name: order_number
in: body
type: string
description: "The SAP work order number."
call: "sap.get-work-order"
with:
order_number: "{{order_number}}"
outputParameters:
- name: order_type
type: string
mapping: "$.d.OrderType"
- name: status
type: string
mapping: "$.d.SystemStatus"
- name: planned_start
type: string
mapping: "$.d.PlannedStartDate"
- name: work_center
type: string
mapping: "$.d.MainWorkCenter"
consumes:
- type: http
namespace: sap
baseUri: "https://nextera-s4.sap.com/sap/opu/odata/sap/MAINTENANCE_ORDER_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: work-orders
path: "/MaintenanceOrders('{{order_number}}')"
inputParameters:
- name: order_number
in: path
operations:
- name: get-work-order
method: GET
Retrieves a ServiceNow incident by number and returns the current state, assignee, priority, and last updated timestamp.
naftiko: "0.5"
info:
label: "ServiceNow Incident Status"
description: "Retrieves a ServiceNow incident by number and returns the current state, assignee, priority, and last updated timestamp."
tags:
- it-operations
- servicenow
capability:
exposes:
- type: mcp
namespace: it-ops
port: 8080
tools:
- name: get-incident-status
description: "Look up a ServiceNow incident by number."
inputParameters:
- name: incident_number
in: body
type: string
description: "The 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: priority
type: string
mapping: "$.result[0].priority"
consumes:
- type: http
namespace: servicenow
baseUri: "https://nextera.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident?sysparm_query=number={{number}}"
inputParameters:
- name: number
in: query
operations:
- name: get-incident
method: GET
Retrieves solar panel array performance data from the monitoring system, returning energy output, irradiance, panel temperature, and inverter efficiency.
naftiko: "0.5"
info:
label: "Solar Panel Performance Lookup"
description: "Retrieves solar panel array performance data from the monitoring system, returning energy output, irradiance, panel temperature, and inverter efficiency."
tags:
- renewable
- solar
- elasticsearch
capability:
exposes:
- type: mcp
namespace: solar-ops
port: 8080
tools:
- name: get-solar-performance
description: "Look up solar array performance by array ID and date."
inputParameters:
- name: array_id
in: body
type: string
description: "The solar array identifier."
- name: date
in: body
type: string
description: "Date in YYYY-MM-DD format."
call: "elasticsearch.search-solar-metrics"
with:
array_id: "{{array_id}}"
date: "{{date}}"
outputParameters:
- name: energy_output_kwh
type: string
mapping: "$.hits.hits[0]._source.energy_kwh"
- name: irradiance_wm2
type: string
mapping: "$.hits.hits[0]._source.irradiance_wm2"
- name: panel_temp_c
type: string
mapping: "$.hits.hits[0]._source.panel_temp_c"
- name: inverter_efficiency
type: string
mapping: "$.hits.hits[0]._source.inverter_efficiency_pct"
consumes:
- type: http
namespace: elasticsearch
baseUri: "https://nextera-scada.es.amazonaws.com"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: solar-metrics
path: "/solar-metrics/_search"
operations:
- name: search-solar-metrics
method: POST
Retrieves network performance metrics from SolarWinds for a given network node, returning CPU load, memory usage, response time, and packet loss.
naftiko: "0.5"
info:
label: "SolarWinds Network Performance Check"
description: "Retrieves network performance metrics from SolarWinds for a given network node, returning CPU load, memory usage, response time, and packet loss."
tags:
- infrastructure
- solarwinds
- network-monitoring
capability:
exposes:
- type: mcp
namespace: network-monitoring
port: 8080
tools:
- name: get-node-performance
description: "Look up SolarWinds network node performance by node ID."
inputParameters:
- name: node_id
in: body
type: string
description: "The SolarWinds node identifier."
call: "solarwinds.get-node"
with:
node_id: "{{node_id}}"
outputParameters:
- name: cpu_load
type: string
mapping: "$.results[0].CPULoad"
- name: memory_used
type: string
mapping: "$.results[0].PercentMemoryUsed"
- name: response_time
type: string
mapping: "$.results[0].ResponseTime"
consumes:
- type: http
namespace: solarwinds
baseUri: "https://nextera-npm.solarwinds.com/SolarWinds/InformationService/v3/Json"
authentication:
type: basic
username: "$secrets.solarwinds_user"
password: "$secrets.solarwinds_password"
resources:
- name: nodes
path: "/Query?query=SELECT+CPULoad,PercentMemoryUsed,ResponseTime+FROM+Orion.Nodes+WHERE+NodeID={{node_id}}"
inputParameters:
- name: node_id
in: query
operations:
- name: get-node
method: GET
Coordinates storm response by pulling weather data, assessing grid vulnerability from Teradata, pre-positioning crews via SAP, and activating the emergency operations center communications in Microsoft Teams.
naftiko: "0.5"
info:
label: "Storm Response Coordination Pipeline"
description: "Coordinates storm response by pulling weather data, assessing grid vulnerability from Teradata, pre-positioning crews via SAP, and activating the emergency operations center communications in Microsoft Teams."
tags:
- grid-ops
- storm-response
- teradata
- sap
- microsoft-teams
- emergency
capability:
exposes:
- type: mcp
namespace: storm-response
port: 8080
tools:
- name: coordinate-storm-response
description: "Given a storm event ID and affected regions, assess vulnerability, position crews, and activate emergency communications."
inputParameters:
- name: storm_event_id
in: body
type: string
description: "The storm event identifier."
- name: affected_regions
in: body
type: string
description: "Comma-separated list of affected regions."
- name: storm_category
in: body
type: string
description: "Storm severity category."
steps:
- name: assess-vulnerability
type: call
call: "teradata.assess-grid-vulnerability"
with:
regions: "{{affected_regions}}"
storm_category: "{{storm_category}}"
- name: position-crews
type: call
call: "sap.deploy-restoration-crews"
with:
regions: "{{affected_regions}}"
priority_segments: "{{assess-vulnerability.critical_segments}}"
- name: activate-eoc
type: call
call: "msteams.send-message"
with:
channel_id: "emergency-ops-center"
text: "STORM RESPONSE ACTIVATED: Event {{storm_event_id}}, Category {{storm_category}}. Regions: {{affected_regions}}. Critical segments: {{assess-vulnerability.critical_count}}. Crews deployed: {{position-crews.crew_count}}. Estimated customers at risk: {{assess-vulnerability.customers_at_risk}}."
consumes:
- type: http
namespace: teradata
baseUri: "https://nextera-analytics.teradata.com/api/v1"
authentication:
type: bearer
token: "$secrets.teradata_token"
resources:
- name: vulnerability
path: "/query"
operations:
- name: assess-grid-vulnerability
method: POST
- type: http
namespace: sap
baseUri: "https://nextera-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: restoration
path: "/CREW_DEPLOYMENT_SRV/Deploy"
operations:
- name: deploy-restoration-crews
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/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves real-time health metrics for substation equipment from the SCADA monitoring system, returning transformer temperature, oil level, and breaker status.
naftiko: "0.5"
info:
label: "Substation Equipment Health Monitor"
description: "Retrieves real-time health metrics for substation equipment from the SCADA monitoring system, returning transformer temperature, oil level, and breaker status."
tags:
- grid-ops
- substation
- equipment-health
- elasticsearch
capability:
exposes:
- type: mcp
namespace: substation-health
port: 8080
tools:
- name: get-equipment-health
description: "Look up substation equipment health by equipment ID."
inputParameters:
- name: equipment_id
in: body
type: string
description: "The substation equipment identifier."
call: "elasticsearch.get-equipment-metrics"
with:
equipment_id: "{{equipment_id}}"
outputParameters:
- name: transformer_temp_c
type: string
mapping: "$.hits.hits[0]._source.transformer_temp_c"
- name: oil_level_pct
type: string
mapping: "$.hits.hits[0]._source.oil_level_pct"
- name: breaker_status
type: string
mapping: "$.hits.hits[0]._source.breaker_status"
consumes:
- type: http
namespace: elasticsearch
baseUri: "https://nextera-scada.es.amazonaws.com"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: equipment-metrics
path: "/substation-metrics/_search"
operations:
- name: get-equipment-metrics
method: POST
Retrieves Tableau dashboard metadata for NextEra Energy reporting.
naftiko: "0.5"
info:
label: "Tableau Reporting Dashboard Lookup"
description: "Retrieves Tableau dashboard metadata for NextEra Energy reporting."
tags:
- analytics
- tableau
- reporting
capability:
exposes:
- type: mcp
namespace: bi-reporting
port: 8080
tools:
- name: get-tableau-dashboard
description: "Look up a Tableau workbook by ID."
inputParameters:
- name: workbook_id
in: body
type: string
description: "The Tableau workbook identifier."
call: "tableau.get-workbook"
with:
workbook_id: "{{workbook_id}}"
outputParameters:
- name: name
type: string
mapping: "$.workbook.name"
- name: view_count
type: string
mapping: "$.workbook.viewCount"
- name: updated_at
type: string
mapping: "$.workbook.updatedAt"
consumes:
- type: http
namespace: tableau
baseUri: "https://nextera.online.tableau.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: workbooks
path: "/sites/{{site_id}}/workbooks/{{workbook_id}}"
inputParameters:
- name: site_id
in: path
- name: workbook_id
in: path
operations:
- name: get-workbook
method: GET
Checks the status of a Talend data pipeline execution, returning job state, start time, and row count.
naftiko: "0.5"
info:
label: "Talend Data Pipeline Status"
description: "Checks the status of a Talend data pipeline execution, returning job state, start time, and row count."
tags:
- data-engineering
- talend
- etl
capability:
exposes:
- type: mcp
namespace: data-pipelines
port: 8080
tools:
- name: get-talend-status
description: "Check Talend job execution status by run ID."
inputParameters:
- name: run_id
in: body
type: string
description: "The Talend run identifier."
call: "talend.get-run"
with:
run_id: "{{run_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: start_time
type: string
mapping: "$.startTimestamp"
consumes:
- type: http
namespace: talend
baseUri: "https://nextera.cloud.talend.com/tmc/v2.5"
authentication:
type: bearer
token: "$secrets.talend_token"
resources:
- name: runs
path: "/executions/{{run_id}}"
inputParameters:
- name: run_id
in: path
operations:
- name: get-run
method: GET
Queries Tanium for endpoint security status of NextEra Energy workstations, returning patch compliance and threat status.
naftiko: "0.5"
info:
label: "Tanium Endpoint Security Check"
description: "Queries Tanium for endpoint security status of NextEra Energy workstations, returning patch compliance and threat status."
tags:
- security
- tanium
- endpoint-management
capability:
exposes:
- type: mcp
namespace: endpoint-security
port: 8080
tools:
- name: get-endpoint-status
description: "Check Tanium endpoint security status by computer name."
inputParameters:
- name: computer_name
in: body
type: string
description: "The endpoint computer name."
call: "tanium.get-endpoint"
with:
computer_name: "{{computer_name}}"
outputParameters:
- name: patch_compliance
type: string
mapping: "$.data.patch_compliance_pct"
- name: threat_status
type: string
mapping: "$.data.threat_status"
consumes:
- type: http
namespace: tanium
baseUri: "https://nextera-tanium.tanium.com/api/v2"
authentication:
type: bearer
token: "$secrets.tanium_token"
resources:
- name: endpoints
path: "/sensors/query"
operations:
- name: get-endpoint
method: POST
Manages vegetation clearance around power lines by pulling asset geospatial data from Google Maps, scheduling trimming crews via SAP, creating work orders in ServiceNow, and logging completion in SharePoint.
naftiko: "0.5"
info:
label: "Vegetation Management Orchestrator"
description: "Manages vegetation clearance around power lines by pulling asset geospatial data from Google Maps, scheduling trimming crews via SAP, creating work orders in ServiceNow, and logging completion in SharePoint."
tags:
- grid-ops
- vegetation-management
- google-maps
- sap
- servicenow
- sharepoint
capability:
exposes:
- type: mcp
namespace: vegetation-mgmt
port: 8080
tools:
- name: manage-vegetation-clearance
description: "Given a circuit ID and priority level, assess the vegetation risk area, schedule crews, create work orders, and log progress."
inputParameters:
- name: circuit_id
in: body
type: string
description: "The power circuit identifier."
- name: priority
in: body
type: string
description: "Priority level (critical, high, standard)."
- name: region
in: body
type: string
description: "The service region."
steps:
- name: get-route-data
type: call
call: "googlemaps.get-circuit-route"
with:
circuit_id: "{{circuit_id}}"
- name: schedule-crew
type: call
call: "sap.schedule-vegetation-crew"
with:
circuit_id: "{{circuit_id}}"
priority: "{{priority}}"
route_length: "{{get-route-data.distance}}"
- name: create-work-order
type: call
call: "servicenow.create-work-order"
with:
short_description: "Vegetation Clearance: Circuit {{circuit_id}}"
category: "vegetation_management"
priority: "{{priority}}"
description: "Route length: {{get-route-data.distance}}. Crew: {{schedule-crew.crew_id}}. Region: {{region}}"
- name: log-assignment
type: call
call: "sharepoint.create-item"
with:
site_id: "vegetation_mgmt_site"
list_name: "Clearance_Log"
fields:
circuit_id: "{{circuit_id}}"
work_order: "{{create-work-order.number}}"
crew: "{{schedule-crew.crew_id}}"
status: "assigned"
consumes:
- type: http
namespace: googlemaps
baseUri: "https://maps.googleapis.com/maps/api"
authentication:
type: apiKey
key: "$secrets.google_maps_key"
resources:
- name: routes
path: "/directions/json"
operations:
- name: get-circuit-route
method: GET
- type: http
namespace: sap
baseUri: "https://nextera-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: vegetation
path: "/CREW_SCHEDULING_SRV/Schedule"
operations:
- name: schedule-vegetation-crew
method: POST
- type: http
namespace: servicenow
baseUri: "https://nextera.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: work-orders
path: "/table/wm_order"
operations:
- name: create-work-order
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: list-items
path: "/{{site_id}}/lists/{{list_name}}/items"
inputParameters:
- name: site_id
in: path
- name: list_name
in: path
operations:
- name: create-item
method: POST
When a wind turbine triggers a maintenance alert, creates a ServiceNow work order, pulls turbine telemetry from Elasticsearch, schedules a maintenance crew in SAP, and notifies the operations team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Wind Turbine Maintenance Orchestrator"
description: "When a wind turbine triggers a maintenance alert, creates a ServiceNow work order, pulls turbine telemetry from Elasticsearch, schedules a maintenance crew in SAP, and notifies the operations team via Microsoft Teams."
tags:
- renewable
- maintenance
- servicenow
- elasticsearch
- sap
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: turbine-maintenance
port: 8080
tools:
- name: initiate-turbine-maintenance
description: "Given a turbine ID and alert type, create a work order, pull telemetry, schedule crew, and notify ops."
inputParameters:
- name: turbine_id
in: body
type: string
description: "The wind turbine asset identifier."
- name: alert_type
in: body
type: string
description: "Type of maintenance alert (vibration, oil-temp, blade-pitch, generator)."
- name: farm_name
in: body
type: string
description: "The wind farm name."
steps:
- name: create-work-order
type: call
call: "servicenow.create-work-order"
with:
short_description: "Turbine Maintenance: {{turbine_id}} - {{alert_type}}"
category: "renewable_maintenance"
asset_id: "{{turbine_id}}"
description: "Maintenance alert {{alert_type}} triggered for turbine {{turbine_id}} at {{farm_name}}."
- name: get-telemetry
type: call
call: "elasticsearch.get-turbine-telemetry"
with:
turbine_id: "{{turbine_id}}"
- name: schedule-crew
type: call
call: "sap.schedule-maintenance"
with:
asset_id: "{{turbine_id}}"
work_order: "{{create-work-order.number}}"
maintenance_type: "{{alert_type}}"
- name: notify-ops
type: call
call: "msteams.send-message"
with:
channel_id: "wind-ops-alerts"
text: "Turbine Maintenance Alert: {{turbine_id}} at {{farm_name}}. Alert: {{alert_type}}. Work order: {{create-work-order.number}}. Wind speed: {{get-telemetry.wind_speed}}. Crew scheduled: {{schedule-crew.crew_id}}."
consumes:
- type: http
namespace: servicenow
baseUri: "https://nextera.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: work-orders
path: "/table/wm_order"
operations:
- name: create-work-order
method: POST
- type: http
namespace: elasticsearch
baseUri: "https://nextera-scada.es.amazonaws.com"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: turbine-telemetry
path: "/turbine-telemetry/_search"
operations:
- name: get-turbine-telemetry
method: POST
- type: http
namespace: sap
baseUri: "https://nextera-s4.sap.com/sap/opu/odata/sap"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: maintenance
path: "/MAINTENANCE_ORDER_SRV/Schedule"
operations:
- name: schedule-maintenance
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/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Searches the NextEra Energy Workday tenant for an employee by worker ID and returns profile details.
naftiko: "0.5"
info:
label: "Workday Employee Directory Lookup"
description: "Searches the NextEra Energy Workday tenant for an employee by worker ID and returns profile details."
tags:
- hr
- workday
- employee-directory
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: lookup-employee
description: "Look up an employee in Workday by worker ID."
inputParameters:
- name: worker_id
in: body
type: string
description: "The Workday worker ID."
call: "workday.get-worker"
with:
worker_id: "{{worker_id}}"
outputParameters:
- name: full_name
type: string
mapping: "$.Worker.Worker_Data.Personal_Data.Name_Data.Legal_Name.Name_Detail_Data.Full_Name"
- name: title
type: string
mapping: "$.Worker.Worker_Data.Employment_Data.Worker_Job_Data.Position_Data.Business_Title"
- name: department
type: string
mapping: "$.Worker.Worker_Data.Employment_Data.Worker_Job_Data.Position_Data.Business_Site_Summary.Name"
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