American Eagle Outfitters Capabilities
Naftiko 0.5 capability definitions for American Eagle Outfitters - 100 capabilities showing integration workflows and service orchestrations.
When a BigCommerce cart is abandoned, triggers a recovery email via Adobe Campaign with a personalized offer and logs the attempt in Google Sheets.
naftiko: "0.5"
info:
label: "Abandoned Cart Recovery Pipeline"
description: "When a BigCommerce cart is abandoned, triggers a recovery email via Adobe Campaign with a personalized offer and logs the attempt in Google Sheets."
tags:
- e-commerce
- marketing
- bigcommerce
- adobe-campaign
- google-sheets
capability:
exposes:
- type: mcp
namespace: cart-recovery
port: 8080
tools:
- name: recover-abandoned-cart
description: "Send a personalized cart recovery email and track the outreach."
inputParameters:
- name: cart_id
in: body
type: string
description: "BigCommerce abandoned cart ID."
- name: customer_email
in: body
type: string
description: "Customer email."
- name: offer_code
in: body
type: string
description: "Offer code to include."
steps:
- name: get-cart
type: call
call: "bigcommerce.get-abandoned-cart"
with:
cart_id: "{{cart_id}}"
- name: send-recovery
type: call
call: "adobe-campaign.send-transactional"
with:
template: "cart_recovery"
recipient_email: "{{customer_email}}"
offer_code: "{{offer_code}}"
cart_total: "{{get-cart.cart_amount}}"
- name: log-attempt
type: call
call: "gsheets.append-row"
with:
spreadsheet_id: "aeo_cart_recovery"
range: "Attempts!A:D"
values:
- "{{cart_id}}"
- "{{customer_email}}"
- "{{offer_code}}"
- "sent"
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v3"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: abandoned-carts
path: "/abandoned-carts/{{cart_id}}"
inputParameters:
- name: cart_id
in: path
operations:
- name: get-abandoned-cart
method: GET
- type: http
namespace: adobe-campaign
baseUri: "https://mc.adobe.io/ae-outfitters/campaign"
authentication:
type: bearer
token: "$secrets.adobe_campaign_token"
resources:
- name: transactional
path: "/profileAndServicesExt/transactionalEmail"
operations:
- name: send-transactional
method: POST
- type: http
namespace: gsheets
baseUri: "https://sheets.googleapis.com/v4/spreadsheets"
authentication:
type: bearer
token: "$secrets.google_sheets_token"
resources:
- name: values
path: "/{{spreadsheet_id}}/values/{{range}}:append"
inputParameters:
- name: spreadsheet_id
in: path
- name: range
in: path
operations:
- name: append-row
method: POST
Collects access entitlements, routes for review, revokes expired access, and creates audit records.
naftiko: "0.5"
info:
label: "Access Review Certification Pipeline"
description: "Collects access entitlements, routes for review, revokes expired access, and creates audit records."
tags:
- security
- okta
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: security
port: 8080
tools:
- name: access_review_certification_pipeline
description: "Orchestrate access review certification pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-okta
type: call
call: "okta.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-okta.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Access Review Certification Pipeline step 3 complete."
consumes:
- type: http
namespace: okta
baseUri: "https://american-eagle-outfitters.okta.com/api/v1"
authentication:
type: apiKey
key: "$secrets.okta_api_token"
header: "Authorization"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: okta-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Pulls conversion funnel data from Adobe Analytics for the AEO e-commerce site including add-to-cart, checkout initiation, and purchase completion rates.
naftiko: "0.5"
info:
label: "Adobe Analytics Conversion Funnel"
description: "Pulls conversion funnel data from Adobe Analytics for the AEO e-commerce site including add-to-cart, checkout initiation, and purchase completion rates."
tags:
- analytics
- e-commerce
- adobe-analytics
capability:
exposes:
- type: mcp
namespace: web-analytics
port: 8080
tools:
- name: get-conversion-funnel
description: "Retrieve e-commerce conversion funnel metrics from Adobe Analytics."
inputParameters:
- name: report_suite_id
in: body
type: string
description: "Adobe Analytics report suite ID."
- name: date_range
in: body
type: string
description: "Date range in YYYY-MM-DD/YYYY-MM-DD format."
call: "adobe-analytics.get-report"
with:
rsid: "{{report_suite_id}}"
date_range: "{{date_range}}"
metrics: "cartAdditions,checkoutInitiations,orders"
outputParameters:
- name: cart_additions
type: number
mapping: "$.report.data.totals[0]"
- name: checkout_initiations
type: number
mapping: "$.report.data.totals[1]"
- name: orders
type: number
mapping: "$.report.data.totals[2]"
consumes:
- type: http
namespace: adobe-analytics
baseUri: "https://analytics.adobe.io/api/ae-outfitters"
authentication:
type: bearer
token: "$secrets.adobe_analytics_token"
inputParameters:
- name: x-api-key
in: header
value: "$secrets.adobe_api_key"
resources:
- name: reports
path: "/reports"
operations:
- name: get-report
method: POST
Pulls engagement metrics for the Aerie sub-brand Instagram account and compares them against the main AEO account, posting a weekly comparison to the brand team Teams channel.
naftiko: "0.5"
info:
label: "Aerie Brand Instagram Performance Tracker"
description: "Pulls engagement metrics for the Aerie sub-brand Instagram account and compares them against the main AEO account, posting a weekly comparison to the brand team Teams channel."
tags:
- marketing
- social-media
- instagram
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: brand-social
port: 8080
tools:
- name: compare-brand-engagement
description: "Compare Instagram engagement between the AEO and Aerie accounts and report to the brand team."
inputParameters:
- name: period
in: body
type: string
description: "Reporting period."
steps:
- name: get-aeo-metrics
type: call
call: "instagram.get-account-insights"
with:
account_id: "aeo_main"
period: "{{period}}"
- name: get-aerie-metrics
type: call
call: "instagram.get-account-insights"
with:
account_id: "aerie_official"
period: "{{period}}"
- name: post-comparison
type: call
call: "msteams.send-message"
with:
channel_id: "brand_team"
text: "Weekly IG comparison: AEO reach {{get-aeo-metrics.reach}}, engagement {{get-aeo-metrics.engagement}}. Aerie reach {{get-aerie-metrics.reach}}, engagement {{get-aerie-metrics.engagement}}."
consumes:
- type: http
namespace: instagram
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.instagram_token"
resources:
- name: insights
path: "/{{account_id}}/insights"
inputParameters:
- name: account_id
in: path
operations:
- name: get-account-insights
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: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves the Real Rewards loyalty points balance and tier status for a customer from the Salesforce loyalty module.
naftiko: "0.5"
info:
label: "Aerie Loyalty Points Balance"
description: "Retrieves the Real Rewards loyalty points balance and tier status for a customer from the Salesforce loyalty module."
tags:
- retail
- loyalty
- salesforce
- customer-service
capability:
exposes:
- type: mcp
namespace: loyalty
port: 8080
tools:
- name: get-rewards-balance
description: "Look up a Real Rewards member loyalty balance and tier by contact ID."
inputParameters:
- name: contact_id
in: body
type: string
description: "Salesforce contact ID."
call: "salesforce.get-loyalty"
with:
contact_id: "{{contact_id}}"
outputParameters:
- name: points_balance
type: number
mapping: "$.Loyalty_Points__c"
- name: tier
type: string
mapping: "$.Loyalty_Tier__c"
- name: rewards_available
type: number
mapping: "$.Available_Rewards__c"
consumes:
- type: http
namespace: salesforce
baseUri: "https://ae.my.salesforce.com/services/data/v59.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: loyalty
path: "/sobjects/Contact/{{contact_id}}?fields=Loyalty_Points__c,Loyalty_Tier__c,Available_Rewards__c"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-loyalty
method: GET
Retrieves current monitoring alert status. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Alert Status Check"
description: "Retrieves current monitoring alert status. Used by American Eagle Outfitters teams."
tags:
- retail
- grafana
capability:
exposes:
- type: mcp
namespace: grafana
port: 8080
tools:
- name: get-alert_status_check
description: "Retrieves current monitoring alert status. Used by American Eagle Outfitters teams."
inputParameters:
- name: alert_id
in: body
type: string
description: "The alert_id to look up."
call: "grafana.get-alert_id"
with:
alert_id: "{{alert_id}}"
consumes:
- type: http
namespace: grafana
baseUri: "https://american-eagle-outfitters-grafana.com/api"
authentication:
type: bearer
token: "$secrets.grafana_api_key"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_alert_status_check
method: GET
Checks availability of an API endpoint. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters API Endpoint Status"
description: "Checks availability of an API endpoint. Used by American Eagle Outfitters teams."
tags:
- retail
- slack
capability:
exposes:
- type: mcp
namespace: slack
port: 8080
tools:
- name: get-api_endpoint_status
description: "Checks availability of an API endpoint. Used by American Eagle Outfitters teams."
inputParameters:
- name: endpoint_url
in: body
type: string
description: "The endpoint_url to look up."
call: "slack.get-endpoint_url"
with:
endpoint_url: "{{endpoint_url}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_api_endpoint_status
method: GET
Retrieves compliance check status. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Compliance Check Status"
description: "Retrieves compliance check status. Used by American Eagle Outfitters teams."
tags:
- retail
- zendesk
capability:
exposes:
- type: mcp
namespace: zendesk
port: 8080
tools:
- name: get-compliance_check_status
description: "Retrieves compliance check status. Used by American Eagle Outfitters teams."
inputParameters:
- name: check_id
in: body
type: string
description: "The check_id to look up."
call: "zendesk.get-check_id"
with:
check_id: "{{check_id}}"
consumes:
- type: http
namespace: zendesk
baseUri: "https://american-eagle-outfitters.zendesk.com/api/v2"
authentication:
type: bearer
token: "$secrets.zendesk_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_compliance_check_stat
method: GET
Queries cost and spending data. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Cost Report Query"
description: "Queries cost and spending data. Used by American Eagle Outfitters teams."
tags:
- retail
- stripe
capability:
exposes:
- type: mcp
namespace: stripe
port: 8080
tools:
- name: get-cost_report_query
description: "Queries cost and spending data. Used by American Eagle Outfitters teams."
inputParameters:
- name: cost_center
in: body
type: string
description: "The cost_center to look up."
call: "stripe.get-cost_center"
with:
cost_center: "{{cost_center}}"
consumes:
- type: http
namespace: stripe
baseUri: "https://api.stripe.com/v1"
authentication:
type: bearer
token: "$secrets.stripe_secret_key"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_cost_report_query
method: GET
Analyzes customer behavior, predicts churn risk, triggers retention campaigns, and tracks results.
naftiko: "0.5"
info:
label: "Customer Churn Prediction Pipeline"
description: "Analyzes customer behavior, predicts churn risk, triggers retention campaigns, and tracks results."
tags:
- analytics
- snowflake
- hubspot
- slack
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: american_customer_churn_prediction_pipel
description: "Orchestrate customer churn prediction pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-hubspot
type: call
call: "hubspot.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Customer Churn Prediction Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: hubspot-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Executes a read-only analytics query. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Database Query Runner"
description: "Executes a read-only analytics query. Used by American Eagle Outfitters teams."
tags:
- retail
- confluence
capability:
exposes:
- type: mcp
namespace: confluence
port: 8080
tools:
- name: get-database_query_runner
description: "Executes a read-only analytics query. Used by American Eagle Outfitters teams."
inputParameters:
- name: sql_query
in: body
type: string
description: "The sql_query to look up."
call: "confluence.get-sql_query"
with:
sql_query: "{{sql_query}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://american-eagle-outfitters.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_database_query_runner
method: GET
Checks status of a recent deployment. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Deployment Status Check"
description: "Checks status of a recent deployment. Used by American Eagle Outfitters teams."
tags:
- retail
- elasticsearch
capability:
exposes:
- type: mcp
namespace: elasticsearc
port: 8080
tools:
- name: get-deployment_status_check
description: "Checks status of a recent deployment. Used by American Eagle Outfitters teams."
inputParameters:
- name: deployment_id
in: body
type: string
description: "The deployment_id to look up."
call: "elasticsearch.get-deployment_id"
with:
deployment_id: "{{deployment_id}}"
consumes:
- type: http
namespace: elasticsearch
baseUri: "https://american-eagle-outfitters-es.com:9200"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_deployment_status_che
method: GET
Retrieves a document from knowledge management. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Document Retrieval"
description: "Retrieves a document from knowledge management. Used by American Eagle Outfitters teams."
tags:
- retail
- hubspot
capability:
exposes:
- type: mcp
namespace: hubspot
port: 8080
tools:
- name: get-document_retrieval
description: "Retrieves a document from knowledge management. Used by American Eagle Outfitters teams."
inputParameters:
- name: document_id
in: body
type: string
description: "The document_id to look up."
call: "hubspot.get-document_id"
with:
document_id: "{{document_id}}"
consumes:
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_document_retrieval
method: GET
Provisions new employee accounts, assigns training, creates IT tickets, and notifies managers.
naftiko: "0.5"
info:
label: "Employee Onboarding Automation Pipeline"
description: "Provisions new employee accounts, assigns training, creates IT tickets, and notifies managers."
tags:
- hr
- workday
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: american_employee_onboarding_automation
description: "Orchestrate employee onboarding automation pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-salesforce
type: call
call: "salesforce.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-salesforce.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Employee Onboarding Automation Pipeline step 3 complete."
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Queries metric values from a monitoring dashboard. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Metric Dashboard Query"
description: "Queries metric values from a monitoring dashboard. Used by American Eagle Outfitters teams."
tags:
- retail
- jira
capability:
exposes:
- type: mcp
namespace: jira
port: 8080
tools:
- name: get-metric_dashboard_query
description: "Queries metric values from a monitoring dashboard. Used by American Eagle Outfitters teams."
inputParameters:
- name: metric_name
in: body
type: string
description: "The metric_name to look up."
call: "jira.get-metric_name"
with:
metric_name: "{{metric_name}}"
consumes:
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_jira_metric_dashboard
method: GET
Searches application logs for matching patterns. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Log Search Query"
description: "Searches application logs for matching patterns. Used by American Eagle Outfitters teams."
tags:
- retail
- servicenow
capability:
exposes:
- type: mcp
namespace: servicenow
port: 8080
tools:
- name: get-log_search_query
description: "Searches application logs for matching patterns. Used by American Eagle Outfitters teams."
inputParameters:
- name: search_query
in: body
type: string
description: "The search_query to look up."
call: "servicenow.get-search_query"
with:
search_query: "{{search_query}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_log_search_query
method: GET
Queries metric values from a monitoring dashboard. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Metric Dashboard Query"
description: "Queries metric values from a monitoring dashboard. Used by American Eagle Outfitters teams."
tags:
- retail
- jira
capability:
exposes:
- type: mcp
namespace: jira
port: 8080
tools:
- name: get-metric_dashboard_query
description: "Queries metric values from a monitoring dashboard. Used by American Eagle Outfitters teams."
inputParameters:
- name: metric_name
in: body
type: string
description: "The metric_name to look up."
call: "jira.get-metric_name"
with:
metric_name: "{{metric_name}}"
consumes:
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_metric_dashboard_quer
method: GET
Synchronizes inventory across channels, resolves discrepancies, and updates all systems.
naftiko: "0.5"
info:
label: "Omnichannel Inventory Sync Pipeline"
description: "Synchronizes inventory across channels, resolves discrepancies, and updates all systems."
tags:
- inventory
- salesforce
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: inventory
port: 8080
tools:
- name: american_omnichannel_inventory_sync_pipe
description: "Orchestrate omnichannel inventory sync pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-salesforce
type: call
call: "salesforce.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-salesforce.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Omnichannel Inventory Sync Pipeline step 3 complete."
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Checks the current status of a project. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Project Status Check"
description: "Checks the current status of a project. Used by American Eagle Outfitters teams."
tags:
- retail
- datadog
capability:
exposes:
- type: mcp
namespace: datadog
port: 8080
tools:
- name: get-project_status_check
description: "Checks the current status of a project. Used by American Eagle Outfitters teams."
inputParameters:
- name: project_key
in: body
type: string
description: "The project_key to look up."
call: "datadog.get-project_key"
with:
project_key: "{{project_key}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
header: "DD-API-KEY"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_project_status_check
method: GET
Retrieves code repository information. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Repository Info Lookup"
description: "Retrieves code repository information. Used by American Eagle Outfitters teams."
tags:
- retail
- okta
capability:
exposes:
- type: mcp
namespace: okta
port: 8080
tools:
- name: get-repository_info_lookup
description: "Retrieves code repository information. Used by American Eagle Outfitters teams."
inputParameters:
- name: repo_name
in: body
type: string
description: "The repo_name to look up."
call: "okta.get-repo_name"
with:
repo_name: "{{repo_name}}"
consumes:
- type: http
namespace: okta
baseUri: "https://american-eagle-outfitters.okta.com/api/v1"
authentication:
type: apiKey
key: "$secrets.okta_api_token"
header: "Authorization"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_repository_info_looku
method: GET
Checks the health status of a monitored service. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Service Health Check"
description: "Checks the health status of a monitored service. Used by American Eagle Outfitters teams."
tags:
- retail
- salesforce
capability:
exposes:
- type: mcp
namespace: salesforce
port: 8080
tools:
- name: get-service_health_check
description: "Checks the health status of a monitored service. Used by American Eagle Outfitters teams."
inputParameters:
- name: health_target
in: body
type: string
description: "The health_target to look up."
call: "salesforce.get-health_target"
with:
health_target: "{{health_target}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_salesforce_service_he
method: GET
Runs demand forecast models, generates buy recommendations, and distributes to merchandising teams.
naftiko: "0.5"
info:
label: "Seasonal Demand Forecasting Pipeline"
description: "Runs demand forecast models, generates buy recommendations, and distributes to merchandising teams."
tags:
- planning
- snowflake
- powerbi
- slack
capability:
exposes:
- type: mcp
namespace: planning
port: 8080
tools:
- name: american_seasonal_demand_forecasting_pip
description: "Orchestrate seasonal demand forecasting pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-powerbi
type: call
call: "powerbi.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Seasonal Demand Forecasting Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: powerbi-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Detects security incidents, enriches with context, creates response tickets, and notifies the SOC.
naftiko: "0.5"
info:
label: "Security Incident Response Pipeline"
description: "Detects security incidents, enriches with context, creates response tickets, and notifies the SOC."
tags:
- security
- splunk
- servicenow
- pagerduty
capability:
exposes:
- type: mcp
namespace: security
port: 8080
tools:
- name: american_security_incident_response_pipe
description: "Orchestrate security incident response pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-salesforce
type: call
call: "salesforce.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-salesforce.result}}"
- name: create-jira
type: call
call: "jira.create-resource"
with:
channel: "{{notification_channel}}"
text: "Security Incident Response Pipeline step 3 complete."
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: jira-op
method: POST
Retrieves vulnerability scan results. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Security Scan Results"
description: "Retrieves vulnerability scan results. Used by American Eagle Outfitters teams."
tags:
- retail
- github
capability:
exposes:
- type: mcp
namespace: github
port: 8080
tools:
- name: get-security_scan_results
description: "Retrieves vulnerability scan results. Used by American Eagle Outfitters teams."
inputParameters:
- name: scan_id
in: body
type: string
description: "The scan_id to look up."
call: "github.get-scan_id"
with:
scan_id: "{{scan_id}}"
consumes:
- type: http
namespace: github
baseUri: "https://api.github.com"
authentication:
type: bearer
token: "$secrets.github_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_security_scan_results
method: GET
Checks the health status of a monitored service. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Service Health Check"
description: "Checks the health status of a monitored service. Used by American Eagle Outfitters teams."
tags:
- retail
- salesforce
capability:
exposes:
- type: mcp
namespace: salesforce
port: 8080
tools:
- name: get-service_health_check
description: "Checks the health status of a monitored service. Used by American Eagle Outfitters teams."
inputParameters:
- name: health_target
in: body
type: string
description: "The health_target to look up."
call: "salesforce.get-health_target"
with:
health_target: "{{health_target}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_service_health_check
method: GET
Searches application logs for matching patterns. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Log Search Query"
description: "Searches application logs for matching patterns. Used by American Eagle Outfitters teams."
tags:
- retail
- servicenow
capability:
exposes:
- type: mcp
namespace: servicenow
port: 8080
tools:
- name: get-log_search_query
description: "Searches application logs for matching patterns. Used by American Eagle Outfitters teams."
inputParameters:
- name: search_query
in: body
type: string
description: "The search_query to look up."
call: "servicenow.get-search_query"
with:
search_query: "{{search_query}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_servicenow_log_search
method: GET
Compares store metrics against benchmarks, identifies top and bottom performers, and distributes reports.
naftiko: "0.5"
info:
label: "Store Performance Benchmark Pipeline"
description: "Compares store metrics against benchmarks, identifies top and bottom performers, and distributes reports."
tags:
- analytics
- snowflake
- powerbi
- slack
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: american_store_performance_benchmark_pip
description: "Orchestrate store performance benchmark pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-powerbi
type: call
call: "powerbi.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Store Performance Benchmark Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: powerbi-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Retrieves the details of a support ticket. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters Ticket Details Lookup"
description: "Retrieves the details of a support ticket. Used by American Eagle Outfitters teams."
tags:
- retail
- powerbi
capability:
exposes:
- type: mcp
namespace: powerbi
port: 8080
tools:
- name: get-ticket_details_lookup
description: "Retrieves the details of a support ticket. Used by American Eagle Outfitters teams."
inputParameters:
- name: ticket_id
in: body
type: string
description: "The ticket_id to look up."
call: "powerbi.get-ticket_id"
with:
ticket_id: "{{ticket_id}}"
consumes:
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_ticket_details_lookup
method: GET
Retrieves user account details from the directory. Used by American Eagle Outfitters teams.
naftiko: "0.5"
info:
label: "American Eagle Outfitters User Account Lookup"
description: "Retrieves user account details from the directory. Used by American Eagle Outfitters teams."
tags:
- retail
- snowflake
capability:
exposes:
- type: mcp
namespace: snowflake
port: 8080
tools:
- name: get-user_account_lookup
description: "Retrieves user account details from the directory. Used by American Eagle Outfitters teams."
inputParameters:
- name: user_id
in: body
type: string
description: "The user_id to look up."
call: "snowflake.get-user_id"
with:
user_id: "{{user_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: american_user_account_lookup
method: GET
Reconciles vendor invoices with POs, flags discrepancies, processes payments, and sends remittances.
naftiko: "0.5"
info:
label: "Vendor Payment Reconciliation Pipeline"
description: "Reconciles vendor invoices with POs, flags discrepancies, processes payments, and sends remittances."
tags:
- finance
- servicenow
- salesforce
- slack
capability:
exposes:
- type: mcp
namespace: finance
port: 8080
tools:
- name: american_vendor_payment_reconciliation_p
description: "Orchestrate vendor payment reconciliation pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-servicenow
type: call
call: "servicenow.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-salesforce
type: call
call: "salesforce.process-resource"
with:
data: "{{get-servicenow.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Vendor Payment Reconciliation Pipeline step 3 complete."
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Identifies deprecated API consumers, sends migration notices, tracks adoption, and reports progress.
naftiko: "0.5"
info:
label: "API Deprecation Notice Pipeline"
description: "Identifies deprecated API consumers, sends migration notices, tracks adoption, and reports progress."
tags:
- engineering
- datadog
- jira
- slack
capability:
exposes:
- type: mcp
namespace: engineering
port: 8080
tools:
- name: api_deprecation_notice_pipeline
description: "Orchestrate api deprecation notice pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-datadog
type: call
call: "datadog.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-jira
type: call
call: "jira.process-resource"
with:
data: "{{get-datadog.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "API Deprecation Notice Pipeline step 3 complete."
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
header: "DD-API-KEY"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: datadog-op
method: POST
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: jira-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Retrieves the latest build status for an Azure DevOps pipeline used by the AEO digital team.
naftiko: "0.5"
info:
label: "Azure DevOps Build Status Checker"
description: "Retrieves the latest build status for an Azure DevOps pipeline used by the AEO digital team."
tags:
- devops
- ci-cd
- azure-devops
capability:
exposes:
- type: mcp
namespace: cicd
port: 8080
tools:
- name: get-build-status
description: "Check the latest build status for an Azure DevOps pipeline."
inputParameters:
- name: pipeline_id
in: body
type: string
description: "Azure DevOps pipeline ID."
call: "azdo.get-latest-build"
with:
pipeline_id: "{{pipeline_id}}"
outputParameters:
- name: build_number
type: string
mapping: "$.value[0].buildNumber"
- name: result
type: string
mapping: "$.value[0].result"
- name: finish_time
type: string
mapping: "$.value[0].finishTime"
consumes:
- type: http
namespace: azdo
baseUri: "https://dev.azure.com/ae-outfitters/DigitalCommerce/_apis/build"
authentication:
type: basic
username: ""
password: "$secrets.azdo_pat"
resources:
- name: builds
path: "/builds?definitions={{pipeline_id}}&$top=1&api-version=7.0"
inputParameters:
- name: pipeline_id
in: path
operations:
- name: get-latest-build
method: GET
Retrieves the current status, shipping details, and payment status for a BigCommerce order by order ID.
naftiko: "0.5"
info:
label: "BigCommerce Order Status Lookup"
description: "Retrieves the current status, shipping details, and payment status for a BigCommerce order by order ID."
tags:
- retail
- e-commerce
- bigcommerce
- order-status
capability:
exposes:
- type: mcp
namespace: order-tracking
port: 8080
tools:
- name: get-order-status
description: "Look up a BigCommerce order and return its fulfillment and payment status."
inputParameters:
- name: order_id
in: body
type: string
description: "BigCommerce order ID."
call: "bigcommerce.get-order"
with:
order_id: "{{order_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: shipping_method
type: string
mapping: "$.shipping_addresses[0].shipping_method"
- name: payment_status
type: string
mapping: "$.payment_status"
- name: total
type: number
mapping: "$.total_inc_tax"
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v2"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order
method: GET
Searches the AEO BigCommerce product catalog by keyword and returns matching products with pricing and availability.
naftiko: "0.5"
info:
label: "BigCommerce Product Search"
description: "Searches the AEO BigCommerce product catalog by keyword and returns matching products with pricing and availability."
tags:
- retail
- e-commerce
- bigcommerce
capability:
exposes:
- type: mcp
namespace: catalog
port: 8080
tools:
- name: search-products
description: "Search the AEO product catalog by keyword."
inputParameters:
- name: query
in: body
type: string
description: "Search keyword."
call: "bigcommerce.search-products"
with:
keyword: "{{query}}"
outputParameters:
- name: products
type: array
mapping: "$.data"
- name: total
type: number
mapping: "$.meta.pagination.total"
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v3"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: products
path: "/catalog/products?keyword={{keyword}}"
inputParameters:
- name: keyword
in: path
operations:
- name: search-products
method: GET
Analyzes resource utilization trends, forecasts capacity needs, creates procurement requests, and reports.
naftiko: "0.5"
info:
label: "Capacity Planning Forecast Pipeline"
description: "Analyzes resource utilization trends, forecasts capacity needs, creates procurement requests, and reports."
tags:
- infrastructure
- grafana
- snowflake
- powerbi
capability:
exposes:
- type: mcp
namespace: infrastructure
port: 8080
tools:
- name: capacity_planning_forecast_pipeline
description: "Orchestrate capacity planning forecast pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-grafana
type: call
call: "grafana.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-snowflake
type: call
call: "snowflake.process-resource"
with:
data: "{{get-grafana.result}}"
- name: create-powerbi
type: call
call: "powerbi.create-resource"
with:
channel: "{{notification_channel}}"
text: "Capacity Planning Forecast Pipeline step 3 complete."
consumes:
- type: http
namespace: grafana
baseUri: "https://american-eagle-outfitters-grafana.com/api"
authentication:
type: bearer
token: "$secrets.grafana_api_key"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: grafana-op
method: POST
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: powerbi-op
method: POST
Validates change requests, routes for approval, schedules implementation, and notifies stakeholders.
naftiko: "0.5"
info:
label: "Change Management Approval Pipeline"
description: "Validates change requests, routes for approval, schedules implementation, and notifies stakeholders."
tags:
- itsm
- servicenow
- jira
- slack
capability:
exposes:
- type: mcp
namespace: itsm
port: 8080
tools:
- name: change_management_approval_pipeline
description: "Orchestrate change management approval pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-servicenow
type: call
call: "servicenow.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-jira
type: call
call: "jira.process-resource"
with:
data: "{{get-servicenow.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Change Management Approval Pipeline step 3 complete."
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: jira-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Pulls market share and competitive data from Circana for the teen apparel category and returns AEO position and trend.
naftiko: "0.5"
info:
label: "Circana Market Share Report"
description: "Pulls market share and competitive data from Circana for the teen apparel category and returns AEO position and trend."
tags:
- analytics
- market-research
- circana
capability:
exposes:
- type: mcp
namespace: market-intelligence
port: 8080
tools:
- name: get-market-share
description: "Retrieve market share data for AEO from Circana in the teen apparel category."
inputParameters:
- name: category
in: body
type: string
description: "Product category."
- name: time_period
in: body
type: string
description: "Reporting time period."
call: "circana.get-market-report"
with:
category: "{{category}}"
time_period: "{{time_period}}"
brand: "American Eagle Outfitters"
outputParameters:
- name: market_share_pct
type: number
mapping: "$.brand_data.market_share"
- name: rank
type: number
mapping: "$.brand_data.rank"
- name: trend
type: string
mapping: "$.brand_data.trend_direction"
consumes:
- type: http
namespace: circana
baseUri: "https://api.circana.com/v2"
authentication:
type: bearer
token: "$secrets.circana_token"
resources:
- name: market-reports
path: "/reports/market-share"
operations:
- name: get-market-report
method: POST
Collects audit events, validates against policies, generates compliance reports, and notifies auditors.
naftiko: "0.5"
info:
label: "Compliance Audit Trail Pipeline"
description: "Collects audit events, validates against policies, generates compliance reports, and notifies auditors."
tags:
- compliance
- elasticsearch
- confluence
- slack
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: compliance_audit_trail_pipeline
description: "Orchestrate compliance audit trail pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-elasticsearch
type: call
call: "elasticsearch.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-confluence
type: call
call: "confluence.process-resource"
with:
data: "{{get-elasticsearch.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Compliance Audit Trail Pipeline step 3 complete."
consumes:
- type: http
namespace: elasticsearch
baseUri: "https://american-eagle-outfitters-es.com:9200"
authentication:
type: bearer
token: "$secrets.elasticsearch_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: elasticsearch-op
method: POST
- type: http
namespace: confluence
baseUri: "https://american-eagle-outfitters.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: confluence-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Searches Confluence for knowledge base articles by keyword and returns matching results with page links.
naftiko: "0.5"
info:
label: "Confluence Knowledge Article Lookup"
description: "Searches Confluence for knowledge base articles by keyword and returns matching results with page links."
tags:
- collaboration
- confluence
- knowledge-management
capability:
exposes:
- type: mcp
namespace: knowledge-base
port: 8080
tools:
- name: search-articles
description: "Search Confluence for knowledge base articles."
inputParameters:
- name: query
in: body
type: string
description: "Search query."
call: "confluence.search"
with:
cql: "text ~ \"{{query}}\" and space = KB"
outputParameters:
- name: results
type: array
mapping: "$.results"
- name: total
type: number
mapping: "$.totalSize"
consumes:
- type: http
namespace: confluence
baseUri: "https://ae-outfitters.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: search
path: "/search"
operations:
- name: search
method: GET
Tracks spending against budgets, forecasts overruns, creates alerts, and notifies finance leaders.
naftiko: "0.5"
info:
label: "Cost Center Budget Tracking Pipeline"
description: "Tracks spending against budgets, forecasts overruns, creates alerts, and notifies finance leaders."
tags:
- finance
- snowflake
- powerbi
- slack
capability:
exposes:
- type: mcp
namespace: finance
port: 8080
tools:
- name: cost_center_budget_tracking
description: "Orchestrate cost center budget tracking pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-powerbi
type: call
call: "powerbi.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Cost Center Budget Tracking Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: powerbi-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Aggregates customer data from multiple sources, deduplicates, enriches profiles, and syncs to CRM.
naftiko: "0.5"
info:
label: "Customer 360 Data Sync Pipeline"
description: "Aggregates customer data from multiple sources, deduplicates, enriches profiles, and syncs to CRM."
tags:
- data
- snowflake
- salesforce
- slack
capability:
exposes:
- type: mcp
namespace: data
port: 8080
tools:
- name: customer_360_data_sync_pipeline
description: "Orchestrate customer 360 data sync pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-salesforce
type: call
call: "salesforce.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Customer 360 Data Sync Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Analyzes customer behavior, predicts churn risk, triggers retention campaigns, and tracks results.
naftiko: "0.5"
info:
label: "Customer Churn Prediction Pipeline"
description: "Analyzes customer behavior, predicts churn risk, triggers retention campaigns, and tracks results."
tags:
- analytics
- snowflake
- hubspot
- slack
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: customer_churn_prediction_pipeline
description: "Orchestrate customer churn prediction pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-hubspot
type: call
call: "hubspot.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Customer Churn Prediction Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: hubspot-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
When a return is requested, validates the order in BigCommerce, creates a return merchandise authorization, updates projected inventory, and sends the customer a return label via Adobe Campaign.
naftiko: "0.5"
info:
label: "Customer Return Authorization Processor"
description: "When a return is requested, validates the order in BigCommerce, creates a return merchandise authorization, updates projected inventory, and sends the customer a return label via Adobe Campaign."
tags:
- retail
- returns
- bigcommerce
- adobe-campaign
capability:
exposes:
- type: mcp
namespace: returns
port: 8080
tools:
- name: process-return
description: "Process a customer return request across order, inventory, and communications systems."
inputParameters:
- name: order_id
in: body
type: string
description: "BigCommerce order ID."
- name: reason
in: body
type: string
description: "Return reason."
- name: customer_email
in: body
type: string
description: "Customer email."
steps:
- name: get-order
type: call
call: "bigcommerce.get-order"
with:
order_id: "{{order_id}}"
- name: create-rma
type: call
call: "oms.create-rma"
with:
order_id: "{{order_id}}"
reason: "{{reason}}"
- name: adjust-inventory
type: call
call: "wms.adjust-projected"
with:
sku: "{{get-order.products[0].sku}}"
adjustment: 1
- name: send-label
type: call
call: "adobe-campaign.send-transactional"
with:
template: "return_label"
recipient_email: "{{customer_email}}"
rma_number: "{{create-rma.rma_number}}"
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v2"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order
method: GET
- type: http
namespace: oms
baseUri: "https://oms.ae.com/api/v2"
authentication:
type: bearer
token: "$secrets.oms_token"
resources:
- name: returns
path: "/returns"
operations:
- name: create-rma
method: POST
- type: http
namespace: wms
baseUri: "https://wms.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.wms_token"
resources:
- name: inventory
path: "/inventory/adjust"
operations:
- name: adjust-projected
method: POST
- type: http
namespace: adobe-campaign
baseUri: "https://mc.adobe.io/ae-outfitters/campaign"
authentication:
type: bearer
token: "$secrets.adobe_campaign_token"
resources:
- name: transactional
path: "/profileAndServicesExt/transactionalEmail"
operations:
- name: send-transactional
method: POST
Creates a ServiceNow incident for a customer complaint, attaches the order context from BigCommerce, and notifies the support team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Customer Support Ticket Pipeline"
description: "Creates a ServiceNow incident for a customer complaint, attaches the order context from BigCommerce, and notifies the support team in Microsoft Teams."
tags:
- customer-service
- servicenow
- bigcommerce
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: customer-support
port: 8080
tools:
- name: create-support-ticket
description: "Open a support incident with order context and notify the team."
inputParameters:
- name: order_id
in: body
type: string
description: "BigCommerce order ID."
- name: customer_email
in: body
type: string
description: "Customer email."
- name: issue
in: body
type: string
description: "Issue description."
steps:
- name: get-order
type: call
call: "bigcommerce.get-order"
with:
order_id: "{{order_id}}"
- name: create-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Customer issue: order {{order_id}}"
description: "{{issue}} | Total: {{get-order.total_inc_tax}} | Customer: {{customer_email}}"
category: "customer_service"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "cs_team"
text: "New ticket {{create-incident.number}} for order {{order_id}}."
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v2"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order
method: GET
- type: http
namespace: servicenow
baseUri: "https://ae.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: channel_id
in: path
operations:
- name: send-message
method: POST
Runs data quality checks, scores datasets, creates remediation tickets, and publishes scorecards.
naftiko: "0.5"
info:
label: "Data Quality Monitoring Pipeline"
description: "Runs data quality checks, scores datasets, creates remediation tickets, and publishes scorecards."
tags:
- data-quality
- snowflake
- jira
- grafana
capability:
exposes:
- type: mcp
namespace: data-quality
port: 8080
tools:
- name: data_quality_monitoring_pipeline
description: "Orchestrate data quality monitoring pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-jira
type: call
call: "jira.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-grafana
type: call
call: "grafana.create-resource"
with:
channel: "{{notification_channel}}"
text: "Data Quality Monitoring Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: jira-op
method: POST
- type: http
namespace: grafana
baseUri: "https://american-eagle-outfitters-grafana.com/api"
authentication:
type: bearer
token: "$secrets.grafana_api_key"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: grafana-op
method: POST
Queries Datadog for the current health status of AEO critical services including the e-commerce platform, payment gateway, and inventory system.
naftiko: "0.5"
info:
label: "Datadog Application Health Monitor"
description: "Queries Datadog for the current health status of AEO critical services including the e-commerce platform, payment gateway, and inventory system."
tags:
- monitoring
- devops
- datadog
capability:
exposes:
- type: mcp
namespace: app-health
port: 8080
tools:
- name: get-service-health
description: "Retrieve health status for AEO critical services from Datadog."
inputParameters:
- name: service_name
in: body
type: string
description: "Service name to check."
call: "datadog.get-service-status"
with:
service_name: "{{service_name}}"
outputParameters:
- name: status
type: string
mapping: "$.overall_state"
- name: uptime_pct
type: number
mapping: "$.uptime_percentage"
- name: last_incident
type: string
mapping: "$.last_incident_time"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apikey
key: "$secrets.datadog_api_key"
inputParameters:
- name: DD-APPLICATION-KEY
in: header
value: "$secrets.datadog_app_key"
resources:
- name: monitors
path: "/monitor/search?query=service:{{service_name}}"
inputParameters:
- name: service_name
in: path
operations:
- name: get-service-status
method: GET
Tests DR procedures, validates backup integrity, generates readiness reports, and notifies leadership.
naftiko: "0.5"
info:
label: "Disaster Recovery Readiness Pipeline"
description: "Tests DR procedures, validates backup integrity, generates readiness reports, and notifies leadership."
tags:
- disaster-recovery
- servicenow
- confluence
- pagerduty
capability:
exposes:
- type: mcp
namespace: disaster-recovery
port: 8080
tools:
- name: disaster_recovery_readiness_pipeline
description: "Orchestrate disaster recovery readiness pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-servicenow
type: call
call: "servicenow.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-confluence
type: call
call: "confluence.process-resource"
with:
data: "{{get-servicenow.result}}"
- name: create-jira
type: call
call: "jira.create-resource"
with:
channel: "{{notification_channel}}"
text: "Disaster Recovery Readiness Pipeline step 3 complete."
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: confluence
baseUri: "https://american-eagle-outfitters.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: confluence-op
method: POST
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: jira-op
method: POST
Queries Dynatrace for real-time performance metrics of the AEO e-commerce platform.
naftiko: "0.5"
info:
label: "Dynatrace Performance Monitor"
description: "Queries Dynatrace for real-time performance metrics of the AEO e-commerce platform."
tags:
- monitoring
- devops
- dynatrace
capability:
exposes:
- type: mcp
namespace: apm
port: 8080
tools:
- name: get-app-performance
description: "Retrieve application performance metrics from Dynatrace."
inputParameters:
- name: entity_id
in: body
type: string
description: "Dynatrace entity ID."
call: "dynatrace.get-entity-metrics"
with:
entity_id: "{{entity_id}}"
outputParameters:
- name: response_time
type: number
mapping: "$.dataPoints[0].values[0]"
- name: error_rate
type: number
mapping: "$.dataPoints[1].values[0]"
consumes:
- type: http
namespace: dynatrace
baseUri: "https://aeo.live.dynatrace.com/api/v2"
authentication:
type: bearer
token: "$secrets.dynatrace_token"
resources:
- name: metrics
path: "/metrics/query?entitySelector=entityId({{entity_id}})"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-entity-metrics
method: GET
Provisions new employee accounts, assigns training, creates IT tickets, and notifies managers.
naftiko: "0.5"
info:
label: "Employee Onboarding Automation Pipeline"
description: "Provisions new employee accounts, assigns training, creates IT tickets, and notifies managers."
tags:
- hr
- workday
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: employee_onboarding_automation
description: "Orchestrate employee onboarding automation pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-salesforce
type: call
call: "salesforce.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-salesforce.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Employee Onboarding Automation Pipeline step 3 complete."
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
When a new associate is hired in PeopleSoft, provisions a SharePoint folder for training documents, creates a ServiceNow onboarding ticket, and sends a welcome message via Microsoft Teams.
naftiko: "0.5"
info:
label: "Employee Onboarding Pipeline"
description: "When a new associate is hired in PeopleSoft, provisions a SharePoint folder for training documents, creates a ServiceNow onboarding ticket, and sends a welcome message via Microsoft Teams."
tags:
- hr
- onboarding
- peoplesoft
- sharepoint
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: onboard-employee
description: "Run the full onboarding workflow for a new AEO employee across HR, IT, and collaboration systems."
inputParameters:
- name: employee_id
in: body
type: string
description: "PeopleSoft employee ID."
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: department
in: body
type: string
description: "Department name."
steps:
- name: get-employee
type: call
call: "peoplesoft.get-employee"
with:
employee_id: "{{employee_id}}"
- name: create-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "hr_onboarding"
folder_path: "Onboarding/{{get-employee.full_name}}_{{start_date}}"
- name: create-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "Onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
description: "New hire {{get-employee.full_name}} starting {{start_date}} in {{department}}."
- name: send-welcome
type: call
call: "msteams.send-message"
with:
channel_id: "new_hires"
text: "Welcome {{get-employee.first_name}} to AEO! Starting {{start_date}} in {{department}}. Onboarding ticket: {{create-ticket.number}}."
consumes:
- type: http
namespace: peoplesoft
baseUri: "https://hr.ae.com/psftrest/v1"
authentication:
type: basic
username: "$secrets.peoplesoft_user"
password: "$secrets.peoplesoft_password"
resources:
- name: employees
path: "/employees/{{employee_id}}"
inputParameters:
- name: employee_id
in: path
operations:
- name: get-employee
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}}"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
operations:
- name: create-folder
method: POST
- type: http
namespace: servicenow
baseUri: "https://ae.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: channel_id
in: path
operations:
- name: send-message
method: POST
Activates a flash sale by reserving inventory, applying temporary pricing in BigCommerce, scheduling push notifications, and alerting the e-commerce team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Flash Sale Activation Pipeline"
description: "Activates a flash sale by reserving inventory, applying temporary pricing in BigCommerce, scheduling push notifications, and alerting the e-commerce team via Microsoft Teams."
tags:
- retail
- flash-sale
- bigcommerce
- wms
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: flash-sales
port: 8080
tools:
- name: activate-flash-sale
description: "Reserve inventory, set sale prices, and notify all stakeholders for a flash sale."
inputParameters:
- name: sale_id
in: body
type: string
description: "Flash sale identifier."
- name: product_ids
in: body
type: array
description: "Product IDs in the sale."
- name: discount_pct
in: body
type: number
description: "Discount percentage."
steps:
- name: reserve-stock
type: call
call: "wms.reserve-inventory"
with:
sale_id: "{{sale_id}}"
product_ids: "{{product_ids}}"
- name: apply-pricing
type: call
call: "bigcommerce.apply-sale-pricing"
with:
product_ids: "{{product_ids}}"
discount_pct: "{{discount_pct}}"
- name: notify-ecom
type: call
call: "msteams.send-message"
with:
channel_id: "ecommerce"
text: "Flash sale {{sale_id}} LIVE: {{reserve-stock.reserved_count}} products at {{discount_pct}}% off."
consumes:
- type: http
namespace: wms
baseUri: "https://wms.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.wms_token"
resources:
- name: reservations
path: "/reservations"
operations:
- name: reserve-inventory
method: POST
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v3"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: pricing
path: "/pricelists"
operations:
- name: apply-sale-pricing
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: channel_id
in: path
operations:
- name: send-message
method: POST
Fetches website traffic metrics from Google Analytics for the AEO digital storefront including sessions, page views, and bounce rate.
naftiko: "0.5"
info:
label: "Google Analytics Traffic Dashboard"
description: "Fetches website traffic metrics from Google Analytics for the AEO digital storefront including sessions, page views, and bounce rate."
tags:
- analytics
- e-commerce
- google-analytics
capability:
exposes:
- type: mcp
namespace: ga-traffic
port: 8080
tools:
- name: get-site-traffic
description: "Retrieve key traffic metrics for the AEO website from Google Analytics."
inputParameters:
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD."
call: "ga.get-report"
with:
view_id: "aeo_web"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
metrics: "ga:sessions,ga:pageviews,ga:bounceRate"
outputParameters:
- name: sessions
type: number
mapping: "$.reports[0].data.totals[0].values[0]"
- name: page_views
type: number
mapping: "$.reports[0].data.totals[0].values[1]"
- name: bounce_rate
type: string
mapping: "$.reports[0].data.totals[0].values[2]"
consumes:
- type: http
namespace: ga
baseUri: "https://analyticsreporting.googleapis.com/v4"
authentication:
type: bearer
token: "$secrets.google_analytics_token"
resources:
- name: reports
path: "/reports:batchGet"
operations:
- name: get-report
method: POST
Finds the nearest AEO store locations based on a customer ZIP code using the Google Maps API.
naftiko: "0.5"
info:
label: "Google Maps Store Locator"
description: "Finds the nearest AEO store locations based on a customer ZIP code using the Google Maps API."
tags:
- retail
- google-maps
- store-locator
capability:
exposes:
- type: mcp
namespace: store-locator
port: 8080
tools:
- name: find-nearest-stores
description: "Find the nearest American Eagle stores by ZIP code."
inputParameters:
- name: zip_code
in: body
type: string
description: "Customer ZIP code."
- name: radius_miles
in: body
type: number
description: "Search radius."
call: "gmaps.search-places"
with:
query: "American Eagle Outfitters"
location: "{{zip_code}}"
radius: "{{radius_miles}}"
outputParameters:
- name: stores
type: array
mapping: "$.results"
consumes:
- type: http
namespace: gmaps
baseUri: "https://maps.googleapis.com/maps/api"
authentication:
type: apikey
key: "$secrets.google_maps_key"
resources:
- name: places
path: "/place/textsearch/json"
operations:
- name: search-places
method: GET
Retrieves A/B test results from Google Optimize for the AEO website and returns variant performance data.
naftiko: "0.5"
info:
label: "Google Optimize Experiment Results"
description: "Retrieves A/B test results from Google Optimize for the AEO website and returns variant performance data."
tags:
- analytics
- e-commerce
- google-optimize
capability:
exposes:
- type: mcp
namespace: experimentation
port: 8080
tools:
- name: get-experiment-results
description: "Fetch Google Optimize experiment variant performance."
inputParameters:
- name: experiment_id
in: body
type: string
description: "Google Optimize experiment ID."
call: "goptimize.get-experiment"
with:
experiment_id: "{{experiment_id}}"
outputParameters:
- name: variants
type: array
mapping: "$.experiment.variants"
- name: winning_variant
type: string
mapping: "$.experiment.leading_variant"
consumes:
- type: http
namespace: goptimize
baseUri: "https://www.googleapis.com/analytics/v3/management"
authentication:
type: bearer
token: "$secrets.google_optimize_token"
resources:
- name: experiments
path: "/accounts/{{account_id}}/webproperties/{{property_id}}/experiments/{{experiment_id}}"
inputParameters:
- name: experiment_id
in: path
operations:
- name: get-experiment
method: GET
Appends a row to a Google Sheets spreadsheet. Reusable logging building block.
naftiko: "0.5"
info:
label: "Google Sheets Row Logger"
description: "Appends a row to a Google Sheets spreadsheet. Reusable logging building block."
tags:
- productivity
- google-sheets
- logging
capability:
exposes:
- type: mcp
namespace: sheets-logger
port: 8080
tools:
- name: log-to-sheet
description: "Append a row of data to a Google Sheets spreadsheet."
inputParameters:
- name: spreadsheet_id
in: body
type: string
description: "Spreadsheet ID."
- name: range
in: body
type: string
description: "Sheet range."
- name: values
in: body
type: array
description: "Row values."
call: "gsheets.append-row"
with:
spreadsheet_id: "{{spreadsheet_id}}"
range: "{{range}}"
values: "{{values}}"
consumes:
- type: http
namespace: gsheets
baseUri: "https://sheets.googleapis.com/v4/spreadsheets"
authentication:
type: bearer
token: "$secrets.google_sheets_token"
resources:
- name: values
path: "/{{spreadsheet_id}}/values/{{range}}:append"
inputParameters:
- name: spreadsheet_id
in: path
- name: range
in: path
operations:
- name: append-row
method: POST
Publishes a new version of the Google Tag Manager container for the AEO web property after review approval and notifies the web team.
naftiko: "0.5"
info:
label: "Google Tag Manager Container Version Publisher"
description: "Publishes a new version of the Google Tag Manager container for the AEO web property after review approval and notifies the web team."
tags:
- analytics
- google-tag-manager
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: tag-management
port: 8080
tools:
- name: publish-gtm-version
description: "Publish a GTM container version and notify the web team."
inputParameters:
- name: container_id
in: body
type: string
description: "GTM container ID."
- name: version_id
in: body
type: string
description: "GTM version ID to publish."
steps:
- name: publish-version
type: call
call: "gtm.publish-version"
with:
container_id: "{{container_id}}"
version_id: "{{version_id}}"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "web_team"
text: "GTM container {{container_id}} version {{version_id}} has been published to production."
consumes:
- type: http
namespace: gtm
baseUri: "https://www.googleapis.com/tagmanager/v2"
authentication:
type: bearer
token: "$secrets.google_tagmanager_token"
resources:
- name: versions
path: "/accounts/{{account_id}}/containers/{{container_id}}/versions/{{version_id}}:publish"
inputParameters:
- name: container_id
in: path
- name: version_id
in: path
operations:
- name: publish-version
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: channel_id
in: path
operations:
- name: send-message
method: POST
When a new lead is captured via HubSpot forms, enriches the lead with ZoomInfo company data, creates a Salesforce contact, and notifies the sales team in Microsoft Teams.
naftiko: "0.5"
info:
label: "HubSpot Lead Capture Processor"
description: "When a new lead is captured via HubSpot forms, enriches the lead with ZoomInfo company data, creates a Salesforce contact, and notifies the sales team in Microsoft Teams."
tags:
- sales
- hubspot
- zoominfo
- salesforce
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: lead-processing
port: 8080
tools:
- name: process-new-lead
description: "Enrich a HubSpot lead with ZoomInfo data, sync to Salesforce, and notify the sales team."
inputParameters:
- name: hubspot_contact_id
in: body
type: string
description: "HubSpot contact ID."
steps:
- name: get-lead
type: call
call: "hubspot.get-contact"
with:
contact_id: "{{hubspot_contact_id}}"
- name: enrich-company
type: call
call: "zoominfo.enrich-company"
with:
company_name: "{{get-lead.company}}"
- name: create-sf-contact
type: call
call: "salesforce.create-contact"
with:
first_name: "{{get-lead.firstname}}"
last_name: "{{get-lead.lastname}}"
email: "{{get-lead.email}}"
company: "{{get-lead.company}}"
industry: "{{enrich-company.industry}}"
- name: notify-sales
type: call
call: "msteams.send-message"
with:
channel_id: "sales_leads"
text: "New lead: {{get-lead.firstname}} {{get-lead.lastname}} from {{get-lead.company}} ({{enrich-company.industry}}). Salesforce ID: {{create-sf-contact.id}}."
consumes:
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/objects/contacts/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-contact
method: GET
- type: http
namespace: zoominfo
baseUri: "https://api.zoominfo.com/v2"
authentication:
type: bearer
token: "$secrets.zoominfo_token"
resources:
- name: companies
path: "/company/enrich"
operations:
- name: enrich-company
method: POST
- type: http
namespace: salesforce
baseUri: "https://ae.my.salesforce.com/services/data/v59.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contacts
path: "/sobjects/Contact"
operations:
- name: create-contact
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: channel_id
in: path
operations:
- name: send-message
method: POST
Compares deployed state against desired config, identifies drift, creates remediation tickets, and alerts ops.
naftiko: "0.5"
info:
label: "Infrastructure Drift Detection Pipeline"
description: "Compares deployed state against desired config, identifies drift, creates remediation tickets, and alerts ops."
tags:
- devops
- github
- jira
- slack
capability:
exposes:
- type: mcp
namespace: devops
port: 8080
tools:
- name: infrastructure_drift_detection
description: "Orchestrate infrastructure drift detection pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-github
type: call
call: "github.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-jira
type: call
call: "jira.process-resource"
with:
data: "{{get-github.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Infrastructure Drift Detection Pipeline step 3 complete."
consumes:
- type: http
namespace: github
baseUri: "https://api.github.com"
authentication:
type: bearer
token: "$secrets.github_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: github-op
method: POST
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: jira-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Tracks asset lifecycle stages, schedules replacements, manages disposal, and updates CMDB.
naftiko: "0.5"
info:
label: "IT Asset Lifecycle Pipeline"
description: "Tracks asset lifecycle stages, schedules replacements, manages disposal, and updates CMDB."
tags:
- operations
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: operations
port: 8080
tools:
- name: it_asset_lifecycle_pipeline
description: "Orchestrate it asset lifecycle pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-servicenow
type: call
call: "servicenow.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-snowflake
type: call
call: "snowflake.process-resource"
with:
data: "{{get-servicenow.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "IT Asset Lifecycle Pipeline step 3 complete."
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Creates a Jira issue in a specified project. Reusable building block for task creation workflows.
naftiko: "0.5"
info:
label: "Jira Issue Creator"
description: "Creates a Jira issue in a specified project. Reusable building block for task creation workflows."
tags:
- project-management
- jira
capability:
exposes:
- type: mcp
namespace: task-management
port: 8080
tools:
- name: create-jira-issue
description: "Create a new Jira issue."
inputParameters:
- name: project
in: body
type: string
description: "Jira project key."
- name: issue_type
in: body
type: string
description: "Issue type such as Task, Bug, or Story."
- name: summary
in: body
type: string
description: "Issue summary."
- name: description
in: body
type: string
description: "Issue description."
call: "jira.create-issue"
with:
project: "{{project}}"
issue_type: "{{issue_type}}"
summary: "{{summary}}"
description: "{{description}}"
outputParameters:
- name: issue_key
type: string
mapping: "$.key"
- name: issue_url
type: string
mapping: "$.self"
consumes:
- type: http
namespace: jira
baseUri: "https://ae-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
Retrieves the current sprint status from Jira including total story points, completed points, and remaining work for the AEO digital team.
naftiko: "0.5"
info:
label: "Jira Sprint Progress Tracker"
description: "Retrieves the current sprint status from Jira including total story points, completed points, and remaining work for the AEO digital team."
tags:
- project-management
- jira
- agile
capability:
exposes:
- type: mcp
namespace: sprint-tracking
port: 8080
tools:
- name: get-sprint-progress
description: "Look up the current sprint progress for a Jira board."
inputParameters:
- name: board_id
in: body
type: string
description: "Jira board ID."
call: "jira.get-active-sprint"
with:
board_id: "{{board_id}}"
outputParameters:
- name: sprint_name
type: string
mapping: "$.values[0].name"
- name: start_date
type: string
mapping: "$.values[0].startDate"
- name: end_date
type: string
mapping: "$.values[0].endDate"
consumes:
- type: http
namespace: jira
baseUri: "https://ae-outfitters.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
Identifies stale articles, assigns review tasks, tracks updates, and publishes freshness reports.
naftiko: "0.5"
info:
label: "Knowledge Base Freshness Pipeline"
description: "Identifies stale articles, assigns review tasks, tracks updates, and publishes freshness reports."
tags:
- knowledge
- confluence
- jira
- slack
capability:
exposes:
- type: mcp
namespace: knowledge
port: 8080
tools:
- name: knowledge_base_freshness_pipeline
description: "Orchestrate knowledge base freshness pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-confluence
type: call
call: "confluence.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-jira
type: call
call: "jira.process-resource"
with:
data: "{{get-confluence.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Knowledge Base Freshness Pipeline step 3 complete."
consumes:
- type: http
namespace: confluence
baseUri: "https://american-eagle-outfitters.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: confluence-op
method: POST
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: jira-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Posts employer branding content to the AEO LinkedIn company page.
naftiko: "0.5"
info:
label: "LinkedIn Brand Content Publisher"
description: "Posts employer branding content to the AEO LinkedIn company page."
tags:
- marketing
- social-media
- linkedin
capability:
exposes:
- type: mcp
namespace: linkedin-publishing
port: 8080
tools:
- name: post-linkedin-update
description: "Publish a company update to the AEO LinkedIn page."
inputParameters:
- name: text
in: body
type: string
description: "Post text content."
call: "linkedin.create-share"
with:
owner: "urn:li:organization:aeo"
text: "{{text}}"
outputParameters:
- name: post_id
type: string
mapping: "$.id"
consumes:
- type: http
namespace: linkedin
baseUri: "https://api.linkedin.com/v2"
authentication:
type: bearer
token: "$secrets.linkedin_token"
resources:
- name: shares
path: "/shares"
operations:
- name: create-share
method: POST
Posts job openings to the AEO LinkedIn company page and tracks postings in Google Sheets.
naftiko: "0.5"
info:
label: "LinkedIn Job Posting Publisher"
description: "Posts job openings to the AEO LinkedIn company page and tracks postings in Google Sheets."
tags:
- hr
- recruiting
- linkedin
- google-sheets
capability:
exposes:
- type: mcp
namespace: recruiting
port: 8080
tools:
- name: post-job
description: "Publish a job opening on LinkedIn and log it for tracking."
inputParameters:
- name: title
in: body
type: string
description: "Job title."
- name: description
in: body
type: string
description: "Job description."
- name: location
in: body
type: string
description: "Location."
steps:
- name: create-posting
type: call
call: "linkedin.create-job"
with:
title: "{{title}}"
description: "{{description}}"
location: "{{location}}"
company_id: "american-eagle-outfitters"
- name: log-posting
type: call
call: "gsheets.append-row"
with:
spreadsheet_id: "aeo_recruiting"
range: "Jobs!A:D"
values:
- "{{title}}"
- "{{location}}"
- "{{create-posting.id}}"
- "active"
consumes:
- type: http
namespace: linkedin
baseUri: "https://api.linkedin.com/v2"
authentication:
type: bearer
token: "$secrets.linkedin_token"
resources:
- name: jobs
path: "/simpleJobPostings"
operations:
- name: create-job
method: POST
- type: http
namespace: gsheets
baseUri: "https://sheets.googleapis.com/v4/spreadsheets"
authentication:
type: bearer
token: "$secrets.google_sheets_token"
resources:
- name: values
path: "/{{spreadsheet_id}}/values/{{range}}:append"
inputParameters:
- name: spreadsheet_id
in: path
- name: range
in: path
operations:
- name: append-row
method: POST
When the POS flags a suspicious transaction, creates a ServiceNow incident, logs the alert in Google Sheets, and urgently notifies the loss prevention team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Loss Prevention Alert Processor"
description: "When the POS flags a suspicious transaction, creates a ServiceNow incident, logs the alert in Google Sheets, and urgently notifies the loss prevention team in Microsoft Teams."
tags:
- retail
- loss-prevention
- servicenow
- google-sheets
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: loss-prevention
port: 8080
tools:
- name: process-lp-alert
description: "Handle a loss prevention alert across incident management, logging, and notifications."
inputParameters:
- name: transaction_id
in: body
type: string
description: "Flagged transaction ID."
- name: store_id
in: body
type: string
description: "Store ID."
- name: alert_type
in: body
type: string
description: "Alert type."
steps:
- name: create-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "LP Alert: {{alert_type}} at store {{store_id}}"
category: "loss_prevention"
urgency: "1"
- name: log-alert
type: call
call: "gsheets.append-row"
with:
spreadsheet_id: "aeo_lp_log"
range: "Alerts!A:D"
values:
- "{{transaction_id}}"
- "{{store_id}}"
- "{{alert_type}}"
- "{{create-incident.number}}"
- name: alert-team
type: call
call: "msteams.send-message"
with:
channel_id: "loss_prevention"
text: "URGENT: {{alert_type}} at store {{store_id}}, txn {{transaction_id}}. Incident: {{create-incident.number}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://ae.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: gsheets
baseUri: "https://sheets.googleapis.com/v4/spreadsheets"
authentication:
type: bearer
token: "$secrets.google_sheets_token"
resources:
- name: values
path: "/{{spreadsheet_id}}/values/{{range}}:append"
inputParameters:
- name: spreadsheet_id
in: path
- name: range
in: path
operations:
- name: append-row
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: channel_id
in: path
operations:
- name: send-message
method: POST
Sends an email through Microsoft Outlook. Reusable email component.
naftiko: "0.5"
info:
label: "Microsoft Outlook Email Sender"
description: "Sends an email through Microsoft Outlook. Reusable email component."
tags:
- collaboration
- microsoft-outlook
- email
capability:
exposes:
- type: mcp
namespace: email
port: 8080
tools:
- name: send-email
description: "Send an email via Microsoft Outlook."
inputParameters:
- name: to
in: body
type: string
description: "Recipient email."
- name: subject
in: body
type: string
description: "Subject line."
- name: body
in: body
type: string
description: "Email body."
call: "outlook.send-mail"
with:
to: "{{to}}"
subject: "{{subject}}"
body: "{{body}}"
consumes:
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-mail
method: POST
Triggers a Microsoft Power Automate flow for automated business process execution.
naftiko: "0.5"
info:
label: "Microsoft Power Automate Flow Trigger"
description: "Triggers a Microsoft Power Automate flow for automated business process execution."
tags:
- automation
- microsoft-power-automate
capability:
exposes:
- type: mcp
namespace: workflow-automation
port: 8080
tools:
- name: trigger-flow
description: "Trigger a Power Automate flow by ID."
inputParameters:
- name: flow_id
in: body
type: string
description: "Power Automate flow ID."
- name: payload
in: body
type: object
description: "Flow input payload."
call: "power-automate.trigger-flow"
with:
flow_id: "{{flow_id}}"
body: "{{payload}}"
outputParameters:
- name: run_id
type: string
mapping: "$.id"
consumes:
- type: http
namespace: power-automate
baseUri: "https://api.flow.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.power_automate_token"
resources:
- name: flows
path: "/flows/{{flow_id}}/triggers/manual/run"
inputParameters:
- name: flow_id
in: path
operations:
- name: trigger-flow
method: POST
Sends a message to a specified Microsoft Teams channel. Reusable building block for notifications.
naftiko: "0.5"
info:
label: "Microsoft Teams Channel Notifier"
description: "Sends a message to a specified Microsoft Teams channel. Reusable building block for notifications."
tags:
- collaboration
- microsoft-teams
- notifications
capability:
exposes:
- type: mcp
namespace: teams-messaging
port: 8080
tools:
- name: send-channel-message
description: "Post a message to a Microsoft Teams channel."
inputParameters:
- name: channel_id
in: body
type: string
description: "Teams channel ID."
- name: text
in: body
type: string
description: "Message text."
call: "msteams.send-message"
with:
channel_id: "{{channel_id}}"
text: "{{text}}"
consumes:
- 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: channel_id
in: path
operations:
- name: send-message
method: POST
When a new product line is approved, creates listings in BigCommerce, syncs inventory with the warehouse management system, schedules an Adobe Campaign email blast, and posts a teaser to Instagram.
naftiko: "0.5"
info:
label: "New Product Launch Orchestrator"
description: "When a new product line is approved, creates listings in BigCommerce, syncs inventory with the warehouse management system, schedules an Adobe Campaign email blast, and posts a teaser to Instagram."
tags:
- retail
- merchandising
- bigcommerce
- adobe-campaign
- instagram
capability:
exposes:
- type: mcp
namespace: product-launch
port: 8080
tools:
- name: launch-product-line
description: "Orchestrate a new product line launch across e-commerce, email, and social channels."
inputParameters:
- name: product_line_id
in: body
type: string
description: "Internal product line identifier."
- name: launch_date
in: body
type: string
description: "Target launch date in YYYY-MM-DD format."
- name: collection_name
in: body
type: string
description: "Collection display name."
steps:
- name: create-listings
type: call
call: "bigcommerce.create-products"
with:
product_line_id: "{{product_line_id}}"
is_visible: true
- name: sync-inventory
type: call
call: "wms.sync-product-line"
with:
product_line_id: "{{product_line_id}}"
- name: schedule-email
type: call
call: "adobe-campaign.create-delivery"
with:
template: "new_launch"
label: "New Drop: {{collection_name}}"
scheduled_date: "{{launch_date}}"
- name: post-teaser
type: call
call: "instagram.create-post"
with:
caption: "Something new is coming. {{collection_name}} drops {{launch_date}}. #AEO #AmericanEagle"
media_url: "{{create-listings.hero_image}}"
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v3"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: products
path: "/catalog/products"
operations:
- name: create-products
method: POST
- type: http
namespace: wms
baseUri: "https://wms.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.wms_token"
resources:
- name: sync
path: "/product-lines/{{product_line_id}}/sync"
inputParameters:
- name: product_line_id
in: path
operations:
- name: sync-product-line
method: POST
- type: http
namespace: adobe-campaign
baseUri: "https://mc.adobe.io/ae-outfitters/campaign"
authentication:
type: bearer
token: "$secrets.adobe_campaign_token"
resources:
- name: deliveries
path: "/profileAndServicesExt/delivery"
operations:
- name: create-delivery
method: POST
- type: http
namespace: instagram
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.instagram_token"
resources:
- name: media
path: "/me/media"
operations:
- name: create-post
method: POST
When New Relic fires a performance degradation alert for the AEO website, creates a ServiceNow incident and notifies the SRE team in Microsoft Teams.
naftiko: "0.5"
info:
label: "New Relic Performance Alert Handler"
description: "When New Relic fires a performance degradation alert for the AEO website, creates a ServiceNow incident and notifies the SRE team in Microsoft Teams."
tags:
- monitoring
- devops
- new-relic
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: perf-alerting
port: 8080
tools:
- name: handle-perf-alert
description: "Process a New Relic performance alert and route to incident management."
inputParameters:
- name: alert_id
in: body
type: string
description: "New Relic alert policy ID."
- name: condition_name
in: body
type: string
description: "Alert condition name."
- name: severity
in: body
type: string
description: "Alert severity level."
steps:
- name: get-alert-details
type: call
call: "newrelic.get-alert"
with:
alert_id: "{{alert_id}}"
- name: create-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Performance alert: {{condition_name}}"
category: "infrastructure"
urgency: "{{severity}}"
description: "New Relic alert {{alert_id}}: {{get-alert-details.description}}"
- name: notify-sre
type: call
call: "msteams.send-message"
with:
channel_id: "sre_alerts"
text: "ALERT: {{condition_name}} ({{severity}}). Incident {{create-incident.number}} opened."
consumes:
- type: http
namespace: newrelic
baseUri: "https://api.newrelic.com/v2"
authentication:
type: apikey
key: "$secrets.newrelic_api_key"
resources:
- name: alerts
path: "/alerts_violations/{{alert_id}}.json"
inputParameters:
- name: alert_id
in: path
operations:
- name: get-alert
method: GET
- type: http
namespace: servicenow
baseUri: "https://ae.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: channel_id
in: path
operations:
- name: send-message
method: POST
When an online order is placed, evaluates inventory at the DC and nearby stores, selects the optimal fulfillment source, and routes the order through the OMS for either ship-from-store or DC shipment.
naftiko: "0.5"
info:
label: "Omnichannel Fulfillment Router"
description: "When an online order is placed, evaluates inventory at the DC and nearby stores, selects the optimal fulfillment source, and routes the order through the OMS for either ship-from-store or DC shipment."
tags:
- retail
- fulfillment
- omnichannel
- oms
- wms
capability:
exposes:
- type: mcp
namespace: fulfillment
port: 8080
tools:
- name: route-order-fulfillment
description: "Determine the best fulfillment location for an order and route it."
inputParameters:
- name: order_id
in: body
type: string
description: "BigCommerce order ID."
- name: customer_zip
in: body
type: string
description: "Customer ZIP code."
steps:
- name: get-order
type: call
call: "bigcommerce.get-order"
with:
order_id: "{{order_id}}"
- name: check-dc
type: call
call: "wms.check-availability"
with:
skus: "{{get-order.product_skus}}"
location: "main_dc"
- name: check-stores
type: call
call: "wms.find-nearest-stock"
with:
skus: "{{get-order.product_skus}}"
zip: "{{customer_zip}}"
- name: assign-fulfillment
type: call
call: "oms.assign-fulfillment"
with:
order_id: "{{order_id}}"
dc_available: "{{check-dc.available}}"
store_id: "{{check-stores.store_id}}"
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v2"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order
method: GET
- type: http
namespace: wms
baseUri: "https://wms.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.wms_token"
resources:
- name: availability
path: "/inventory/availability"
operations:
- name: check-availability
method: POST
- name: find-nearest-stock
method: POST
- type: http
namespace: oms
baseUri: "https://oms.ae.com/api/v2"
authentication:
type: bearer
token: "$secrets.oms_token"
resources:
- name: fulfillment
path: "/orders/{{order_id}}/fulfillment"
inputParameters:
- name: order_id
in: path
operations:
- name: assign-fulfillment
method: POST
Synchronizes inventory across channels, resolves discrepancies, and updates all systems.
naftiko: "0.5"
info:
label: "Omnichannel Inventory Sync Pipeline"
description: "Synchronizes inventory across channels, resolves discrepancies, and updates all systems."
tags:
- inventory
- salesforce
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: inventory
port: 8080
tools:
- name: omnichannel_inventory_sync_pipeline
description: "Orchestrate omnichannel inventory sync pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-salesforce
type: call
call: "salesforce.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-salesforce.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Omnichannel Inventory Sync Pipeline step 3 complete."
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Looks up a purchase order in Oracle E-Business Suite by PO number and returns the approval status, vendor name, and total amount.
naftiko: "0.5"
info:
label: "Oracle E-Business Suite Purchase Order Status"
description: "Looks up a purchase order in Oracle E-Business Suite by PO number and returns the approval status, vendor name, and total amount."
tags:
- procurement
- erp
- oracle-e-business-suite
capability:
exposes:
- type: mcp
namespace: procurement
port: 8080
tools:
- name: get-po-status
description: "Look up an Oracle EBS purchase order by number."
inputParameters:
- name: po_number
in: body
type: string
description: "Oracle EBS purchase order number."
call: "oracle-ebs.get-po"
with:
po_number: "{{po_number}}"
outputParameters:
- name: approval_status
type: string
mapping: "$.AUTHORIZATION_STATUS"
- name: vendor_name
type: string
mapping: "$.VENDOR_NAME"
- name: total_amount
type: number
mapping: "$.TOTAL_AMOUNT"
consumes:
- type: http
namespace: oracle-ebs
baseUri: "https://erp.ae.com/webservices/rest/v1"
authentication:
type: basic
username: "$secrets.oracle_ebs_user"
password: "$secrets.oracle_ebs_password"
resources:
- name: purchase-orders
path: "/purchaseOrders/{{po_number}}"
inputParameters:
- name: po_number
in: path
operations:
- name: get-po
method: GET
Initiates review cycles, collects feedback, aggregates scores, and distributes to managers.
naftiko: "0.5"
info:
label: "Performance Review Cycle Pipeline"
description: "Initiates review cycles, collects feedback, aggregates scores, and distributes to managers."
tags:
- hr
- workday
- confluence
- slack
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: performance_review_cycle_pipeline
description: "Orchestrate performance review cycle pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-salesforce
type: call
call: "salesforce.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-confluence
type: call
call: "confluence.process-resource"
with:
data: "{{get-salesforce.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Performance Review Cycle Pipeline step 3 complete."
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: confluence
baseUri: "https://american-eagle-outfitters.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: confluence-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Triggers a dataset refresh in Power BI for the AEO daily sales dashboard and posts a notification to the analytics team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Power BI Sales Dashboard Refresh"
description: "Triggers a dataset refresh in Power BI for the AEO daily sales dashboard and posts a notification to the analytics team in Microsoft Teams."
tags:
- analytics
- power-bi
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: bi-refresh
port: 8080
tools:
- name: refresh-sales-dashboard
description: "Trigger a Power BI dataset refresh and notify the analytics team."
inputParameters:
- name: dataset_id
in: body
type: string
description: "Power BI dataset ID."
steps:
- name: trigger-refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "{{dataset_id}}"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "analytics_team"
text: "Power BI sales dashboard refresh triggered for dataset {{dataset_id}}. Data will be updated within 15 minutes."
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
- 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: channel_id
in: path
operations:
- name: send-message
method: POST
Collects recent product reviews from BigCommerce, posts a weekly sentiment summary to the product team Microsoft Teams channel.
naftiko: "0.5"
info:
label: "Product Review Sentiment Analyzer"
description: "Collects recent product reviews from BigCommerce, posts a weekly sentiment summary to the product team Microsoft Teams channel."
tags:
- retail
- customer-feedback
- bigcommerce
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: review-analytics
port: 8080
tools:
- name: analyze-reviews
description: "Aggregate recent product reviews and deliver a sentiment summary."
inputParameters:
- name: product_id
in: body
type: string
description: "Product ID."
- name: since_date
in: body
type: string
description: "Start date."
steps:
- name: get-reviews
type: call
call: "bigcommerce.get-reviews"
with:
product_id: "{{product_id}}"
since: "{{since_date}}"
- name: post-summary
type: call
call: "msteams.send-message"
with:
channel_id: "product_team"
text: "Product {{product_id}} reviews since {{since_date}}: {{get-reviews.count}} reviews, avg {{get-reviews.avg_rating}}/5."
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v3"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: reviews
path: "/catalog/products/{{product_id}}/reviews"
inputParameters:
- name: product_id
in: path
operations:
- name: get-reviews
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: channel_id
in: path
operations:
- name: send-message
method: POST
Creates an Adobe Campaign email delivery targeting a customer segment, schedules the send, and logs campaign details to Google Sheets for the marketing team.
naftiko: "0.5"
info:
label: "Promotional Email Campaign Manager"
description: "Creates an Adobe Campaign email delivery targeting a customer segment, schedules the send, and logs campaign details to Google Sheets for the marketing team."
tags:
- marketing
- email
- adobe-campaign
- google-sheets
capability:
exposes:
- type: mcp
namespace: email-campaigns
port: 8080
tools:
- name: create-promo-campaign
description: "Create, schedule, and track a promotional email campaign."
inputParameters:
- name: campaign_label
in: body
type: string
description: "Campaign label."
- name: segment_id
in: body
type: string
description: "Adobe Campaign audience segment ID."
- name: template_name
in: body
type: string
description: "Email template name."
- name: send_date
in: body
type: string
description: "Scheduled send date."
steps:
- name: create-delivery
type: call
call: "adobe-campaign.create-delivery"
with:
label: "{{campaign_label}}"
template: "{{template_name}}"
audience_segment: "{{segment_id}}"
scheduled_date: "{{send_date}}"
- name: log-campaign
type: call
call: "gsheets.append-row"
with:
spreadsheet_id: "aeo_email_tracker"
range: "Campaigns!A:D"
values:
- "{{campaign_label}}"
- "{{create-delivery.delivery_id}}"
- "{{send_date}}"
- "scheduled"
consumes:
- type: http
namespace: adobe-campaign
baseUri: "https://mc.adobe.io/ae-outfitters/campaign"
authentication:
type: bearer
token: "$secrets.adobe_campaign_token"
resources:
- name: deliveries
path: "/profileAndServicesExt/delivery"
operations:
- name: create-delivery
method: POST
- type: http
namespace: gsheets
baseUri: "https://sheets.googleapis.com/v4/spreadsheets"
authentication:
type: bearer
token: "$secrets.google_sheets_token"
resources:
- name: values
path: "/{{spreadsheet_id}}/values/{{range}}:append"
inputParameters:
- name: spreadsheet_id
in: path
- name: range
in: path
operations:
- name: append-row
method: POST
Retrieves the full customer profile from Salesforce including contact info, order history summary, and loyalty tier.
naftiko: "0.5"
info:
label: "Salesforce Customer Profile Lookup"
description: "Retrieves the full customer profile from Salesforce including contact info, order history summary, and loyalty tier."
tags:
- crm
- salesforce
- customer-service
capability:
exposes:
- type: mcp
namespace: crm
port: 8080
tools:
- name: get-customer-profile
description: "Look up an AEO customer profile in Salesforce by customer ID."
inputParameters:
- name: customer_id
in: body
type: string
description: "Salesforce contact ID."
call: "salesforce.get-contact"
with:
contact_id: "{{customer_id}}"
outputParameters:
- name: name
type: string
mapping: "$.Name"
- name: email
type: string
mapping: "$.Email"
- name: loyalty_tier
type: string
mapping: "$.Loyalty_Tier__c"
- name: lifetime_value
type: number
mapping: "$.Lifetime_Value__c"
consumes:
- type: http
namespace: salesforce
baseUri: "https://ae.my.salesforce.com/services/data/v59.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contacts
path: "/sobjects/Contact/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-contact
method: GET
Looks up the payment status and due date of a vendor invoice in SAP.
naftiko: "0.5"
info:
label: "SAP Vendor Invoice Status"
description: "Looks up the payment status and due date of a vendor invoice in SAP."
tags:
- finance
- erp
- sap
capability:
exposes:
- type: mcp
namespace: vendor-finance
port: 8080
tools:
- name: get-invoice-status
description: "Look up a vendor invoice status in SAP by invoice number."
inputParameters:
- name: invoice_number
in: body
type: string
description: "SAP vendor invoice number."
call: "sap.get-invoice"
with:
invoice_number: "{{invoice_number}}"
outputParameters:
- name: payment_status
type: string
mapping: "$.d.PaymentStatus"
- name: amount
type: number
mapping: "$.d.GrossAmount"
- name: due_date
type: string
mapping: "$.d.DueDate"
consumes:
- type: http
namespace: sap
baseUri: "https://ae-sap.s4hana.cloud/sap/opu/odata/sap/API_SUPPLIER_INVOICE_PROCESS_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: invoices
path: "/A_SuplrInvcItemPurOrdRef('{{invoice_number}}')"
inputParameters:
- name: invoice_number
in: path
operations:
- name: get-invoice
method: GET
Identifies slow-moving inventory from POS data, applies progressive markdowns in BigCommerce, and generates a clearance report in Google Sheets.
naftiko: "0.5"
info:
label: "Seasonal Clearance Automation"
description: "Identifies slow-moving inventory from POS data, applies progressive markdowns in BigCommerce, and generates a clearance report in Google Sheets."
tags:
- retail
- clearance
- pos
- bigcommerce
- google-sheets
capability:
exposes:
- type: mcp
namespace: clearance
port: 8080
tools:
- name: run-clearance
description: "Identify slow movers, apply markdowns, and generate reports."
inputParameters:
- name: season
in: body
type: string
description: "Season being cleared."
- name: markdown_pct
in: body
type: number
description: "Markdown percentage."
steps:
- name: get-slow-movers
type: call
call: "pos.get-low-sell-through"
with:
season: "{{season}}"
- name: apply-markdowns
type: call
call: "bigcommerce.bulk-markdown"
with:
product_ids: "{{get-slow-movers.product_ids}}"
discount_pct: "{{markdown_pct}}"
- name: log-report
type: call
call: "gsheets.append-row"
with:
spreadsheet_id: "aeo_clearance"
range: "Reports!A:C"
values:
- "{{season}}"
- "{{get-slow-movers.count}}"
- "{{markdown_pct}}"
consumes:
- type: http
namespace: pos
baseUri: "https://pos.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.pos_token"
resources:
- name: sell-through
path: "/analytics/sell-through"
operations:
- name: get-low-sell-through
method: GET
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/ae-outfitters/v3"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: pricing
path: "/pricelists"
operations:
- name: bulk-markdown
method: POST
- type: http
namespace: gsheets
baseUri: "https://sheets.googleapis.com/v4/spreadsheets"
authentication:
type: bearer
token: "$secrets.google_sheets_token"
resources:
- name: values
path: "/{{spreadsheet_id}}/values/{{range}}:append"
inputParameters:
- name: spreadsheet_id
in: path
- name: range
in: path
operations:
- name: append-row
method: POST
Runs demand forecast models, generates buy recommendations, and distributes to merchandising teams.
naftiko: "0.5"
info:
label: "Seasonal Demand Forecasting Pipeline"
description: "Runs demand forecast models, generates buy recommendations, and distributes to merchandising teams."
tags:
- planning
- snowflake
- powerbi
- slack
capability:
exposes:
- type: mcp
namespace: planning
port: 8080
tools:
- name: seasonal_demand_forecasting_pipeline
description: "Orchestrate seasonal demand forecasting pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-powerbi
type: call
call: "powerbi.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Seasonal Demand Forecasting Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: powerbi-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Detects security incidents, enriches with context, creates response tickets, and notifies the SOC.
naftiko: "0.5"
info:
label: "Security Incident Response Pipeline"
description: "Detects security incidents, enriches with context, creates response tickets, and notifies the SOC."
tags:
- security
- splunk
- servicenow
- pagerduty
capability:
exposes:
- type: mcp
namespace: security
port: 8080
tools:
- name: security_incident_response_pipeline
description: "Orchestrate security incident response pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-salesforce
type: call
call: "salesforce.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-salesforce.result}}"
- name: create-jira
type: call
call: "jira.create-resource"
with:
channel: "{{notification_channel}}"
text: "Security Incident Response Pipeline step 3 complete."
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: jira
baseUri: "https://american-eagle-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: jira-op
method: POST
Retrieves the current state, priority, and assignment details for a ServiceNow incident by number.
naftiko: "0.5"
info:
label: "ServiceNow Incident Lookup"
description: "Retrieves the current state, priority, and assignment details for a ServiceNow incident by number."
tags:
- it-support
- servicenow
capability:
exposes:
- type: mcp
namespace: it-support
port: 8080
tools:
- name: get-incident
description: "Look up a ServiceNow incident by number."
inputParameters:
- name: incident_number
in: body
type: string
description: "ServiceNow incident number."
call: "servicenow.get-incident"
with:
incident_number: "{{incident_number}}"
outputParameters:
- name: state
type: string
mapping: "$.result.state"
- name: priority
type: string
mapping: "$.result.priority"
- name: assigned_to
type: string
mapping: "$.result.assigned_to.display_value"
consumes:
- type: http
namespace: servicenow
baseUri: "https://ae.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={{incident_number}}"
inputParameters:
- name: incident_number
in: path
operations:
- name: get-incident
method: GET
Retrieves a training document from the AEO SharePoint knowledge base by file path.
naftiko: "0.5"
info:
label: "SharePoint Training Document Retrieval"
description: "Retrieves a training document from the AEO SharePoint knowledge base by file path."
tags:
- collaboration
- sharepoint
- training
capability:
exposes:
- type: mcp
namespace: knowledge-base
port: 8080
tools:
- name: get-training-doc
description: "Retrieve a training document from SharePoint."
inputParameters:
- name: file_path
in: body
type: string
description: "Path to the document."
call: "sharepoint.get-file"
with:
site_id: "training_site"
file_path: "{{file_path}}"
outputParameters:
- name: download_url
type: string
mapping: "$.@microsoft.graph.downloadUrl"
- name: last_modified
type: string
mapping: "$.lastModifiedDateTime"
consumes:
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: files
path: "/{{site_id}}/drive/root:/{{file_path}}"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: get-file
method: GET
Queries carrier APIs to get shipping rates for a package to a customer destination and returns the cheapest option.
naftiko: "0.5"
info:
label: "Shipping Rate Calculator"
description: "Queries carrier APIs to get shipping rates for a package to a customer destination and returns the cheapest option."
tags:
- logistics
- shipping
- fulfillment
capability:
exposes:
- type: mcp
namespace: shipping
port: 8080
tools:
- name: get-best-rate
description: "Compare shipping rates across carriers and return the optimal option."
inputParameters:
- name: weight_lbs
in: body
type: number
description: "Package weight."
- name: origin_zip
in: body
type: string
description: "Origin ZIP."
- name: destination_zip
in: body
type: string
description: "Destination ZIP."
steps:
- name: ups-rate
type: call
call: "ups.get-rate"
with:
weight: "{{weight_lbs}}"
origin: "{{origin_zip}}"
destination: "{{destination_zip}}"
- name: fedex-rate
type: call
call: "fedex.get-rate"
with:
weight: "{{weight_lbs}}"
origin: "{{origin_zip}}"
destination: "{{destination_zip}}"
consumes:
- type: http
namespace: ups
baseUri: "https://onlinetools.ups.com/api"
authentication:
type: bearer
token: "$secrets.ups_token"
resources:
- name: rating
path: "/rating/v1/rate"
operations:
- name: get-rate
method: POST
- type: http
namespace: fedex
baseUri: "https://apis.fedex.com/rate/v1"
authentication:
type: bearer
token: "$secrets.fedex_token"
resources:
- name: rates
path: "/rates/quotes"
operations:
- name: get-rate
method: POST
Monitors service levels, detects SLA breaches, creates escalation tickets, and reports to management.
naftiko: "0.5"
info:
label: "SLA Compliance Monitoring Pipeline"
description: "Monitors service levels, detects SLA breaches, creates escalation tickets, and reports to management."
tags:
- operations
- datadog
- servicenow
- powerbi
capability:
exposes:
- type: mcp
namespace: operations
port: 8080
tools:
- name: sla_compliance_monitoring_pipeline
description: "Orchestrate sla compliance monitoring pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-datadog
type: call
call: "datadog.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-datadog.result}}"
- name: create-powerbi
type: call
call: "powerbi.create-resource"
with:
channel: "{{notification_channel}}"
text: "SLA Compliance Monitoring Pipeline step 3 complete."
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
header: "DD-API-KEY"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: datadog-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: powerbi-op
method: POST
Collects engagement metrics from Instagram, Twitter, and YouTube for a specified campaign period, logs them to Google Sheets, and posts a summary to the marketing Microsoft Teams channel.
naftiko: "0.5"
info:
label: "Social Media Engagement Aggregator"
description: "Collects engagement metrics from Instagram, Twitter, and YouTube for a specified campaign period, logs them to Google Sheets, and posts a summary to the marketing Microsoft Teams channel."
tags:
- marketing
- social-media
- instagram
- twitter
- youtube
- google-sheets
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: social-analytics
port: 8080
tools:
- name: aggregate-social-metrics
description: "Gather engagement metrics across social platforms and deliver a consolidated report."
inputParameters:
- name: campaign_name
in: body
type: string
description: "Campaign name."
- name: date_range
in: body
type: string
description: "Date range for metrics collection."
steps:
- name: get-ig-metrics
type: call
call: "instagram.get-account-insights"
with:
period: "{{date_range}}"
metrics: "impressions,reach,engagement"
- name: get-twitter-metrics
type: call
call: "twitter.get-tweet-metrics"
with:
query: "#AEO OR #AmericanEagle"
since: "{{date_range}}"
- name: get-yt-metrics
type: call
call: "youtube.get-channel-stats"
with:
channel_id: "aeo_official"
date_range: "{{date_range}}"
- name: log-to-sheets
type: call
call: "gsheets.append-row"
with:
spreadsheet_id: "aeo_social_tracker"
range: "Campaigns!A:F"
values:
- "{{campaign_name}}"
- "{{date_range}}"
- "{{get-ig-metrics.engagement}}"
- "{{get-twitter-metrics.total_engagements}}"
- "{{get-yt-metrics.views}}"
- "aggregated"
- name: post-summary
type: call
call: "msteams.send-message"
with:
channel_id: "marketing_social"
text: "Campaign '{{campaign_name}}' social report: IG engagement {{get-ig-metrics.engagement}}, Twitter {{get-twitter-metrics.total_engagements}}, YouTube views {{get-yt-metrics.views}}."
consumes:
- type: http
namespace: instagram
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.instagram_token"
resources:
- name: insights
path: "/me/insights"
operations:
- name: get-account-insights
method: GET
- type: http
namespace: twitter
baseUri: "https://api.twitter.com/2"
authentication:
type: bearer
token: "$secrets.twitter_bearer_token"
resources:
- name: tweets-search
path: "/tweets/search/recent"
operations:
- name: get-tweet-metrics
method: GET
- type: http
namespace: youtube
baseUri: "https://www.googleapis.com/youtube/v3"
authentication:
type: apikey
key: "$secrets.youtube_api_key"
resources:
- name: channels
path: "/channels?part=statistics"
operations:
- name: get-channel-stats
method: GET
- type: http
namespace: gsheets
baseUri: "https://sheets.googleapis.com/v4/spreadsheets"
authentication:
type: bearer
token: "$secrets.google_sheets_token"
resources:
- name: values
path: "/{{spreadsheet_id}}/values/{{range}}:append"
inputParameters:
- name: spreadsheet_id
in: path
- name: range
in: path
operations:
- name: append-row
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: channel_id
in: path
operations:
- name: send-message
method: POST
Audits license usage, identifies underutilized licenses, recommends optimization, and notifies IT.
naftiko: "0.5"
info:
label: "Software License Optimization Pipeline"
description: "Audits license usage, identifies underutilized licenses, recommends optimization, and notifies IT."
tags:
- operations
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: operations
port: 8080
tools:
- name: software_license_optimization
description: "Orchestrate software license optimization pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-servicenow
type: call
call: "servicenow.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-snowflake
type: call
call: "snowflake.process-resource"
with:
data: "{{get-servicenow.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Software License Optimization Pipeline step 3 complete."
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Retrieves details of a Square payment transaction including amount, card brand, and status for in-store transactions.
naftiko: "0.5"
info:
label: "Square Payment Transaction Lookup"
description: "Retrieves details of a Square payment transaction including amount, card brand, and status for in-store transactions."
tags:
- retail
- payments
- square
capability:
exposes:
- type: mcp
namespace: payments
port: 8080
tools:
- name: get-payment-details
description: "Look up a Square payment transaction by transaction ID."
inputParameters:
- name: payment_id
in: body
type: string
description: "Square payment ID."
call: "square.get-payment"
with:
payment_id: "{{payment_id}}"
outputParameters:
- name: amount
type: number
mapping: "$.payment.amount_money.amount"
- name: card_brand
type: string
mapping: "$.payment.card_details.card.card_brand"
- name: status
type: string
mapping: "$.payment.status"
consumes:
- type: http
namespace: square
baseUri: "https://connect.squareup.com/v2"
authentication:
type: bearer
token: "$secrets.square_token"
resources:
- name: payments
path: "/payments/{{payment_id}}"
inputParameters:
- name: payment_id
in: path
operations:
- name: get-payment
method: GET
When a store inventory falls below minimum threshold, creates a transfer order in the OMS from the nearest distribution center, updates the WMS, and notifies the store manager via Microsoft Teams.
naftiko: "0.5"
info:
label: "Store Inventory Replenishment Pipeline"
description: "When a store inventory falls below minimum threshold, creates a transfer order in the OMS from the nearest distribution center, updates the WMS, and notifies the store manager via Microsoft Teams."
tags:
- retail
- inventory
- oms
- wms
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: replenishment
port: 8080
tools:
- name: trigger-replenishment
description: "Create a transfer order from DC to store for low-stock items and notify the store manager."
inputParameters:
- name: store_id
in: body
type: string
description: "Store location ID."
- name: sku
in: body
type: string
description: "Product SKU needing replenishment."
- name: quantity
in: body
type: number
description: "Quantity to transfer."
steps:
- name: create-transfer
type: call
call: "oms.create-transfer-order"
with:
from_location: "main_dc"
to_location: "{{store_id}}"
sku: "{{sku}}"
quantity: "{{quantity}}"
- name: update-wms
type: call
call: "wms.reserve-transfer"
with:
transfer_id: "{{create-transfer.transfer_id}}"
sku: "{{sku}}"
quantity: "{{quantity}}"
- name: notify-manager
type: call
call: "msteams.send-message"
with:
channel_id: "store_{{store_id}}"
text: "Replenishment transfer {{create-transfer.transfer_id}} created: {{quantity}} units of {{sku}} shipping from DC. ETA: {{create-transfer.eta}}."
consumes:
- type: http
namespace: oms
baseUri: "https://oms.ae.com/api/v2"
authentication:
type: bearer
token: "$secrets.oms_token"
resources:
- name: transfers
path: "/transfer-orders"
operations:
- name: create-transfer-order
method: POST
- type: http
namespace: wms
baseUri: "https://wms.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.wms_token"
resources:
- name: reservations
path: "/transfers/{{transfer_id}}/reserve"
inputParameters:
- name: transfer_id
in: path
operations:
- name: reserve-transfer
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: channel_id
in: path
operations:
- name: send-message
method: POST
When a new AEO store location is approved, creates a Microsoft Planner plan for the build-out, provisions the store in the POS system, sets up a Teams channel, and creates a Jira epic for IT setup.
naftiko: "0.5"
info:
label: "Store Opening Coordinator"
description: "When a new AEO store location is approved, creates a Microsoft Planner plan for the build-out, provisions the store in the POS system, sets up a Teams channel, and creates a Jira epic for IT setup."
tags:
- retail
- operations
- microsoft-planner
- microsoft-teams
- jira
capability:
exposes:
- type: mcp
namespace: store-opening
port: 8080
tools:
- name: initiate-store-opening
description: "Coordinate all systems for a new AEO store opening."
inputParameters:
- name: store_id
in: body
type: string
description: "New store location ID."
- name: store_name
in: body
type: string
description: "Store name and location."
- name: target_date
in: body
type: string
description: "Target opening date."
steps:
- name: create-plan
type: call
call: "planner.create-plan"
with:
title: "Store Opening: {{store_name}}"
group_id: "store_openings"
- name: provision-pos
type: call
call: "pos.create-store"
with:
store_id: "{{store_id}}"
name: "{{store_name}}"
- name: create-channel
type: call
call: "msteams.create-channel"
with:
team_id: "store_ops"
display_name: "{{store_name}} Opening"
- name: create-epic
type: call
call: "jira.create-issue"
with:
project: "STORES"
issue_type: "Epic"
summary: "IT setup: {{store_name}}"
due_date: "{{target_date}}"
consumes:
- type: http
namespace: planner
baseUri: "https://graph.microsoft.com/v1.0/planner"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: plans
path: "/plans"
operations:
- name: create-plan
method: POST
- type: http
namespace: pos
baseUri: "https://pos.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.pos_token"
resources:
- name: stores
path: "/stores"
operations:
- name: create-store
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channels
path: "/teams/{{team_id}}/channels"
inputParameters:
- name: team_id
in: path
operations:
- name: create-channel
method: POST
- type: http
namespace: jira
baseUri: "https://ae-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
Compares store metrics against benchmarks, identifies top and bottom performers, and distributes reports.
naftiko: "0.5"
info:
label: "Store Performance Benchmark Pipeline"
description: "Compares store metrics against benchmarks, identifies top and bottom performers, and distributes reports."
tags:
- analytics
- snowflake
- powerbi
- slack
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: store_performance_benchmark_pipeline
description: "Orchestrate store performance benchmark pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-snowflake
type: call
call: "snowflake.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-powerbi
type: call
call: "powerbi.process-resource"
with:
data: "{{get-snowflake.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Store Performance Benchmark Pipeline step 3 complete."
consumes:
- type: http
namespace: snowflake
baseUri: "https://american-eagle-outfitters.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: snowflake-op
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: powerbi-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Pulls end-of-day register summaries from each POS terminal, compares against expected totals, and flags discrepancies in ServiceNow.
naftiko: "0.5"
info:
label: "Store POS Daily Reconciliation"
description: "Pulls end-of-day register summaries from each POS terminal, compares against expected totals, and flags discrepancies in ServiceNow."
tags:
- retail
- finance
- pos
- servicenow
capability:
exposes:
- type: mcp
namespace: pos-reconciliation
port: 8080
tools:
- name: reconcile-daily-pos
description: "Reconcile daily POS register totals and flag discrepancies."
inputParameters:
- name: store_id
in: body
type: string
description: "Store ID."
- name: date
in: body
type: string
description: "Business date."
steps:
- name: get-totals
type: call
call: "pos.get-register-summary"
with:
store_id: "{{store_id}}"
date: "{{date}}"
- name: flag-variance
type: call
call: "servicenow.create-incident"
with:
short_description: "POS variance at store {{store_id}} on {{date}}"
category: "finance"
description: "Variance: ${{get-totals.variance_amount}} at store {{store_id}}."
consumes:
- type: http
namespace: pos
baseUri: "https://pos.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.pos_token"
resources:
- name: register-summary
path: "/stores/{{store_id}}/registers/summary/{{date}}"
inputParameters:
- name: store_id
in: path
- name: date
in: path
operations:
- name: get-register-summary
method: GET
- type: http
namespace: servicenow
baseUri: "https://ae.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
Monitors integration endpoints, detects failures, creates support tickets, and notifies integration team.
naftiko: "0.5"
info:
label: "Third-Party Integration Health Pipeline"
description: "Monitors integration endpoints, detects failures, creates support tickets, and notifies integration team."
tags:
- integrations
- datadog
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: integrations
port: 8080
tools:
- name: third_party_integration_health_pipeline
description: "Orchestrate third-party integration health pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-datadog
type: call
call: "datadog.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-datadog.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Third-Party Integration Health Pipeline step 3 complete."
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
header: "DD-API-KEY"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: datadog-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Tracks mandatory training completion, sends reminders, escalates non-compliance, and reports status.
naftiko: "0.5"
info:
label: "Training Compliance Tracker Pipeline"
description: "Tracks mandatory training completion, sends reminders, escalates non-compliance, and reports status."
tags:
- compliance
- workday
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: training_compliance_tracker_pipeline
description: "Orchestrate training compliance tracker pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-salesforce
type: call
call: "salesforce.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-servicenow
type: call
call: "servicenow.process-resource"
with:
data: "{{get-salesforce.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Training Compliance Tracker Pipeline step 3 complete."
consumes:
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Retrieves supplier compliance documents from the vendor portal, uploads them to SharePoint for archival, and creates a Jira review task for the compliance team.
naftiko: "0.5"
info:
label: "Vendor Compliance Check Pipeline"
description: "Retrieves supplier compliance documents from the vendor portal, uploads them to SharePoint for archival, and creates a Jira review task for the compliance team."
tags:
- procurement
- compliance
- sharepoint
- jira
capability:
exposes:
- type: mcp
namespace: vendor-compliance
port: 8080
tools:
- name: check-vendor-compliance
description: "Collect vendor compliance documents and route for review."
inputParameters:
- name: vendor_id
in: body
type: string
description: "Vendor identifier."
- name: doc_type
in: body
type: string
description: "Compliance document type."
steps:
- name: get-doc
type: call
call: "vendor-portal.get-document"
with:
vendor_id: "{{vendor_id}}"
doc_type: "{{doc_type}}"
- name: upload-doc
type: call
call: "sharepoint.upload-file"
with:
site_id: "vendor_compliance"
folder_path: "Vendors/{{vendor_id}}"
file_name: "{{get-doc.file_name}}"
file_content: "{{get-doc.content}}"
- name: create-review
type: call
call: "jira.create-issue"
with:
project: "COMPLIANCE"
issue_type: "Task"
summary: "Review {{doc_type}} from vendor {{vendor_id}}"
description: "Document: {{upload-doc.url}}"
consumes:
- type: http
namespace: vendor-portal
baseUri: "https://vendors.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.vendor_portal_token"
resources:
- name: documents
path: "/vendors/{{vendor_id}}/documents/{{doc_type}}"
inputParameters:
- name: vendor_id
in: path
- name: doc_type
in: path
operations:
- name: get-document
method: GET
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: files
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: jira
baseUri: "https://ae-outfitters.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
Reconciles vendor invoices with POs, flags discrepancies, processes payments, and sends remittances.
naftiko: "0.5"
info:
label: "Vendor Payment Reconciliation Pipeline"
description: "Reconciles vendor invoices with POs, flags discrepancies, processes payments, and sends remittances."
tags:
- finance
- servicenow
- salesforce
- slack
capability:
exposes:
- type: mcp
namespace: finance
port: 8080
tools:
- name: vendor_payment_reconciliation_pipeline
description: "Orchestrate vendor payment reconciliation pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-servicenow
type: call
call: "servicenow.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-salesforce
type: call
call: "salesforce.process-resource"
with:
data: "{{get-servicenow.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Vendor Payment Reconciliation Pipeline step 3 complete."
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: salesforce
baseUri: "https://american-eagle-outfitters.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: salesforce-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Evaluates vendor security posture, scores risk, creates assessment records, and notifies procurement.
naftiko: "0.5"
info:
label: "Vendor Risk Assessment Pipeline"
description: "Evaluates vendor security posture, scores risk, creates assessment records, and notifies procurement."
tags:
- procurement
- servicenow
- confluence
- slack
capability:
exposes:
- type: mcp
namespace: procurement
port: 8080
tools:
- name: vendor_risk_assessment_pipeline
description: "Orchestrate vendor risk assessment pipeline workflow."
inputParameters:
- name: resource_id
in: body
type: string
description: "Primary resource identifier."
steps:
- name: get-servicenow
type: call
call: "servicenow.get-resource"
with:
resource_id: "{{resource_id}}"
- name: process-confluence
type: call
call: "confluence.process-resource"
with:
data: "{{get-servicenow.result}}"
- name: create-slack
type: call
call: "slack.create-resource"
with:
channel: "{{notification_channel}}"
text: "Vendor Risk Assessment Pipeline step 3 complete."
consumes:
- type: http
namespace: servicenow
baseUri: "https://american-eagle-outfitters.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: servicenow-op
method: POST
- type: http
namespace: confluence
baseUri: "https://american-eagle-outfitters.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: confluence-op
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: resources
path: "/resources/{{resource_id}}"
operations:
- name: slack-op
method: POST
Aggregates weekly POS sales data across all stores, generates a performance summary, and emails the weekly report to district managers via Microsoft Outlook.
naftiko: "0.5"
info:
label: "Weekly Store Performance Email"
description: "Aggregates weekly POS sales data across all stores, generates a performance summary, and emails the weekly report to district managers via Microsoft Outlook."
tags:
- retail
- analytics
- pos
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: weekly-reporting
port: 8080
tools:
- name: send-weekly-performance
description: "Generate and email the weekly store performance summary to district managers."
inputParameters:
- name: district_id
in: body
type: string
description: "District identifier."
- name: week_ending
in: body
type: string
description: "Week ending date."
- name: manager_email
in: body
type: string
description: "District manager email."
steps:
- name: get-sales
type: call
call: "pos.get-district-sales"
with:
district_id: "{{district_id}}"
week_ending: "{{week_ending}}"
- name: send-report
type: call
call: "outlook.send-mail"
with:
to: "{{manager_email}}"
subject: "Weekly Performance - District {{district_id}} ending {{week_ending}}"
body: "Total revenue: ${{get-sales.total_revenue}}. Top store: {{get-sales.top_store}}. YoY comp: {{get-sales.comp_pct}}%."
consumes:
- type: http
namespace: pos
baseUri: "https://pos.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.pos_token"
resources:
- name: district-sales
path: "/districts/{{district_id}}/sales/weekly"
inputParameters:
- name: district_id
in: path
operations:
- name: get-district-sales
method: GET
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-mail
method: POST
Pulls weekly shift schedules from the workforce management system and sends schedule reminders to associates via Microsoft Teams.
naftiko: "0.5"
info:
label: "Workforce Scheduling Reminder"
description: "Pulls weekly shift schedules from the workforce management system and sends schedule reminders to associates via Microsoft Teams."
tags:
- hr
- workforce-management
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: workforce
port: 8080
tools:
- name: send-schedule-reminders
description: "Send weekly shift reminders to store associates."
inputParameters:
- name: store_id
in: body
type: string
description: "Store ID."
- name: week_start
in: body
type: string
description: "Week start date."
steps:
- name: get-schedule
type: call
call: "wfm.get-schedule"
with:
store_id: "{{store_id}}"
week_start: "{{week_start}}"
- name: notify-store
type: call
call: "msteams.send-message"
with:
channel_id: "store_{{store_id}}"
text: "Weekly schedule for store {{store_id}} starting {{week_start}} is posted. {{get-schedule.summary}}"
consumes:
- type: http
namespace: wfm
baseUri: "https://wfm.ae.com/api/v1"
authentication:
type: bearer
token: "$secrets.wfm_token"
resources:
- name: schedules
path: "/stores/{{store_id}}/schedules"
inputParameters:
- name: store_id
in: path
operations:
- name: get-schedule
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: channel_id
in: path
operations:
- name: send-message
method: POST