Chipotle Capabilities

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

Sort
Expand

Pulls Adobe Analytics reports for Chipotle digital customer experience metrics across web and mobile channels.

naftiko: "0.5"
info:
  label: "Adobe Analytics Digital Experience Report"
  description: "Pulls Adobe Analytics reports for Chipotle digital customer experience metrics across web and mobile channels."
  tags:
    - analytics
    - adobe-analytics
    - customer-experience
    - digital
capability:
  exposes:
    - type: mcp
      namespace: digital-experience
      port: 8080
      tools:
        - name: get-experience-report
          description: "Retrieve Adobe Analytics digital experience report."
          inputParameters:
            - name: report_suite_id
              in: body
              type: string
              description: "The Adobe Analytics report suite ID."
            - name: date_range
              in: body
              type: string
              description: "The date range for the report."
          call: "adobe-analytics.get-report"
          with:
            rsid: "{{report_suite_id}}"
            dimension: "variables/mobiledevicetype"
            globalFilters: "[{type:'dateRange',dateRange:'{{date_range}}'}]"
  consumes:
    - type: http
      namespace: adobe-analytics
      baseUri: "https://analytics.adobe.io/api"
      authentication:
        type: bearer
        token: "$secrets.adobe_analytics_token"
      resources:
        - name: reports
          path: "/{{rsid}}/reports"
          inputParameters:
            - name: rsid
              in: path
          operations:
            - name: get-report
              method: POST

Retrieves ADP payroll processing status for Chipotle restaurant employees, returning pay period, status, and total payroll amount.

naftiko: "0.5"
info:
  label: "ADP Payroll Processing Status"
  description: "Retrieves ADP payroll processing status for Chipotle restaurant employees, returning pay period, status, and total payroll amount."
  tags:
    - payroll
    - adp
    - hr
    - finance
capability:
  exposes:
    - type: mcp
      namespace: payroll-mgmt
      port: 8080
      tools:
        - name: get-payroll-status
          description: "Retrieve ADP payroll processing status for a pay period."
          inputParameters:
            - name: pay_period_id
              in: body
              type: string
              description: "The ADP pay period ID."
          call: "adp.get-payroll"
          with:
            pay_period_id: "{{pay_period_id}}"
  consumes:
    - type: http
      namespace: adp
      baseUri: "https://api.adp.com/payroll/v1"
      authentication:
        type: bearer
        token: "$secrets.adp_token"
      resources:
        - name: payrolls
          path: "/pay-periods/{{pay_period_id}}"
          inputParameters:
            - name: pay_period_id
              in: path
          operations:
            - name: get-payroll
              method: GET

Retrieves time and attendance records from ADP Workforce Now for Chipotle restaurant employees, returning clock-in/out data and hours worked.

naftiko: "0.5"
info:
  label: "ADP Time and Attendance Report"
  description: "Retrieves time and attendance records from ADP Workforce Now for Chipotle restaurant employees, returning clock-in/out data and hours worked."
  tags:
    - hr
    - adp
    - time-tracking
    - workforce-management
capability:
  exposes:
    - type: mcp
      namespace: time-attendance
      port: 8080
      tools:
        - name: get-time-attendance
          description: "Retrieve time and attendance records from ADP."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The Chipotle restaurant number."
            - name: pay_period
              in: body
              type: string
              description: "The pay period to query."
          call: "adp.get-time-records"
          with:
            location_id: "{{restaurant_number}}"
            period: "{{pay_period}}"
  consumes:
    - type: http
      namespace: adp
      baseUri: "https://api.adp.com/time/v3"
      authentication:
        type: bearer
        token: "$secrets.adp_token"
      resources:
        - name: time-records
          path: "/workers/time-cards"
          inputParameters:
            - name: location_id
              in: query
            - name: period
              in: query
          operations:
            - name: get-time-records
              method: GET

Queries Amazon Redshift for Chipotle guest behavior analytics, returning order frequency, average spend, and loyalty engagement data.

naftiko: "0.5"
info:
  label: "Amazon Redshift Guest Analytics Query"
  description: "Queries Amazon Redshift for Chipotle guest behavior analytics, returning order frequency, average spend, and loyalty engagement data."
  tags:
    - analytics
    - amazon-redshift
    - guest-experience
    - data-warehouse
capability:
  exposes:
    - type: mcp
      namespace: guest-analytics
      port: 8080
      tools:
        - name: query-guest-analytics
          description: "Query Redshift for guest behavior analytics."
          inputParameters:
            - name: segment
              in: body
              type: string
              description: "The guest segment to analyze."
          call: "redshift.execute-query"
          with:
            query: "SELECT * FROM guest_analytics WHERE segment = '{{segment}}'"
  consumes:
    - type: http
      namespace: redshift
      baseUri: "https://chipotle-redshift.amazonaws.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.redshift_token"
      resources:
        - name: queries
          path: "/execute"
          operations:
            - name: execute-query
              method: POST

Lists files in Chipotle's Amazon S3 data lake for data engineering pipelines and analytics workloads.

naftiko: "0.5"
info:
  label: "Amazon S3 Data Lake File Listing"
  description: "Lists files in Chipotle's Amazon S3 data lake for data engineering pipelines and analytics workloads."
  tags:
    - data-lake
    - amazon-s3
    - data-engineering
    - storage
capability:
  exposes:
    - type: mcp
      namespace: data-lake
      port: 8080
      tools:
        - name: list-data-lake-files
          description: "List files in an S3 data lake prefix."
          inputParameters:
            - name: bucket
              in: body
              type: string
              description: "The S3 bucket name."
            - name: prefix
              in: body
              type: string
              description: "The S3 key prefix."
          call: "s3.list-objects"
          with:
            Bucket: "{{bucket}}"
            Prefix: "{{prefix}}"
  consumes:
    - type: http
      namespace: s3
      baseUri: "https://s3.us-east-1.amazonaws.com"
      authentication:
        type: aws-sigv4
        access_key: "$secrets.aws_access_key"
        secret_key: "$secrets.aws_secret_key"
      resources:
        - name: objects
          path: "/{{Bucket}}"
          inputParameters:
            - name: Bucket
              in: path
            - name: Prefix
              in: query
          operations:
            - name: list-objects
              method: GET

Triggers an Azure Data Factory pipeline run for Chipotle data integration and ETL workflows.

naftiko: "0.5"
info:
  label: "Azure Data Factory Pipeline Trigger"
  description: "Triggers an Azure Data Factory pipeline run for Chipotle data integration and ETL workflows."
  tags:
    - data-integration
    - azure-data-factory
    - etl
    - data-pipeline
capability:
  exposes:
    - type: mcp
      namespace: data-pipelines
      port: 8080
      tools:
        - name: trigger-adf-pipeline
          description: "Trigger an Azure Data Factory pipeline run."
          inputParameters:
            - name: pipeline_name
              in: body
              type: string
              description: "The ADF pipeline name."
          call: "adf.create-pipeline-run"
          with:
            pipeline_name: "{{pipeline_name}}"
  consumes:
    - type: http
      namespace: adf
      baseUri: "https://management.azure.com/subscriptions/{{sub_id}}/resourceGroups/{{rg}}/providers/Microsoft.DataFactory/factories/chipotle-adf"
      authentication:
        type: bearer
        token: "$secrets.azure_token"
      resources:
        - name: pipelines
          path: "/pipelines/{{pipeline_name}}/createRun"
          inputParameters:
            - name: pipeline_name
              in: path
          operations:
            - name: create-pipeline-run
              method: POST

Checks the latest release pipeline status in Azure DevOps for Chipotle CI/CD workflows.

naftiko: "0.5"
info:
  label: "Azure DevOps Release Pipeline Status"
  description: "Checks the latest release pipeline status in Azure DevOps for Chipotle CI/CD workflows."
  tags:
    - ci-cd
    - azure-devops
    - release-management
capability:
  exposes:
    - type: mcp
      namespace: devops-releases
      port: 8080
      tools:
        - name: get-release-status
          description: "Retrieve the latest release status for an Azure DevOps pipeline."
          inputParameters:
            - name: project
              in: body
              type: string
              description: "The Azure DevOps project name."
            - name: definition_id
              in: body
              type: string
              description: "The release definition ID."
          call: "azuredevops.get-releases"
          with:
            project: "{{project}}"
            definitionId: "{{definition_id}}"
            top: "1"
  consumes:
    - type: http
      namespace: azuredevops
      baseUri: "https://vsrm.dev.azure.com/chipotle"
      authentication:
        type: basic
        username: ""
        password: "$secrets.azuredevops_pat"
      resources:
        - name: releases
          path: "/{{project}}/_apis/release/releases"
          inputParameters:
            - name: project
              in: path
            - name: definitionId
              in: query
            - name: top
              in: query
          operations:
            - name: get-releases
              method: GET

Invokes an Azure Machine Learning endpoint for Chipotle restaurant demand forecasting based on location, day of week, weather, and historical data.

naftiko: "0.5"
info:
  label: "Azure Machine Learning Demand Forecasting"
  description: "Invokes an Azure Machine Learning endpoint for Chipotle restaurant demand forecasting based on location, day of week, weather, and historical data."
  tags:
    - machine-learning
    - azure-machine-learning
    - demand-forecasting
    - ai
capability:
  exposes:
    - type: mcp
      namespace: ml-forecasting
      port: 8080
      tools:
        - name: forecast-demand
          description: "Run a demand forecasting model via Azure ML endpoint."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
            - name: forecast_date
              in: body
              type: string
              description: "The date to forecast for."
          call: "azureml.invoke-endpoint"
          with:
            endpoint: "demand_forecast"
            inputs: "{restaurant: '{{restaurant_number}}', date: '{{forecast_date}}'}"
  consumes:
    - type: http
      namespace: azureml
      baseUri: "https://chipotle-ml.eastus.inference.ml.azure.com"
      authentication:
        type: bearer
        token: "$secrets.azure_ml_token"
      resources:
        - name: endpoints
          path: "/score"
          operations:
            - name: invoke-endpoint
              method: POST

Retrieves BigCommerce order details for Chipotle merchandise and catering supply orders, returning order status, items, and shipping information.

naftiko: "0.5"
info:
  label: "BigCommerce Order Lookup"
  description: "Retrieves BigCommerce order details for Chipotle merchandise and catering supply orders, returning order status, items, and shipping information."
  tags:
    - ecommerce
    - bigcommerce
    - order-management
    - merchandise
capability:
  exposes:
    - type: mcp
      namespace: ecommerce-orders
      port: 8080
      tools:
        - name: get-order-details
          description: "Retrieve a BigCommerce order by order ID."
          inputParameters:
            - name: order_id
              in: body
              type: string
              description: "The BigCommerce order ID."
          call: "bigcommerce.get-order"
          with:
            order_id: "{{order_id}}"
  consumes:
    - type: http
      namespace: bigcommerce
      baseUri: "https://api.bigcommerce.com/stores/{{store_hash}}/v2"
      authentication:
        type: apikey
        key: "$secrets.bigcommerce_token"
      resources:
        - name: orders
          path: "/orders/{{order_id}}"
          inputParameters:
            - name: order_id
              in: path
          operations:
            - name: get-order
              method: GET

Retrieves training documents from Box for Chipotle crew member development programs, returning file metadata and download URL.

naftiko: "0.5"
info:
  label: "Box Training Document Retrieval"
  description: "Retrieves training documents from Box for Chipotle crew member development programs, returning file metadata and download URL."
  tags:
    - document-management
    - box
    - training
capability:
  exposes:
    - type: mcp
      namespace: doc-management
      port: 8080
      tools:
        - name: get-training-document
          description: "Retrieve a Box training document by file ID."
          inputParameters:
            - name: file_id
              in: body
              type: string
              description: "The Box file ID."
          call: "box.get-file"
          with:
            file_id: "{{file_id}}"
  consumes:
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files/{{file_id}}"
          inputParameters:
            - name: file_id
              in: path
          operations:
            - name: get-file
              method: GET

Retrieves marketing design assets from Canva for Chipotle brand campaigns, returning design files, dimensions, and publish status.

naftiko: "0.5"
info:
  label: "Canva Marketing Asset Retrieval"
  description: "Retrieves marketing design assets from Canva for Chipotle brand campaigns, returning design files, dimensions, and publish status."
  tags:
    - marketing
    - canva
    - brand-assets
    - design
capability:
  exposes:
    - type: mcp
      namespace: marketing-assets
      port: 8080
      tools:
        - name: get-marketing-asset
          description: "Retrieve a marketing design asset from Canva."
          inputParameters:
            - name: design_id
              in: body
              type: string
              description: "The Canva design ID."
          call: "canva.get-design"
          with:
            design_id: "{{design_id}}"
  consumes:
    - type: http
      namespace: canva
      baseUri: "https://api.canva.com/rest/v1"
      authentication:
        type: bearer
        token: "$secrets.canva_token"
      resources:
        - name: designs
          path: "/designs/{{design_id}}"
          inputParameters:
            - name: design_id
              in: path
          operations:
            - name: get-design
              method: GET

Processes catering orders by confirming inventory in Oracle, scheduling delivery via Google Maps routing, and sending confirmation through Salesforce.

naftiko: "0.5"
info:
  label: "Catering Order Fulfillment Pipeline"
  description: "Processes catering orders by confirming inventory in Oracle, scheduling delivery via Google Maps routing, and sending confirmation through Salesforce."
  tags:
    - catering
    - oracle
    - google-maps
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: catering-fulfillment
      port: 8080
      tools:
        - name: process-catering-order
          description: "Process a catering order through inventory, routing, and confirmation."
          inputParameters:
            - name: order_id
              in: body
              type: string
              description: "The catering order ID."
            - name: delivery_address
              in: body
              type: string
              description: "The delivery address."
          steps:
            - name: confirm-inventory
              type: call
              call: "oracle-ebs.check-catering-stock"
              with:
                order_id: "{{order_id}}"
            - name: plan-delivery
              type: call
              call: "google-maps.get-directions"
              with:
                origin: "{{confirm-inventory.restaurant_address}}"
                destination: "{{delivery_address}}"
            - name: send-confirmation
              type: call
              call: "salesforce.update-case"
              with:
                case_id: "{{order_id}}"
                status: "Confirmed"
                comments: "Delivery ETA: {{plan-delivery.duration}}. Distance: {{plan-delivery.distance}}."
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: catering-stock
          path: "/cateringInventory"
          inputParameters:
            - name: order_id
              in: query
          operations:
            - name: check-catering-stock
              method: GET
    - type: http
      namespace: google-maps
      baseUri: "https://maps.googleapis.com/maps/api"
      authentication:
        type: api-key
        key: "$secrets.google_maps_key"
      resources:
        - name: directions
          path: "/directions/json"
          inputParameters:
            - name: origin
              in: query
            - name: destination
              in: query
          operations:
            - name: get-directions
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://chipotle.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: cases
          path: "/sobjects/Case/{{case_id}}"
          inputParameters:
            - name: case_id
              in: path
          operations:
            - name: update-case
              method: PATCH

Tracks Chipotlane digital pickup orders by correlating Square POS data with BigCommerce online orders and updating customers via WhatsApp notifications.

naftiko: "0.5"
info:
  label: "Chipotlane Order Tracking Pipeline"
  description: "Tracks Chipotlane digital pickup orders by correlating Square POS data with BigCommerce online orders and updating customers via WhatsApp notifications."
  tags:
    - digital-ordering
    - square
    - bigcommerce
    - whatsapp
capability:
  exposes:
    - type: mcp
      namespace: chipotlane-tracking
      port: 8080
      tools:
        - name: track-chipotlane-order
          description: "Track a Chipotlane digital order from placement to pickup."
          inputParameters:
            - name: order_id
              in: body
              type: string
              description: "The online order ID."
            - name: phone_number
              in: body
              type: string
              description: "Customer phone number."
          steps:
            - name: get-online-order
              type: call
              call: "bigcommerce.get-order"
              with:
                order_id: "{{order_id}}"
            - name: get-pos-status
              type: call
              call: "square.get-order-status"
              with:
                reference_id: "{{order_id}}"
            - name: notify-customer
              type: call
              call: "whatsapp.send-message"
              with:
                to: "{{phone_number}}"
                message: "Your Chipotlane order #{{order_id}} is {{get-pos-status.status}}. ETA: {{get-pos-status.eta}} minutes."
  consumes:
    - type: http
      namespace: bigcommerce
      baseUri: "https://api.bigcommerce.com/stores/chipotle/v3"
      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: square
      baseUri: "https://connect.squareup.com/v2"
      authentication:
        type: bearer
        token: "$secrets.square_token"
      resources:
        - name: orders
          path: "/orders/search"
          operations:
            - name: get-order-status
              method: POST
    - type: http
      namespace: whatsapp
      baseUri: "https://graph.facebook.com/v18.0"
      authentication:
        type: bearer
        token: "$secrets.whatsapp_token"
      resources:
        - name: messages
          path: "/messages"
          operations:
            - name: send-message
              method: POST

Retrieves Cisco network device inventory for Chipotle restaurant and corporate locations, returning device type, firmware version, and management status.

naftiko: "0.5"
info:
  label: "Cisco Network Device Inventory"
  description: "Retrieves Cisco network device inventory for Chipotle restaurant and corporate locations, returning device type, firmware version, and management status."
  tags:
    - networking
    - cisco
    - infrastructure
    - inventory
capability:
  exposes:
    - type: mcp
      namespace: network-inventory
      port: 8080
      tools:
        - name: get-network-devices
          description: "Retrieve Cisco network device inventory."
          inputParameters:
            - name: site_id
              in: body
              type: string
              description: "The site identifier."
          call: "cisco.get-devices"
          with:
            site_id: "{{site_id}}"
  consumes:
    - type: http
      namespace: cisco
      baseUri: "https://chipotle-dnac.cisco.com/dna/intent/api/v1"
      authentication:
        type: bearer
        token: "$secrets.cisco_token"
      resources:
        - name: devices
          path: "/network-device"
          inputParameters:
            - name: site_id
              in: query
          operations:
            - name: get-devices
              method: GET

Retrieves Cloudflare CDN analytics for Chipotle's digital properties, returning bandwidth, requests, and cache hit rates.

naftiko: "0.5"
info:
  label: "Cloudflare CDN Performance Check"
  description: "Retrieves Cloudflare CDN analytics for Chipotle's digital properties, returning bandwidth, requests, and cache hit rates."
  tags:
    - infrastructure
    - cloudflare
    - cdn
    - performance
capability:
  exposes:
    - type: mcp
      namespace: cdn-analytics
      port: 8080
      tools:
        - name: get-cdn-analytics
          description: "Retrieve Cloudflare CDN analytics for a zone."
          inputParameters:
            - name: zone_id
              in: body
              type: string
              description: "The Cloudflare zone ID."
          call: "cloudflare.get-zone-analytics"
          with:
            zone_id: "{{zone_id}}"
  consumes:
    - type: http
      namespace: cloudflare
      baseUri: "https://api.cloudflare.com/client/v4"
      authentication:
        type: bearer
        token: "$secrets.cloudflare_token"
      resources:
        - name: analytics
          path: "/zones/{{zone_id}}/analytics/dashboard"
          inputParameters:
            - name: zone_id
              in: path
          operations:
            - name: get-zone-analytics
              method: GET

Searches AWS CloudWatch logs for Chipotle application events, returning matching log entries with timestamps and severity levels.

naftiko: "0.5"
info:
  label: "CloudWatch Application Log Search"
  description: "Searches AWS CloudWatch logs for Chipotle application events, returning matching log entries with timestamps and severity levels."
  tags:
    - monitoring
    - cloudwatch
    - logging
    - aws
capability:
  exposes:
    - type: mcp
      namespace: log-search
      port: 8080
      tools:
        - name: search-application-logs
          description: "Search CloudWatch logs for application events."
          inputParameters:
            - name: log_group
              in: body
              type: string
              description: "The CloudWatch log group name."
            - name: filter_pattern
              in: body
              type: string
              description: "The log filter pattern."
          call: "cloudwatch.filter-log-events"
          with:
            log_group: "{{log_group}}"
            filter: "{{filter_pattern}}"
  consumes:
    - type: http
      namespace: cloudwatch
      baseUri: "https://logs.us-east-1.amazonaws.com"
      authentication:
        type: bearer
        token: "$secrets.aws_cloudwatch_token"
      resources:
        - name: log-events
          path: "/"
          operations:
            - name: filter-log-events
              method: POST

Searches Chipotle's Confluence knowledge base for standard operating procedures, training materials, and food preparation guidelines.

naftiko: "0.5"
info:
  label: "Confluence Knowledge Base Search"
  description: "Searches Chipotle's Confluence knowledge base for standard operating procedures, training materials, and food preparation guidelines."
  tags:
    - knowledge-management
    - confluence
    - training
    - sop
capability:
  exposes:
    - type: mcp
      namespace: knowledge-base
      port: 8080
      tools:
        - name: search-knowledge-base
          description: "Search Confluence for operational procedures and training materials."
          inputParameters:
            - name: query
              in: body
              type: string
              description: "The search query string."
          call: "confluence.search-content"
          with:
            cql: "type=page AND space IN (OPS, FOOD_SAFETY, TRAINING) AND text~'{{query}}'"
            limit: "10"
  consumes:
    - type: http
      namespace: confluence
      baseUri: "https://chipotle.atlassian.net/wiki/rest/api"
      authentication:
        type: basic
        username: "$secrets.confluence_user"
        password: "$secrets.confluence_api_token"
      resources:
        - name: search
          path: "/search"
          inputParameters:
            - name: cql
              in: query
            - name: limit
              in: query
          operations:
            - name: search-content
              method: GET

Optimizes crew schedules by fetching demand forecasts from Databricks, pulling current schedules from Workday, and publishing optimized shifts via ADP.

naftiko: "0.5"
info:
  label: "Crew Scheduling Optimization Pipeline"
  description: "Optimizes crew schedules by fetching demand forecasts from Databricks, pulling current schedules from Workday, and publishing optimized shifts via ADP."
  tags:
    - workforce-management
    - databricks
    - workday
    - adp
capability:
  exposes:
    - type: mcp
      namespace: crew-scheduling
      port: 8080
      tools:
        - name: optimize-crew-schedule
          description: "Optimize crew scheduling using demand forecasts."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The Chipotle restaurant number."
            - name: week_start
              in: body
              type: string
              description: "The start date of the scheduling week."
          steps:
            - name: get-forecast
              type: call
              call: "databricks.invoke-endpoint"
              with:
                endpoint: "demand_forecast"
                inputs: "{restaurant: '{{restaurant_number}}', week: '{{week_start}}'}"
            - name: get-availability
              type: call
              call: "workday.get-worker-availability"
              with:
                location: "{{restaurant_number}}"
                week: "{{week_start}}"
            - name: publish-schedule
              type: call
              call: "adp.create-schedule"
              with:
                location_id: "{{restaurant_number}}"
                week_start: "{{week_start}}"
                forecast_demand: "{{get-forecast.peak_hours}}"
                available_crew: "{{get-availability.worker_count}}"
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://chipotle.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://chipotle.workday.com/api/staffing/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: availability
          path: "/workers/availability"
          inputParameters:
            - name: location
              in: query
            - name: week
              in: query
          operations:
            - name: get-worker-availability
              method: GET
    - type: http
      namespace: adp
      baseUri: "https://api.adp.com/time/v3"
      authentication:
        type: bearer
        token: "$secrets.adp_token"
      resources:
        - name: schedules
          path: "/workers/schedules"
          operations:
            - name: create-schedule
              method: POST

Analyzes customer feedback by pulling survey data from Google Forms, running sentiment analysis in Databricks, and creating action items in Jira.

naftiko: "0.5"
info:
  label: "Customer Feedback Analysis Pipeline"
  description: "Analyzes customer feedback by pulling survey data from Google Forms, running sentiment analysis in Databricks, and creating action items in Jira."
  tags:
    - customer-experience
    - google-forms
    - databricks
    - jira
capability:
  exposes:
    - type: mcp
      namespace: feedback-analysis
      port: 8080
      tools:
        - name: analyze-customer-feedback
          description: "Analyze customer feedback with sentiment analysis and action tracking."
          inputParameters:
            - name: form_id
              in: body
              type: string
              description: "The Google Form ID."
            - name: date_range
              in: body
              type: string
              description: "The date range for feedback."
          steps:
            - name: get-responses
              type: call
              call: "google-forms.get-responses"
              with:
                form_id: "{{form_id}}"
                date_range: "{{date_range}}"
            - name: run-sentiment
              type: call
              call: "databricks.invoke-endpoint"
              with:
                endpoint: "sentiment_analyzer"
                inputs: "{responses: {{get-responses.response_count}}}"
            - name: create-actions
              type: call
              call: "jira.create-issue"
              with:
                project: "CX"
                summary: "Feedback analysis: {{date_range}}"
                description: "Responses: {{get-responses.response_count}}. Sentiment: {{run-sentiment.overall_score}}/5. Top issues: {{run-sentiment.top_issues}}."
                issue_type: "Task"
  consumes:
    - type: http
      namespace: google-forms
      baseUri: "https://forms.googleapis.com/v1"
      authentication:
        type: bearer
        token: "$secrets.google_forms_token"
      resources:
        - name: responses
          path: "/forms/{{form_id}}/responses"
          inputParameters:
            - name: form_id
              in: path
          operations:
            - name: get-responses
              method: GET
    - type: http
      namespace: databricks
      baseUri: "https://chipotle.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://chipotle.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Runs daily health checks by pulling POS metrics from Square, network status from SolarWinds, and kitchen equipment alerts from Datadog, then posts a summary to Microsoft Teams.

naftiko: "0.5"
info:
  label: "Daily Restaurant Health Check Pipeline"
  description: "Runs daily health checks by pulling POS metrics from Square, network status from SolarWinds, and kitchen equipment alerts from Datadog, then posts a summary to Microsoft Teams."
  tags:
    - operations
    - square
    - solarwinds
    - datadog
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: restaurant-health
      port: 8080
      tools:
        - name: run-daily-health-check
          description: "Run a comprehensive daily health check for a restaurant."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The Chipotle restaurant number."
          steps:
            - name: pos-metrics
              type: call
              call: "square.get-location-metrics"
              with:
                location_id: "{{restaurant_number}}"
            - name: network-status
              type: call
              call: "solarwinds.get-node-status"
              with:
                node_name: "store-{{restaurant_number}}"
            - name: equipment-alerts
              type: call
              call: "datadog.query-monitors"
              with:
                tag: "restaurant:{{restaurant_number}}"
            - name: post-summary
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "restaurant_ops"
                channel_id: "daily_health"
                text: "Restaurant {{restaurant_number}} Health: POS={{pos-metrics.status}}, Network={{network-status.status}}, Alerts={{equipment-alerts.count}}."
  consumes:
    - type: http
      namespace: square
      baseUri: "https://connect.squareup.com/v2"
      authentication:
        type: bearer
        token: "$secrets.square_token"
      resources:
        - name: locations
          path: "/locations/{{location_id}}/metrics"
          inputParameters:
            - name: location_id
              in: path
          operations:
            - name: get-location-metrics
              method: GET
    - type: http
      namespace: solarwinds
      baseUri: "https://chipotle-solarwinds.com/SolarWinds/InformationService/v3"
      authentication:
        type: basic
        username: "$secrets.solarwinds_user"
        password: "$secrets.solarwinds_password"
      resources:
        - name: nodes
          path: "/Query"
          operations:
            - name: get-node-status
              method: POST
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: api-key
        key: "$secrets.datadog_api_key"
      resources:
        - name: monitors
          path: "/monitor/search"
          inputParameters:
            - name: tag
              in: query
          operations:
            - name: query-monitors
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Invokes a Databricks ML model for Chipotle menu optimization, predicting item performance based on regional preferences and ingredient costs.

naftiko: "0.5"
info:
  label: "Databricks Menu Optimization Model"
  description: "Invokes a Databricks ML model for Chipotle menu optimization, predicting item performance based on regional preferences and ingredient costs."
  tags:
    - machine-learning
    - databricks
    - menu-optimization
    - data-science
capability:
  exposes:
    - type: mcp
      namespace: ml-inference
      port: 8080
      tools:
        - name: run-menu-optimization
          description: "Run a menu optimization model via Databricks serving endpoint."
          inputParameters:
            - name: region
              in: body
              type: string
              description: "The geographic region."
            - name: season
              in: body
              type: string
              description: "The season (spring, summer, fall, winter)."
          call: "databricks.invoke-endpoint"
          with:
            endpoint: "menu_optimization"
            inputs: "{region: '{{region}}', season: '{{season}}'}"
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://chipotle.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: serving-endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST

Queries Datadog for infrastructure metrics at Chipotle restaurant and data center locations, returning CPU, memory, and disk utilization.

naftiko: "0.5"
info:
  label: "Datadog Infrastructure Monitoring"
  description: "Queries Datadog for infrastructure metrics at Chipotle restaurant and data center locations, returning CPU, memory, and disk utilization."
  tags:
    - monitoring
    - datadog
    - infrastructure
capability:
  exposes:
    - type: mcp
      namespace: infra-monitoring
      port: 8080
      tools:
        - name: get-infra-metrics
          description: "Retrieve Datadog infrastructure metrics by host tag."
          inputParameters:
            - name: host_tag
              in: body
              type: string
              description: "The Datadog host tag to filter by."
          call: "datadog.query-metrics"
          with:
            query: "avg:system.cpu.user{{{host_tag}}}"
            from: "now-1h"
            to: "now"
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: apikey
        key: "$secrets.datadog_api_key"
        app_key: "$secrets.datadog_app_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
            - name: from
              in: query
            - name: to
              in: query
          operations:
            - name: query-metrics
              method: GET

Tracks delivery partner performance by pulling order data from BigCommerce, analyzing delivery times in Snowflake, and generating scorecards in Tableau.

naftiko: "0.5"
info:
  label: "Delivery Partner Performance Pipeline"
  description: "Tracks delivery partner performance by pulling order data from BigCommerce, analyzing delivery times in Snowflake, and generating scorecards in Tableau."
  tags:
    - delivery
    - bigcommerce
    - snowflake
    - tableau
capability:
  exposes:
    - type: mcp
      namespace: delivery-performance
      port: 8080
      tools:
        - name: track-delivery-performance
          description: "Track and analyze delivery partner performance metrics."
          inputParameters:
            - name: partner_id
              in: body
              type: string
              description: "The delivery partner identifier."
            - name: period
              in: body
              type: string
              description: "The reporting period."
          steps:
            - name: get-order-data
              type: call
              call: "bigcommerce.get-orders"
              with:
                channel: "{{partner_id}}"
                date_range: "{{period}}"
            - name: analyze-times
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT avg_delivery_time, on_time_pct, complaint_rate FROM delivery_performance WHERE partner = '{{partner_id}}' AND period = '{{period}}'"
            - name: refresh-scorecard
              type: call
              call: "tableau.refresh-extract"
              with:
                workbook: "delivery_scorecards"
                datasource: "partner_performance"
  consumes:
    - type: http
      namespace: bigcommerce
      baseUri: "https://api.bigcommerce.com/stores/chipotle/v3"
      authentication:
        type: bearer
        token: "$secrets.bigcommerce_token"
      resources:
        - name: orders
          path: "/orders"
          inputParameters:
            - name: channel
              in: query
            - name: date_range
              in: query
          operations:
            - name: get-orders
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: tableau
      baseUri: "https://chipotle.online.tableau.com/api/3.14"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: extracts
          path: "/sites/chipotle/workbooks/{{workbook}}/refresh"
          inputParameters:
            - name: workbook
              in: path
          operations:
            - name: refresh-extract
              method: POST

Updates digital menu board content by fetching pricing from SAP, retrieving promotional assets from Box, and deploying content through Azure Data Factory.

naftiko: "0.5"
info:
  label: "Digital Menu Board Content Pipeline"
  description: "Updates digital menu board content by fetching pricing from SAP, retrieving promotional assets from Box, and deploying content through Azure Data Factory."
  tags:
    - menu-management
    - sap
    - box
    - azure-data-factory
capability:
  exposes:
    - type: mcp
      namespace: menu-board-content
      port: 8080
      tools:
        - name: update-menu-board-content
          description: "Update digital menu board content with current pricing and promotions."
          inputParameters:
            - name: region
              in: body
              type: string
              description: "The target region."
            - name: campaign_id
              in: body
              type: string
              description: "The promotional campaign ID."
          steps:
            - name: get-pricing
              type: call
              call: "sap.get-menu-prices"
              with:
                region: "{{region}}"
            - name: get-promo-assets
              type: call
              call: "box.get-folder-items"
              with:
                folder_id: "promo_{{campaign_id}}"
            - name: deploy-content
              type: call
              call: "adf.trigger-pipeline"
              with:
                pipeline: "menu_board_update"
                parameters: "{region: '{{region}}', prices: '{{get-pricing.items}}'}"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://chipotle-s4.sap.com/sap/opu/odata/sap/MENU_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: prices
          path: "/MenuPrices"
          inputParameters:
            - name: region
              in: query
          operations:
            - name: get-menu-prices
              method: GET
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: folders
          path: "/folders/{{folder_id}}/items"
          inputParameters:
            - name: folder_id
              in: path
          operations:
            - name: get-folder-items
              method: GET
    - type: http
      namespace: adf
      baseUri: "https://management.azure.com/subscriptions/chipotle-sub/resourceGroups/data-rg/providers/Microsoft.DataFactory/factories/chipotle-adf"
      authentication:
        type: bearer
        token: "$secrets.azure_token"
      resources:
        - name: pipelines
          path: "/pipelines/{{pipeline}}/createRun"
          inputParameters:
            - name: pipeline
              in: path
          operations:
            - name: trigger-pipeline
              method: POST

Detects digital order surges through Datadog metrics, triggers Azure Kubernetes auto-scaling, and alerts the digital operations team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Digital Order Surge Scaling Pipeline"
  description: "Detects digital order surges through Datadog metrics, triggers Azure Kubernetes auto-scaling, and alerts the digital operations team via Microsoft Teams."
  tags:
    - digital-ordering
    - datadog
    - azure-kubernetes
    - microsoft-teams
    - auto-scaling
capability:
  exposes:
    - type: mcp
      namespace: digital-scaling
      port: 8080
      tools:
        - name: handle-order-surge
          description: "Detect and respond to digital order surges with auto-scaling."
          inputParameters:
            - name: threshold_pct
              in: body
              type: string
              description: "The surge threshold percentage."
          steps:
            - name: check-order-volume
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:chipotle.digital_orders.rate{*}"
                threshold: "{{threshold_pct}}"
            - name: scale-services
              type: call
              call: "aks.scale-deployment"
              with:
                deployment: "digital-ordering-api"
                replicas: "{{check-order-volume.recommended_replicas}}"
            - name: alert-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "digital_ops"
                channel_id: "surge_alerts"
                text: "Order surge detected: {{check-order-volume.current_rate}} orders/min. Auto-scaled to {{check-order-volume.recommended_replicas}} replicas."
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: api-key
        key: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: aks
      baseUri: "https://management.azure.com/subscriptions/chipotle-sub/resourceGroups/digital-rg"
      authentication:
        type: bearer
        token: "$secrets.azure_token"
      resources:
        - name: deployments
          path: "/providers/Microsoft.ContainerService/managedClusters/digital-cluster/apis/apps/v1/namespaces/production/deployments/{{deployment}}/scale"
          inputParameters:
            - name: deployment
              in: path
          operations:
            - name: scale-deployment
              method: PUT
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Optimizes drive-thru performance by analyzing wait times in Snowflake, correlating with staffing in Workday, and posting optimization recommendations to Confluence.

naftiko: "0.5"
info:
  label: "Drive-Thru Performance Optimization Pipeline"
  description: "Optimizes drive-thru performance by analyzing wait times in Snowflake, correlating with staffing in Workday, and posting optimization recommendations to Confluence."
  tags:
    - operations
    - snowflake
    - workday
    - confluence
    - drive-thru
capability:
  exposes:
    - type: mcp
      namespace: drive-thru-ops
      port: 8080
      tools:
        - name: optimize-drive-thru
          description: "Analyze and optimize drive-thru performance for a restaurant."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
            - name: date
              in: body
              type: string
              description: "The analysis date."
          steps:
            - name: get-wait-times
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT avg_wait_time, peak_wait_time, throughput FROM drive_thru_metrics WHERE restaurant = '{{restaurant_number}}' AND date = '{{date}}'"
            - name: get-staffing
              type: call
              call: "workday.get-shift-data"
              with:
                location: "{{restaurant_number}}"
                date: "{{date}}"
            - name: post-recommendations
              type: call
              call: "confluence.create-page"
              with:
                space_key: "OPS"
                title: "Drive-thru optimization: {{restaurant_number}} ({{date}})"
                body: "Avg wait: {{get-wait-times.avg_wait_time}}s. Peak: {{get-wait-times.peak_wait_time}}s. Staff: {{get-staffing.headcount}}. Throughput: {{get-wait-times.throughput}}/hr."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://chipotle.workday.com/api/staffing/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: shifts
          path: "/workers/shifts"
          inputParameters:
            - name: location
              in: query
            - name: date
              in: query
          operations:
            - name: get-shift-data
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://chipotle.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/content"
          operations:
            - name: create-page
              method: POST

Queries Dynatrace for real-time application performance metrics for Chipotle digital platforms, returning response times, error rates, and throughput.

naftiko: "0.5"
info:
  label: "Dynatrace Application Performance Monitor"
  description: "Queries Dynatrace for real-time application performance metrics for Chipotle digital platforms, returning response times, error rates, and throughput."
  tags:
    - monitoring
    - dynatrace
    - application-performance
    - digital-platform
capability:
  exposes:
    - type: mcp
      namespace: apm-monitoring
      port: 8080
      tools:
        - name: get-app-performance
          description: "Retrieve Dynatrace application performance metrics for a Chipotle digital service."
          inputParameters:
            - name: entity_id
              in: body
              type: string
              description: "The Dynatrace entity ID."
          call: "dynatrace.get-metrics"
          with:
            entityId: "{{entity_id}}"
            metricSelector: "builtin:service.response.time,builtin:service.errors.total.rate"
  consumes:
    - type: http
      namespace: dynatrace
      baseUri: "https://chipotle.live.dynatrace.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.dynatrace_token"
      resources:
        - name: metrics
          path: "/metrics/query"
          inputParameters:
            - name: metricSelector
              in: query
            - name: entityId
              in: query
          operations:
            - name: get-metrics
              method: GET

Facilitates employee performance reviews by pulling metrics from Workday, gathering training completion from Pluralsight, and creating review documents in Google Sheets.

naftiko: "0.5"
info:
  label: "Employee Performance Review Pipeline"
  description: "Facilitates employee performance reviews by pulling metrics from Workday, gathering training completion from Pluralsight, and creating review documents in Google Sheets."
  tags:
    - hr
    - workday
    - pluralsight
    - google-sheets
capability:
  exposes:
    - type: mcp
      namespace: performance-reviews
      port: 8080
      tools:
        - name: prepare-performance-review
          description: "Prepare an employee performance review with data from multiple systems."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The employee ID."
            - name: review_period
              in: body
              type: string
              description: "The review period."
          steps:
            - name: get-performance
              type: call
              call: "workday.get-performance-data"
              with:
                employee_id: "{{employee_id}}"
                period: "{{review_period}}"
            - name: get-training
              type: call
              call: "pluralsight.get-user-progress"
              with:
                user_id: "{{employee_id}}"
            - name: create-review-doc
              type: call
              call: "google-sheets.create-spreadsheet"
              with:
                title: "Review: {{get-performance.name}} - {{review_period}}"
                data: "Rating: {{get-performance.rating}}. Goals met: {{get-performance.goals_met}}/{{get-performance.goals_total}}. Training hours: {{get-training.completed_hours}}."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://chipotle.workday.com/api/performance/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: performance
          path: "/reviews"
          inputParameters:
            - name: employee_id
              in: query
            - name: period
              in: query
          operations:
            - name: get-performance-data
              method: GET
    - type: http
      namespace: pluralsight
      baseUri: "https://api.pluralsight.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pluralsight_token"
      resources:
        - name: progress
          path: "/users/{{user_id}}/progress"
          inputParameters:
            - name: user_id
              in: path
          operations:
            - name: get-user-progress
              method: GET
    - type: http
      namespace: google-sheets
      baseUri: "https://sheets.googleapis.com/v4"
      authentication:
        type: bearer
        token: "$secrets.google_sheets_token"
      resources:
        - name: spreadsheets
          path: "/spreadsheets"
          operations:
            - name: create-spreadsheet
              method: POST

Monitors restaurant energy consumption by querying IoT sensor data in Databricks, comparing against benchmarks in Snowflake, and alerting facilities via ServiceNow.

naftiko: "0.5"
info:
  label: "Energy Consumption Monitoring Pipeline"
  description: "Monitors restaurant energy consumption by querying IoT sensor data in Databricks, comparing against benchmarks in Snowflake, and alerting facilities via ServiceNow."
  tags:
    - sustainability
    - databricks
    - snowflake
    - servicenow
    - energy
capability:
  exposes:
    - type: mcp
      namespace: energy-monitoring
      port: 8080
      tools:
        - name: monitor-energy-consumption
          description: "Monitor and alert on restaurant energy consumption anomalies."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
            - name: date
              in: body
              type: string
              description: "The monitoring date."
          steps:
            - name: get-sensor-data
              type: call
              call: "databricks.invoke-endpoint"
              with:
                endpoint: "energy_sensors"
                inputs: "{restaurant: '{{restaurant_number}}', date: '{{date}}'}"
            - name: get-benchmarks
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT avg_kwh, threshold_kwh FROM energy_benchmarks WHERE restaurant = '{{restaurant_number}}'"
            - name: create-alert
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Energy anomaly: Restaurant {{restaurant_number}}"
                description: "Consumption: {{get-sensor-data.total_kwh}} kWh vs benchmark {{get-benchmarks.avg_kwh}} kWh."
                category: "facilities"
  consumes:
    - type: http
      namespace: databricks
      baseUri: "https://chipotle.cloud.databricks.com/serving-endpoints"
      authentication:
        type: bearer
        token: "$secrets.databricks_token"
      resources:
        - name: endpoints
          path: "/{{endpoint}}/invocations"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.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

Schedules preventive maintenance by checking equipment telemetry in Datadog, creating work orders in ServiceNow, and notifying restaurant managers via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Equipment Maintenance Scheduling Pipeline"
  description: "Schedules preventive maintenance by checking equipment telemetry in Datadog, creating work orders in ServiceNow, and notifying restaurant managers via Microsoft Teams."
  tags:
    - maintenance
    - datadog
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: equipment-maintenance
      port: 8080
      tools:
        - name: schedule-equipment-maintenance
          description: "Schedule preventive maintenance based on equipment telemetry."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The Chipotle restaurant number."
            - name: equipment_type
              in: body
              type: string
              description: "The equipment type to check."
          steps:
            - name: check-telemetry
              type: call
              call: "datadog.query-metrics"
              with:
                query: "avg:chipotle.equipment.{{equipment_type}}.runtime{restaurant:{{restaurant_number}}}"
            - name: create-work-order
              type: call
              call: "servicenow.create-task"
              with:
                short_description: "PM: {{equipment_type}} at restaurant {{restaurant_number}}"
                assignment_group: "facilities_maintenance"
                runtime_hours: "{{check-telemetry.total_hours}}"
            - name: notify-manager
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "restaurant_ops"
                channel_id: "maintenance"
                text: "Preventive maintenance scheduled for {{equipment_type}} at restaurant {{restaurant_number}}. Work order: {{create-work-order.number}}. Runtime: {{check-telemetry.total_hours}} hours."
  consumes:
    - type: http
      namespace: datadog
      baseUri: "https://api.datadoghq.com/api/v1"
      authentication:
        type: api-key
        key: "$secrets.datadog_api_key"
      resources:
        - name: metrics
          path: "/query"
          inputParameters:
            - name: query
              in: query
          operations:
            - name: query-metrics
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: tasks
          path: "/table/sc_task"
          operations:
            - name: create-task
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Retrieves Facebook Ads campaign performance metrics for Chipotle digital marketing, returning impressions, clicks, spend, and conversion data.

naftiko: "0.5"
info:
  label: "Facebook Ad Campaign Performance"
  description: "Retrieves Facebook Ads campaign performance metrics for Chipotle digital marketing, returning impressions, clicks, spend, and conversion data."
  tags:
    - marketing
    - facebook
    - advertising
    - digital-marketing
capability:
  exposes:
    - type: mcp
      namespace: social-advertising
      port: 8080
      tools:
        - name: get-ad-performance
          description: "Retrieve Facebook ad campaign performance metrics."
          inputParameters:
            - name: campaign_id
              in: body
              type: string
              description: "The Facebook ad campaign ID."
          call: "facebook.get-campaign-insights"
          with:
            campaign_id: "{{campaign_id}}"
  consumes:
    - type: http
      namespace: facebook
      baseUri: "https://graph.facebook.com/v18.0"
      authentication:
        type: bearer
        token: "$secrets.facebook_ads_token"
      resources:
        - name: campaign-insights
          path: "/{{campaign_id}}/insights"
          inputParameters:
            - name: campaign_id
              in: path
          operations:
            - name: get-campaign-insights
              method: GET

When a food safety incident is reported, creates a critical ServiceNow incident, notifies the food safety team in Microsoft Teams, and logs the event in Oracle E-Business Suite for regulatory compliance.

naftiko: "0.5"
info:
  label: "Food Safety Incident Escalation Pipeline"
  description: "When a food safety incident is reported, creates a critical ServiceNow incident, notifies the food safety team in Microsoft Teams, and logs the event in Oracle E-Business Suite for regulatory compliance."
  tags:
    - food-safety
    - servicenow
    - microsoft-teams
    - oracle
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: food-safety-ops
      port: 8080
      tools:
        - name: escalate-food-safety-incident
          description: "Escalate a food safety incident through ServiceNow, Teams notification, and Oracle compliance logging."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The Chipotle restaurant number."
            - name: incident_type
              in: body
              type: string
              description: "The type of food safety incident."
            - name: description
              in: body
              type: string
              description: "Detailed description of the incident."
          steps:
            - name: create-critical-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "FOOD SAFETY: {{incident_type}} at restaurant {{restaurant_number}}"
                urgency: "1"
                impact: "1"
                category: "food_safety"
                description: "{{description}}"
            - name: notify-food-safety-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "food_safety_response"
                channel_id: "critical_incidents"
                text: "FOOD SAFETY ALERT: {{incident_type}} at restaurant {{restaurant_number}}. Ticket: {{create-critical-ticket.number}}."
            - name: log-compliance-event
              type: call
              call: "oracle-ebs.insert-compliance-record"
              with:
                event_type: "FOOD_SAFETY_INCIDENT"
                restaurant_number: "{{restaurant_number}}"
                incident_type: "{{incident_type}}"
                ticket_number: "{{create-critical-ticket.number}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: compliance-records
          path: "/complianceEvents"
          operations:
            - name: insert-compliance-record
              method: POST

Detects gift card fraud by analyzing transaction patterns in Snowflake, flagging suspicious activity in Salesforce, and alerting the fraud team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Gift Card Fraud Detection Pipeline"
  description: "Detects gift card fraud by analyzing transaction patterns in Snowflake, flagging suspicious activity in Salesforce, and alerting the fraud team via Microsoft Teams."
  tags:
    - fraud-detection
    - snowflake
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: fraud-detection
      port: 8080
      tools:
        - name: detect-gift-card-fraud
          description: "Detect potential gift card fraud through transaction pattern analysis."
          inputParameters:
            - name: card_number
              in: body
              type: string
              description: "The gift card number."
            - name: timeframe
              in: body
              type: string
              description: "The analysis timeframe in hours."
          steps:
            - name: analyze-patterns
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT count(*) as tx_count, sum(amount) as total_amount, count(distinct location) as location_count FROM gift_card_transactions WHERE card = '{{card_number}}' AND ts >= DATEADD(hour, -{{timeframe}}, CURRENT_TIMESTAMP())"
            - name: flag-suspicious
              type: call
              call: "salesforce.create-case"
              with:
                subject: "Potential gift card fraud: {{card_number}}"
                description: "Transactions: {{analyze-patterns.tx_count}}. Total: ${{analyze-patterns.total_amount}}. Locations: {{analyze-patterns.location_count}}."
                priority: "High"
            - name: alert-fraud-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "fraud_prevention"
                channel_id: "alerts"
                text: "Gift card fraud alert: Card {{card_number}} - {{analyze-patterns.tx_count}} transactions (${{analyze-patterns.total_amount}}) across {{analyze-patterns.location_count}} locations. Case: {{flag-suspicious.case_number}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: salesforce
      baseUri: "https://chipotle.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: cases
          path: "/sobjects/Case"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Triggers a GitHub Actions workflow for Chipotle application builds and returns the workflow run status.

naftiko: "0.5"
info:
  label: "GitHub Actions CI Workflow Trigger"
  description: "Triggers a GitHub Actions workflow for Chipotle application builds and returns the workflow run status."
  tags:
    - ci-cd
    - github-actions
    - development
    - automation
capability:
  exposes:
    - type: mcp
      namespace: ci-workflows
      port: 8080
      tools:
        - name: trigger-github-workflow
          description: "Trigger a GitHub Actions workflow dispatch event."
          inputParameters:
            - name: repo
              in: body
              type: string
              description: "The repository name (org/repo format)."
            - name: workflow_id
              in: body
              type: string
              description: "The workflow file name or ID."
            - name: ref
              in: body
              type: string
              description: "The git reference (branch or tag)."
          call: "github.dispatch-workflow"
          with:
            repo: "{{repo}}"
            workflow_id: "{{workflow_id}}"
            ref: "{{ref}}"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflow-dispatches
          path: "/repos/{{repo}}/actions/workflows/{{workflow_id}}/dispatches"
          inputParameters:
            - name: repo
              in: path
            - name: workflow_id
              in: path
          operations:
            - name: dispatch-workflow
              method: POST

Retrieves open pull request details for a Chipotle GitHub repository, returning PR count, authors, and review status.

naftiko: "0.5"
info:
  label: "GitHub Repository PR Status"
  description: "Retrieves open pull request details for a Chipotle GitHub repository, returning PR count, authors, and review status."
  tags:
    - development
    - github
    - code-review
capability:
  exposes:
    - type: mcp
      namespace: dev-workflow
      port: 8080
      tools:
        - name: get-repo-prs
          description: "List open pull requests for a GitHub repository."
          inputParameters:
            - name: repo_name
              in: body
              type: string
              description: "The repository name (org/repo format)."
          call: "github.list-prs"
          with:
            repo: "{{repo_name}}"
            state: "open"
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: pull-requests
          path: "/repos/{{repo}}/pulls"
          inputParameters:
            - name: repo
              in: path
            - name: state
              in: query
          operations:
            - name: list-prs
              method: GET

Queries Google Analytics for Chipotle digital ordering channel metrics including website and mobile app sessions, conversion rates, and average order value.

naftiko: "0.5"
info:
  label: "Google Analytics Digital Ordering Report"
  description: "Queries Google Analytics for Chipotle digital ordering channel metrics including website and mobile app sessions, conversion rates, and average order value."
  tags:
    - analytics
    - google-analytics
    - digital-ordering
    - marketing
capability:
  exposes:
    - type: mcp
      namespace: digital-analytics
      port: 8080
      tools:
        - name: get-digital-ordering-metrics
          description: "Retrieve Google Analytics metrics for Chipotle digital ordering channels."
          inputParameters:
            - name: start_date
              in: body
              type: string
              description: "Start date in YYYY-MM-DD format."
            - name: end_date
              in: body
              type: string
              description: "End date in YYYY-MM-DD format."
          call: "ga.run-report"
          with:
            property: "properties/987654321"
            dateRanges: "[{startDate: '{{start_date}}', endDate: '{{end_date}}'}]"
            metrics: "sessions,conversions,purchaseRevenue"
  consumes:
    - type: http
      namespace: ga
      baseUri: "https://analyticsdata.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: reports
          path: "/{{property}}:runReport"
          inputParameters:
            - name: property
              in: path
          operations:
            - name: run-report
              method: POST

Lists files from a shared Google Drive folder used by Chipotle operations teams, returning file metadata and sharing permissions.

naftiko: "0.5"
info:
  label: "Google Drive Shared File Listing"
  description: "Lists files from a shared Google Drive folder used by Chipotle operations teams, returning file metadata and sharing permissions."
  tags:
    - document-management
    - google-drive
    - collaboration
capability:
  exposes:
    - type: mcp
      namespace: drive-files
      port: 8080
      tools:
        - name: list-shared-files
          description: "List files from a shared Google Drive folder."
          inputParameters:
            - name: folder_id
              in: body
              type: string
              description: "The Google Drive folder ID."
          call: "gdrive.list-files"
          with:
            folder_id: "{{folder_id}}"
  consumes:
    - type: http
      namespace: gdrive
      baseUri: "https://www.googleapis.com/drive/v3"
      authentication:
        type: bearer
        token: "$secrets.google_drive_token"
      resources:
        - name: files
          path: "/files"
          inputParameters:
            - name: folder_id
              in: query
          operations:
            - name: list-files
              method: GET

Retrieves Google Maps place details for a Chipotle restaurant, returning address, operating hours, rating, and customer reviews.

naftiko: "0.5"
info:
  label: "Google Maps Restaurant Locator"
  description: "Retrieves Google Maps place details for a Chipotle restaurant, returning address, operating hours, rating, and customer reviews."
  tags:
    - location-services
    - google-maps
    - restaurant-info
capability:
  exposes:
    - type: mcp
      namespace: location-services
      port: 8080
      tools:
        - name: get-restaurant-details
          description: "Retrieve Google Maps place details for a Chipotle restaurant."
          inputParameters:
            - name: place_id
              in: body
              type: string
              description: "The Google Maps place ID."
          call: "googlemaps.get-place-details"
          with:
            place_id: "{{place_id}}"
            fields: "name,formatted_address,opening_hours,rating"
  consumes:
    - type: http
      namespace: googlemaps
      baseUri: "https://maps.googleapis.com/maps/api"
      authentication:
        type: apikey
        key: "$secrets.google_maps_api_key"
      resources:
        - name: place-details
          path: "/place/details/json"
          inputParameters:
            - name: place_id
              in: query
            - name: fields
              in: query
          operations:
            - name: get-place-details
              method: GET

Retrieves SEO performance data from Google Search Console for Chipotle web properties, returning search queries, impressions, and click-through rates.

naftiko: "0.5"
info:
  label: "Google Search Console SEO Performance"
  description: "Retrieves SEO performance data from Google Search Console for Chipotle web properties, returning search queries, impressions, and click-through rates."
  tags:
    - seo
    - google-search-console
    - digital-marketing
    - analytics
capability:
  exposes:
    - type: mcp
      namespace: seo-analytics
      port: 8080
      tools:
        - name: get-seo-performance
          description: "Retrieve SEO performance data from Google Search Console."
          inputParameters:
            - name: site_url
              in: body
              type: string
              description: "The website URL."
            - name: date_range
              in: body
              type: string
              description: "The date range for the report."
          call: "gsc.get-search-analytics"
          with:
            site: "{{site_url}}"
            range: "{{date_range}}"
  consumes:
    - type: http
      namespace: gsc
      baseUri: "https://searchconsole.googleapis.com/webmasters/v3"
      authentication:
        type: bearer
        token: "$secrets.google_search_console_token"
      resources:
        - name: search-analytics
          path: "/sites/{{site}}/searchAnalytics/query"
          inputParameters:
            - name: site
              in: path
          operations:
            - name: get-search-analytics
              method: POST

Reads operational data from a Google Sheets spreadsheet for Chipotle field operations tracking and restaurant performance summaries.

naftiko: "0.5"
info:
  label: "Google Sheets Operational Data Sync"
  description: "Reads operational data from a Google Sheets spreadsheet for Chipotle field operations tracking and restaurant performance summaries."
  tags:
    - data-management
    - google-sheets
    - operations
capability:
  exposes:
    - type: mcp
      namespace: spreadsheet-data
      port: 8080
      tools:
        - name: read-operations-sheet
          description: "Read data from a Google Sheets spreadsheet."
          inputParameters:
            - name: spreadsheet_id
              in: body
              type: string
              description: "The Google Sheets spreadsheet ID."
            - name: range
              in: body
              type: string
              description: "The cell range (e.g., Sheet1!A1:Z100)."
          call: "gsheets.get-values"
          with:
            spreadsheet_id: "{{spreadsheet_id}}"
            range: "{{range}}"
  consumes:
    - type: http
      namespace: gsheets
      baseUri: "https://sheets.googleapis.com/v4"
      authentication:
        type: bearer
        token: "$secrets.google_sheets_token"
      resources:
        - name: values
          path: "/spreadsheets/{{spreadsheet_id}}/values/{{range}}"
          inputParameters:
            - name: spreadsheet_id
              in: path
            - name: range
              in: path
          operations:
            - name: get-values
              method: GET

Processes guest complaints by creating a Salesforce case, triggering a refund via Square POS, and sending an apology email through MailChimp.

naftiko: "0.5"
info:
  label: "Guest Complaint Resolution Pipeline"
  description: "Processes guest complaints by creating a Salesforce case, triggering a refund via Square POS, and sending an apology email through MailChimp."
  tags:
    - customer-service
    - salesforce
    - square
    - mailchimp
capability:
  exposes:
    - type: mcp
      namespace: guest-complaints
      port: 8080
      tools:
        - name: resolve-guest-complaint
          description: "Process a guest complaint across Salesforce, Square, and MailChimp."
          inputParameters:
            - name: guest_email
              in: body
              type: string
              description: "The guest email address."
            - name: order_id
              in: body
              type: string
              description: "The original order ID."
            - name: complaint_text
              in: body
              type: string
              description: "Description of the complaint."
          steps:
            - name: create-case
              type: call
              call: "salesforce.create-case"
              with:
                subject: "Guest complaint for order {{order_id}}"
                description: "{{complaint_text}}"
                contact_email: "{{guest_email}}"
            - name: process-refund
              type: call
              call: "square.create-refund"
              with:
                payment_id: "{{order_id}}"
                reason: "Guest complaint resolution"
            - name: send-apology
              type: call
              call: "mailchimp.send-transactional"
              with:
                template: "complaint_resolution"
                to_email: "{{guest_email}}"
                merge_vars: "case_number={{create-case.case_number}},refund_amount={{process-refund.amount}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://chipotle.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: cases
          path: "/sobjects/Case"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: square
      baseUri: "https://connect.squareup.com/v2"
      authentication:
        type: bearer
        token: "$secrets.square_token"
      resources:
        - name: refunds
          path: "/refunds"
          operations:
            - name: create-refund
              method: POST
    - type: http
      namespace: mailchimp
      baseUri: "https://mandrillapp.com/api/1.0"
      authentication:
        type: api-key
        key: "$secrets.mailchimp_api_key"
      resources:
        - name: transactional
          path: "/messages/send-template"
          operations:
            - name: send-transactional
              method: POST

Retrieves HubSpot marketing campaign metrics for Chipotle promotional campaigns including email performance, landing page conversions, and social media reach.

naftiko: "0.5"
info:
  label: "HubSpot Marketing Campaign Metrics"
  description: "Retrieves HubSpot marketing campaign metrics for Chipotle promotional campaigns including email performance, landing page conversions, and social media reach."
  tags:
    - marketing
    - hubspot
    - campaigns
    - digital-marketing
capability:
  exposes:
    - type: mcp
      namespace: marketing-campaigns
      port: 8080
      tools:
        - name: get-campaign-metrics
          description: "Retrieve HubSpot marketing campaign performance metrics."
          inputParameters:
            - name: campaign_id
              in: body
              type: string
              description: "The HubSpot campaign ID."
          call: "hubspot.get-campaign"
          with:
            campaign_id: "{{campaign_id}}"
  consumes:
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com/marketing/v3"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: campaigns
          path: "/campaigns/{{campaign_id}}"
          inputParameters:
            - name: campaign_id
              in: path
          operations:
            - name: get-campaign
              method: GET

Checks the status of Informatica data integration pipelines for Chipotle's enterprise data flows, returning job run status and processing metrics.

naftiko: "0.5"
info:
  label: "Informatica Data Pipeline Status"
  description: "Checks the status of Informatica data integration pipelines for Chipotle's enterprise data flows, returning job run status and processing metrics."
  tags:
    - data-integration
    - informatica
    - etl
    - data-pipeline
capability:
  exposes:
    - type: mcp
      namespace: data-integration
      port: 8080
      tools:
        - name: get-pipeline-status
          description: "Retrieve Informatica data pipeline job status."
          inputParameters:
            - name: job_id
              in: body
              type: string
              description: "The Informatica job ID."
          call: "informatica.get-job-status"
          with:
            job_id: "{{job_id}}"
  consumes:
    - type: http
      namespace: informatica
      baseUri: "https://dm-us.informaticacloud.com/saas/api/v2"
      authentication:
        type: bearer
        token: "$secrets.informatica_token"
      resources:
        - name: jobs
          path: "/job/{{job_id}}"
          inputParameters:
            - name: job_id
              in: path
          operations:
            - name: get-job-status
              method: GET

Monitors ingredient price changes in SAP, compares against budget thresholds in Snowflake, and alerts procurement via Microsoft Teams when limits are exceeded.

naftiko: "0.5"
info:
  label: "Ingredient Price Alert Pipeline"
  description: "Monitors ingredient price changes in SAP, compares against budget thresholds in Snowflake, and alerts procurement via Microsoft Teams when limits are exceeded."
  tags:
    - procurement
    - sap
    - snowflake
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: price-alerts
      port: 8080
      tools:
        - name: check-ingredient-prices
          description: "Monitor ingredient prices and alert on budget threshold breaches."
          inputParameters:
            - name: ingredient_category
              in: body
              type: string
              description: "The ingredient category to monitor."
          steps:
            - name: get-current-prices
              type: call
              call: "sap.get-material-prices"
              with:
                category: "{{ingredient_category}}"
            - name: get-budget-threshold
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT budget_threshold, last_price FROM ingredient_budgets WHERE category = '{{ingredient_category}}'"
            - name: alert-procurement
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "procurement"
                channel_id: "price_alerts"
                text: "Price alert for {{ingredient_category}}: Current=${{get-current-prices.avg_price}}, Budget=${{get-budget-threshold.budget_threshold}}, Change={{get-current-prices.price_change_pct}}%."
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://chipotle-s4.sap.com/sap/opu/odata/sap/MATERIAL_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: material-prices
          path: "/MaterialPrices"
          inputParameters:
            - name: category
              in: query
          operations:
            - name: get-material-prices
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Pulls ingredient pricing from SAP BW, compares against market benchmarks from Bloomberg Enterprise Data, generates a cost report in Snowflake, and notifies the procurement team via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Ingredient Sourcing Cost Optimization Pipeline"
  description: "Pulls ingredient pricing from SAP BW, compares against market benchmarks from Bloomberg Enterprise Data, generates a cost report in Snowflake, and notifies the procurement team via Microsoft Teams."
  tags:
    - procurement
    - sap-bw
    - bloomberg
    - snowflake
    - microsoft-teams
    - cost-management
capability:
  exposes:
    - type: mcp
      namespace: ingredient-sourcing
      port: 8080
      tools:
        - name: analyze-ingredient-costs
          description: "Analyze ingredient sourcing costs against market benchmarks and notify procurement."
          inputParameters:
            - name: ingredient_category
              in: body
              type: string
              description: "The ingredient category (e.g., proteins, produce, dairy)."
            - name: period
              in: body
              type: string
              description: "The analysis period (e.g., last_quarter)."
          steps:
            - name: get-sap-pricing
              type: call
              call: "sap-bw.query-pricing"
              with:
                category: "{{ingredient_category}}"
                period: "{{period}}"
            - name: get-market-benchmark
              type: call
              call: "bloomberg.get-commodity-prices"
              with:
                category: "{{ingredient_category}}"
                period: "{{period}}"
            - name: store-analysis
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "INSERT INTO cost_analysis (category, sap_cost, market_cost, variance) VALUES ('{{ingredient_category}}', {{get-sap-pricing.avg_cost}}, {{get-market-benchmark.avg_price}}, {{get-sap-pricing.avg_cost}} - {{get-market-benchmark.avg_price}})"
            - name: notify-procurement
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "procurement_team"
                channel_id: "cost_alerts"
                text: "Ingredient Cost Alert ({{ingredient_category}}): SAP avg ${{get-sap-pricing.avg_cost}} vs Market ${{get-market-benchmark.avg_price}}. Variance: ${{get-sap-pricing.avg_cost}} - ${{get-market-benchmark.avg_price}}."
  consumes:
    - type: http
      namespace: sap-bw
      baseUri: "https://chipotle-bw.sap.com/sap/opu/odata/sap"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: pricing
          path: "/INGREDIENT_PRICING_SRV/PricingSet"
          inputParameters:
            - name: category
              in: query
            - name: period
              in: query
          operations:
            - name: query-pricing
              method: GET
    - type: http
      namespace: bloomberg
      baseUri: "https://api.bloomberg.com/eap/catalogs/bbg/datasets"
      authentication:
        type: bearer
        token: "$secrets.bloomberg_token"
      resources:
        - name: commodities
          path: "/commodity-prices"
          inputParameters:
            - name: category
              in: query
            - name: period
              in: query
          operations:
            - name: get-commodity-prices
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Retrieves Instagram business account engagement metrics for Chipotle's social media marketing performance.

naftiko: "0.5"
info:
  label: "Instagram Social Engagement Tracker"
  description: "Retrieves Instagram business account engagement metrics for Chipotle's social media marketing performance."
  tags:
    - social-media
    - instagram
    - marketing
    - engagement
capability:
  exposes:
    - type: mcp
      namespace: social-analytics
      port: 8080
      tools:
        - name: get-instagram-engagement
          description: "Retrieve Instagram engagement metrics."
          inputParameters:
            - name: account_id
              in: body
              type: string
              description: "The Instagram business account ID."
            - name: period
              in: body
              type: string
              description: "The time period (day, week, days_28)."
          call: "instagram.get-insights"
          with:
            account_id: "{{account_id}}"
            metric: "impressions,reach,engagement"
            period: "{{period}}"
  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
            - name: metric
              in: query
            - name: period
              in: query
          operations:
            - name: get-insights
              method: GET

Tracks IT asset lifecycle by querying inventory in ServiceNow, checking warranty status via Cisco, and scheduling replacements in Jira.

naftiko: "0.5"
info:
  label: "IT Asset Lifecycle Tracking Pipeline"
  description: "Tracks IT asset lifecycle by querying inventory in ServiceNow, checking warranty status via Cisco, and scheduling replacements in Jira."
  tags:
    - it-assets
    - servicenow
    - cisco
    - jira
capability:
  exposes:
    - type: mcp
      namespace: asset-lifecycle
      port: 8080
      tools:
        - name: track-asset-lifecycle
          description: "Track IT asset lifecycle across inventory, warranty, and replacement."
          inputParameters:
            - name: asset_tag
              in: body
              type: string
              description: "The IT asset tag."
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
          steps:
            - name: get-asset-info
              type: call
              call: "servicenow.get-asset"
              with:
                asset_tag: "{{asset_tag}}"
            - name: check-warranty
              type: call
              call: "cisco.check-warranty"
              with:
                serial_number: "{{get-asset-info.serial_number}}"
            - name: schedule-replacement
              type: call
              call: "jira.create-issue"
              with:
                project: "ITOPS"
                summary: "Asset replacement: {{asset_tag}} at restaurant {{restaurant_number}}"
                description: "Asset: {{get-asset-info.model}}. Warranty expires: {{check-warranty.expiry_date}}. Status: {{check-warranty.status}}."
                issue_type: "Task"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: assets
          path: "/table/alm_hardware"
          inputParameters:
            - name: asset_tag
              in: query
          operations:
            - name: get-asset
              method: GET
    - type: http
      namespace: cisco
      baseUri: "https://apix.cisco.com/sn2info/v2"
      authentication:
        type: bearer
        token: "$secrets.cisco_token"
      resources:
        - name: warranty
          path: "/coverage/summary/serial_numbers/{{serial_number}}"
          inputParameters:
            - name: serial_number
              in: path
          operations:
            - name: check-warranty
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://chipotle.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Retrieves Jira sprint progress for Chipotle technology teams, returning completed points, remaining work, and sprint burndown data.

naftiko: "0.5"
info:
  label: "Jira Sprint Progress Tracker"
  description: "Retrieves Jira sprint progress for Chipotle technology teams, returning completed points, remaining work, and sprint burndown data."
  tags:
    - project-management
    - jira
    - agile
    - sprint
capability:
  exposes:
    - type: mcp
      namespace: agile-tracking
      port: 8080
      tools:
        - name: get-sprint-progress
          description: "Retrieve Jira sprint progress including story points and burndown."
          inputParameters:
            - name: board_id
              in: body
              type: string
              description: "The Jira board ID."
            - name: sprint_id
              in: body
              type: string
              description: "The sprint ID."
          call: "jira.get-sprint"
          with:
            board_id: "{{board_id}}"
            sprint_id: "{{sprint_id}}"
  consumes:
    - type: http
      namespace: jira
      baseUri: "https://chipotle.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/{{sprint_id}}"
          inputParameters:
            - name: board_id
              in: path
            - name: sprint_id
              in: path
          operations:
            - name: get-sprint
              method: GET

Checks the health status of Kubernetes deployments in Azure Kubernetes Service for Chipotle microservices.

naftiko: "0.5"
info:
  label: "Kubernetes Deployment Health Check"
  description: "Checks the health status of Kubernetes deployments in Azure Kubernetes Service for Chipotle microservices."
  tags:
    - infrastructure
    - azure-kubernetes-service
    - kubernetes
    - container-management
capability:
  exposes:
    - type: mcp
      namespace: k8s-ops
      port: 8080
      tools:
        - name: check-deployment-health
          description: "Check AKS deployment health status."
          inputParameters:
            - name: namespace
              in: body
              type: string
              description: "The Kubernetes namespace."
            - name: deployment_name
              in: body
              type: string
              description: "The deployment name."
          call: "aks.get-deployment"
          with:
            namespace: "{{namespace}}"
            deployment: "{{deployment_name}}"
  consumes:
    - type: http
      namespace: aks
      baseUri: "https://chipotle-aks.eastus.azmk8s.io"
      authentication:
        type: bearer
        token: "$secrets.aks_token"
      resources:
        - name: deployments
          path: "/apis/apps/v1/namespaces/{{namespace}}/deployments/{{deployment}}"
          inputParameters:
            - name: namespace
              in: path
            - name: deployment
              in: path
          operations:
            - name: get-deployment
              method: GET

Manages employer branding on LinkedIn by pulling open positions from Workday, publishing job posts to LinkedIn, and tracking engagement metrics in HubSpot.

naftiko: "0.5"
info:
  label: "LinkedIn Employer Brand Pipeline"
  description: "Manages employer branding on LinkedIn by pulling open positions from Workday, publishing job posts to LinkedIn, and tracking engagement metrics in HubSpot."
  tags:
    - recruiting
    - workday
    - linkedin
    - hubspot
capability:
  exposes:
    - type: mcp
      namespace: employer-brand
      port: 8080
      tools:
        - name: publish-employer-brand-content
          description: "Publish employer brand content from open positions to LinkedIn."
          inputParameters:
            - name: job_family
              in: body
              type: string
              description: "The job family to promote."
            - name: region
              in: body
              type: string
              description: "The target region."
          steps:
            - name: get-open-positions
              type: call
              call: "workday.get-job-requisitions"
              with:
                job_family: "{{job_family}}"
                region: "{{region}}"
            - name: publish-post
              type: call
              call: "linkedin.create-post"
              with:
                text: "We are hiring {{get-open-positions.count}} {{job_family}} positions in {{region}}! Join the Chipotle team."
                visibility: "PUBLIC"
            - name: track-engagement
              type: call
              call: "hubspot.create-campaign"
              with:
                name: "LinkedIn Employer Brand: {{job_family}} - {{region}}"
                type: "social"
                post_id: "{{publish-post.post_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://chipotle.workday.com/api/recruiting/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: requisitions
          path: "/jobRequisitions"
          inputParameters:
            - name: job_family
              in: query
            - name: region
              in: query
          operations:
            - name: get-job-requisitions
              method: GET
    - type: http
      namespace: linkedin
      baseUri: "https://api.linkedin.com/v2"
      authentication:
        type: bearer
        token: "$secrets.linkedin_token"
      resources:
        - name: posts
          path: "/ugcPosts"
          operations:
            - name: create-post
              method: POST
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com/marketing/v3"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: campaigns
          path: "/campaigns"
          operations:
            - name: create-campaign
              method: POST

Publishes a job posting to LinkedIn for Chipotle restaurant and corporate positions, syncing from Workday requisition data.

naftiko: "0.5"
info:
  label: "LinkedIn Job Posting Publisher"
  description: "Publishes a job posting to LinkedIn for Chipotle restaurant and corporate positions, syncing from Workday requisition data."
  tags:
    - recruiting
    - linkedin
    - workday
    - talent-acquisition
capability:
  exposes:
    - type: mcp
      namespace: talent-recruitment
      port: 8080
      tools:
        - name: publish-job-posting
          description: "Fetch a Workday requisition and publish a job posting to LinkedIn."
          inputParameters:
            - name: requisition_id
              in: body
              type: string
              description: "The Workday job requisition ID."
          steps:
            - name: get-requisition
              type: call
              call: "workday.get-requisition"
              with:
                requisition_id: "{{requisition_id}}"
            - name: post-to-linkedin
              type: call
              call: "linkedin.create-job-posting"
              with:
                title: "{{get-requisition.job_title}}"
                description: "{{get-requisition.job_description}}"
                location: "{{get-requisition.location}}"
            - name: notify-recruiter
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-requisition.recruiter_email}}"
                text: "Job '{{get-requisition.job_title}}' posted to LinkedIn. ID: {{post-to-linkedin.posting_id}}."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: requisitions
          path: "/jobRequisitions/{{requisition_id}}"
          inputParameters:
            - name: requisition_id
              in: path
          operations:
            - name: get-requisition
              method: GET
    - type: http
      namespace: linkedin
      baseUri: "https://api.linkedin.com/v2"
      authentication:
        type: bearer
        token: "$secrets.linkedin_token"
      resources:
        - name: job-postings
          path: "/simpleJobPostings"
          operations:
            - name: create-job-posting
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Retrieves Looker dashboard data for Chipotle operations and finance teams, returning key performance metrics and trend data.

naftiko: "0.5"
info:
  label: "Looker Embedded Analytics Retrieval"
  description: "Retrieves Looker dashboard data for Chipotle operations and finance teams, returning key performance metrics and trend data."
  tags:
    - analytics
    - looker
    - dashboards
    - business-intelligence
capability:
  exposes:
    - type: mcp
      namespace: bi-analytics
      port: 8080
      tools:
        - name: get-looker-dashboard
          description: "Retrieve Looker dashboard data."
          inputParameters:
            - name: dashboard_id
              in: body
              type: string
              description: "The Looker dashboard ID."
          call: "looker.get-dashboard"
          with:
            dashboard_id: "{{dashboard_id}}"
  consumes:
    - type: http
      namespace: looker
      baseUri: "https://chipotle.looker.com/api/4.0"
      authentication:
        type: bearer
        token: "$secrets.looker_token"
      resources:
        - name: dashboards
          path: "/dashboards/{{dashboard_id}}"
          inputParameters:
            - name: dashboard_id
              in: path
          operations:
            - name: get-dashboard
              method: GET

Enrolls new loyalty members by creating a profile in Salesforce, registering rewards in BigCommerce, and sending a welcome email through MailChimp.

naftiko: "0.5"
info:
  label: "Loyalty Program Enrollment Pipeline"
  description: "Enrolls new loyalty members by creating a profile in Salesforce, registering rewards in BigCommerce, and sending a welcome email through MailChimp."
  tags:
    - loyalty
    - salesforce
    - bigcommerce
    - mailchimp
capability:
  exposes:
    - type: mcp
      namespace: loyalty-enrollment
      port: 8080
      tools:
        - name: enroll-loyalty-member
          description: "Enroll a new member in the Chipotle Rewards loyalty program."
          inputParameters:
            - name: guest_email
              in: body
              type: string
              description: "The guest email."
            - name: guest_name
              in: body
              type: string
              description: "The guest full name."
          steps:
            - name: create-profile
              type: call
              call: "salesforce.create-contact"
              with:
                email: "{{guest_email}}"
                name: "{{guest_name}}"
                record_type: "Loyalty_Member"
            - name: register-rewards
              type: call
              call: "bigcommerce.create-customer"
              with:
                email: "{{guest_email}}"
                first_name: "{{guest_name}}"
                loyalty_tier: "starter"
            - name: send-welcome
              type: call
              call: "mailchimp.send-transactional"
              with:
                template: "loyalty_welcome"
                to_email: "{{guest_email}}"
                merge_vars: "name={{guest_name}},member_id={{create-profile.contact_id}}"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://chipotle.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: contacts
          path: "/sobjects/Contact"
          operations:
            - name: create-contact
              method: POST
    - type: http
      namespace: bigcommerce
      baseUri: "https://api.bigcommerce.com/stores/chipotle/v3"
      authentication:
        type: bearer
        token: "$secrets.bigcommerce_token"
      resources:
        - name: customers
          path: "/customers"
          operations:
            - name: create-customer
              method: POST
    - type: http
      namespace: mailchimp
      baseUri: "https://mandrillapp.com/api/1.0"
      authentication:
        type: api-key
        key: "$secrets.mailchimp_api_key"
      resources:
        - name: transactional
          path: "/messages/send-template"
          operations:
            - name: send-transactional
              method: POST

Retrieves MailChimp email campaign metrics for Chipotle Rewards loyalty program communications including open rates, click rates, and reward redemptions.

naftiko: "0.5"
info:
  label: "MailChimp Loyalty Campaign Performance"
  description: "Retrieves MailChimp email campaign metrics for Chipotle Rewards loyalty program communications including open rates, click rates, and reward redemptions."
  tags:
    - marketing
    - mailchimp
    - loyalty
    - email-campaigns
capability:
  exposes:
    - type: mcp
      namespace: loyalty-marketing
      port: 8080
      tools:
        - name: get-loyalty-campaign-metrics
          description: "Retrieve MailChimp loyalty campaign performance."
          inputParameters:
            - name: campaign_id
              in: body
              type: string
              description: "The MailChimp campaign ID."
          call: "mailchimp.get-campaign-report"
          with:
            campaign_id: "{{campaign_id}}"
  consumes:
    - type: http
      namespace: mailchimp
      baseUri: "https://us1.api.mailchimp.com/3.0"
      authentication:
        type: basic
        username: "anystring"
        password: "$secrets.mailchimp_api_key"
      resources:
        - name: campaign-reports
          path: "/reports/{{campaign_id}}"
          inputParameters:
            - name: campaign_id
              in: path
          operations:
            - name: get-campaign-report
              method: GET

Aggregates marketing campaign performance from Google Analytics, Instagram insights, and HubSpot, then generates a Power BI dashboard refresh.

naftiko: "0.5"
info:
  label: "Marketing Campaign Performance Pipeline"
  description: "Aggregates marketing campaign performance from Google Analytics, Instagram insights, and HubSpot, then generates a Power BI dashboard refresh."
  tags:
    - marketing
    - google-analytics
    - instagram
    - hubspot
    - power-bi
capability:
  exposes:
    - type: mcp
      namespace: campaign-performance
      port: 8080
      tools:
        - name: aggregate-campaign-performance
          description: "Aggregate marketing campaign performance across platforms."
          inputParameters:
            - name: campaign_name
              in: body
              type: string
              description: "The marketing campaign name."
            - name: date_range
              in: body
              type: string
              description: "The reporting date range."
          steps:
            - name: get-web-metrics
              type: call
              call: "google-analytics.get-report"
              with:
                view_id: "chipotle_web"
                campaign: "{{campaign_name}}"
                date_range: "{{date_range}}"
            - name: get-social-metrics
              type: call
              call: "instagram.get-media-insights"
              with:
                hashtag: "{{campaign_name}}"
            - name: get-email-metrics
              type: call
              call: "hubspot.get-campaign-stats"
              with:
                campaign_name: "{{campaign_name}}"
            - name: refresh-dashboard
              type: call
              call: "powerbi.refresh-dataset"
              with:
                dataset_id: "marketing_campaigns"
  consumes:
    - type: http
      namespace: google-analytics
      baseUri: "https://analyticsdata.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: reports
          path: "/properties/chipotle:runReport"
          operations:
            - name: get-report
              method: POST
    - type: http
      namespace: instagram
      baseUri: "https://graph.facebook.com/v18.0"
      authentication:
        type: bearer
        token: "$secrets.instagram_token"
      resources:
        - name: insights
          path: "/ig_hashtag_search"
          inputParameters:
            - name: hashtag
              in: query
          operations:
            - name: get-media-insights
              method: GET
    - type: http
      namespace: hubspot
      baseUri: "https://api.hubapi.com/marketing/v3"
      authentication:
        type: bearer
        token: "$secrets.hubspot_token"
      resources:
        - name: campaigns
          path: "/campaigns"
          inputParameters:
            - name: campaign_name
              in: query
          operations:
            - name: get-campaign-stats
              method: GET
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST

Validates new menu item readiness by checking ingredient inventory in Oracle E-Business Suite, verifying recipe configuration in the POS system, and posting launch notification to Microsoft Teams.

naftiko: "0.5"
info:
  label: "Menu Item Launch Readiness Pipeline"
  description: "Validates new menu item readiness by checking ingredient inventory in Oracle E-Business Suite, verifying recipe configuration in the POS system, and posting launch notification to Microsoft Teams."
  tags:
    - menu-management
    - oracle
    - square
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: menu-launch
      port: 8080
      tools:
        - name: validate-menu-launch
          description: "Validate readiness for a new menu item launch across systems."
          inputParameters:
            - name: menu_item_id
              in: body
              type: string
              description: "The new menu item identifier."
            - name: launch_date
              in: body
              type: string
              description: "The planned launch date."
          steps:
            - name: check-ingredients
              type: call
              call: "oracle-ebs.check-inventory"
              with:
                item_group: "{{menu_item_id}}"
            - name: verify-pos-config
              type: call
              call: "square.get-catalog-item"
              with:
                item_id: "{{menu_item_id}}"
            - name: notify-launch-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "menu_innovation"
                channel_id: "launches"
                text: "Menu item {{menu_item_id}} launch readiness: Inventory={{check-ingredients.status}}, POS={{verify-pos-config.status}}. Target date: {{launch_date}}."
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: inventory
          path: "/inventory/check"
          inputParameters:
            - name: item_group
              in: query
          operations:
            - name: check-inventory
              method: GET
    - type: http
      namespace: square
      baseUri: "https://connect.squareup.com/v2"
      authentication:
        type: bearer
        token: "$secrets.square_token"
      resources:
        - name: catalog
          path: "/catalog/object/{{item_id}}"
          inputParameters:
            - name: item_id
              in: path
          operations:
            - name: get-catalog-item
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Checks Microsoft Outlook calendar availability for Chipotle leadership scheduling, returning free/busy time slots for meeting coordination.

naftiko: "0.5"
info:
  label: "Microsoft Outlook Calendar Availability"
  description: "Checks Microsoft Outlook calendar availability for Chipotle leadership scheduling, returning free/busy time slots for meeting coordination."
  tags:
    - scheduling
    - microsoft-outlook
    - calendar
    - productivity
capability:
  exposes:
    - type: mcp
      namespace: calendar-ops
      port: 8080
      tools:
        - name: check-calendar-availability
          description: "Check Outlook calendar availability for a user."
          inputParameters:
            - name: user_email
              in: body
              type: string
              description: "The user email address."
            - name: date
              in: body
              type: string
              description: "The date to check."
          call: "outlook.get-availability"
          with:
            user: "{{user_email}}"
            date: "{{date}}"
  consumes:
    - type: http
      namespace: outlook
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: calendar
          path: "/users/{{user}}/calendar/getSchedule"
          inputParameters:
            - name: user
              in: path
          operations:
            - name: get-availability
              method: POST

Triggers a Microsoft Power Automate flow for Chipotle business process automation.

naftiko: "0.5"
info:
  label: "Microsoft Power Automate Flow Trigger"
  description: "Triggers a Microsoft Power Automate flow for Chipotle business process automation."
  tags:
    - automation
    - microsoft-power-automate
    - business-process
capability:
  exposes:
    - type: mcp
      namespace: process-automation
      port: 8080
      tools:
        - name: trigger-power-automate-flow
          description: "Trigger a Power Automate flow by flow ID."
          inputParameters:
            - name: flow_id
              in: body
              type: string
              description: "The Power Automate flow ID."
            - name: trigger_body
              in: body
              type: object
              description: "The JSON body for the flow trigger."
          call: "powerautomate.trigger-flow"
          with:
            flow_id: "{{flow_id}}"
            body: "{{trigger_body}}"
  consumes:
    - type: http
      namespace: powerautomate
      baseUri: "https://api.flow.microsoft.com/providers/Microsoft.ProcessSimple/environments"
      authentication:
        type: bearer
        token: "$secrets.powerautomate_token"
      resources:
        - name: flows
          path: "/{{environment_id}}/flows/{{flow_id}}/triggers/manual/run"
          inputParameters:
            - name: flow_id
              in: path
            - name: environment_id
              in: path
          operations:
            - name: trigger-flow
              method: POST

Sends a formatted notification message to a specified Microsoft Teams channel for Chipotle operational communications.

naftiko: "0.5"
info:
  label: "Microsoft Teams Channel Notification"
  description: "Sends a formatted notification message to a specified Microsoft Teams channel for Chipotle operational communications."
  tags:
    - communications
    - microsoft-teams
    - notifications
capability:
  exposes:
    - type: mcp
      namespace: team-comms
      port: 8080
      tools:
        - name: send-teams-notification
          description: "Send a notification message to a Microsoft Teams channel."
          inputParameters:
            - name: team_id
              in: body
              type: string
              description: "The Teams team ID."
            - name: channel_id
              in: body
              type: string
              description: "The Teams channel ID."
            - name: message
              in: body
              type: string
              description: "The message text to send."
          call: "msteams.send-channel-message"
          with:
            team_id: "{{team_id}}"
            channel_id: "{{channel_id}}"
            text: "{{message}}"
  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: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Manages mobile app releases by triggering GitHub Actions CI builds, running quality checks in Dynatrace, and notifying stakeholders via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Mobile App Release Pipeline"
  description: "Manages mobile app releases by triggering GitHub Actions CI builds, running quality checks in Dynatrace, and notifying stakeholders via Microsoft Teams."
  tags:
    - mobile
    - github-actions
    - dynatrace
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: mobile-release
      port: 8080
      tools:
        - name: trigger-mobile-release
          description: "Trigger and monitor a mobile app release through CI/CD pipeline."
          inputParameters:
            - name: version
              in: body
              type: string
              description: "The app version to release."
            - name: platform
              in: body
              type: string
              description: "The mobile platform (ios/android)."
          steps:
            - name: trigger-build
              type: call
              call: "github.trigger-workflow"
              with:
                repo: "chipotle-mobile-app"
                workflow: "release-{{platform}}.yml"
                ref: "release/{{version}}"
            - name: check-quality
              type: call
              call: "dynatrace.get-app-health"
              with:
                app_name: "chipotle-{{platform}}"
                version: "{{version}}"
            - name: notify-stakeholders
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "mobile_team"
                channel_id: "releases"
                text: "Mobile release {{version}} ({{platform}}): Build={{trigger-build.status}}. Quality: {{check-quality.apdex_score}}. Crash rate: {{check-quality.crash_rate}}%."
  consumes:
    - type: http
      namespace: github
      baseUri: "https://api.github.com"
      authentication:
        type: bearer
        token: "$secrets.github_token"
      resources:
        - name: workflows
          path: "/repos/chipotle/{{repo}}/actions/workflows/{{workflow}}/dispatches"
          inputParameters:
            - name: repo
              in: path
            - name: workflow
              in: path
          operations:
            - name: trigger-workflow
              method: POST
    - type: http
      namespace: dynatrace
      baseUri: "https://chipotle.live.dynatrace.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.dynatrace_token"
      resources:
        - name: applications
          path: "/entities"
          inputParameters:
            - name: app_name
              in: query
            - name: version
              in: query
          operations:
            - name: get-app-health
              method: GET
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Assigns training to new hires by fetching role details from Workday, creating Pluralsight learning paths, and tracking progress in Jira.

naftiko: "0.5"
info:
  label: "New Hire Training Assignment Pipeline"
  description: "Assigns training to new hires by fetching role details from Workday, creating Pluralsight learning paths, and tracking progress in Jira."
  tags:
    - training
    - workday
    - pluralsight
    - jira
capability:
  exposes:
    - type: mcp
      namespace: training-assignment
      port: 8080
      tools:
        - name: assign-new-hire-training
          description: "Assign training modules to a new hire based on their role."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The new hire employee ID."
            - name: role
              in: body
              type: string
              description: "The employee role."
          steps:
            - name: get-role-details
              type: call
              call: "workday.get-job-profile"
              with:
                employee_id: "{{employee_id}}"
            - name: assign-courses
              type: call
              call: "pluralsight.assign-channel"
              with:
                user_email: "{{get-role-details.email}}"
                channel_id: "{{role}}_onboarding"
            - name: create-tracking
              type: call
              call: "jira.create-issue"
              with:
                project: "TRAIN"
                summary: "Training: {{get-role-details.name}} - {{role}}"
                description: "Assigned {{assign-courses.course_count}} courses. Target completion: 30 days."
                issue_type: "Task"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://chipotle.workday.com/api/staffing/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: profiles
          path: "/workers/{{employee_id}}/jobProfile"
          inputParameters:
            - name: employee_id
              in: path
          operations:
            - name: get-job-profile
              method: GET
    - type: http
      namespace: pluralsight
      baseUri: "https://api.pluralsight.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pluralsight_token"
      resources:
        - name: channels
          path: "/channels/assign"
          operations:
            - name: assign-channel
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://chipotle.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Queries New Relic for digital ordering system alert conditions and active violations for Chipotle's online and mobile platforms.

naftiko: "0.5"
info:
  label: "New Relic Digital Ordering Alerting"
  description: "Queries New Relic for digital ordering system alert conditions and active violations for Chipotle's online and mobile platforms."
  tags:
    - monitoring
    - new-relic
    - alerting
    - digital-ordering
capability:
  exposes:
    - type: mcp
      namespace: alert-monitoring
      port: 8080
      tools:
        - name: get-active-alerts
          description: "Retrieve New Relic active alert violations for digital ordering systems."
          inputParameters:
            - name: policy_id
              in: body
              type: string
              description: "The New Relic alert policy ID."
          call: "newrelic.get-violations"
          with:
            policy_id: "{{policy_id}}"
            only_open: "true"
  consumes:
    - type: http
      namespace: newrelic
      baseUri: "https://api.newrelic.com/v2"
      authentication:
        type: apikey
        key: "$secrets.newrelic_api_key"
      resources:
        - name: violations
          path: "/alerts_violations.json"
          inputParameters:
            - name: policy_id
              in: query
            - name: only_open
              in: query
          operations:
            - name: get-violations
              method: GET

When a digital order is placed, validates inventory in Oracle, updates the order status in Salesforce, sends a preparation notification to the restaurant team via Microsoft Teams, and confirms with the customer via MailChimp.

naftiko: "0.5"
info:
  label: "Online Order Fulfillment Orchestrator"
  description: "When a digital order is placed, validates inventory in Oracle, updates the order status in Salesforce, sends a preparation notification to the restaurant team via Microsoft Teams, and confirms with the customer via MailChimp."
  tags:
    - digital-ordering
    - oracle
    - salesforce
    - microsoft-teams
    - mailchimp
    - order-management
capability:
  exposes:
    - type: mcp
      namespace: order-fulfillment
      port: 8080
      tools:
        - name: fulfill-digital-order
          description: "Orchestrate a digital order through inventory check, status update, team notification, and customer confirmation."
          inputParameters:
            - name: order_id
              in: body
              type: string
              description: "The digital order ID."
            - name: restaurant_number
              in: body
              type: string
              description: "The Chipotle restaurant number."
          steps:
            - name: check-inventory
              type: call
              call: "oracle-ebs.get-inventory"
              with:
                org_id: "{{restaurant_number}}"
                item_number: "ORDER_{{order_id}}"
            - name: update-order-status
              type: call
              call: "salesforce.update-order"
              with:
                order_id: "{{order_id}}"
                status: "IN_PREPARATION"
            - name: notify-restaurant
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "restaurant_{{restaurant_number}}"
                channel_id: "digital_orders"
                text: "New digital order {{order_id}} ready for preparation. Items verified."
            - name: confirm-customer
              type: call
              call: "mailchimp.send-transactional"
              with:
                template_name: "order_confirmation"
                to_email: "{{update-order-status.customer_email}}"
                merge_vars: "{order_id: '{{order_id}}', estimated_time: '15 minutes'}"
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: inventory
          path: "/inventoryBalances"
          inputParameters:
            - name: org_id
              in: query
            - name: item_number
              in: query
          operations:
            - name: get-inventory
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://chipotle.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: orders
          path: "/sobjects/Order/{{order_id}}"
          inputParameters:
            - name: order_id
              in: path
          operations:
            - name: update-order
              method: PATCH
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST
    - type: http
      namespace: mailchimp
      baseUri: "https://us1.api.mailchimp.com/3.0"
      authentication:
        type: basic
        username: "anystring"
        password: "$secrets.mailchimp_api_key"
      resources:
        - name: transactional
          path: "/messages/send-template"
          operations:
            - name: send-transactional
              method: POST

Retrieves financial summary reports from Oracle Cloud ERP for Chipotle corporate finance review, returning revenue, cost, and margin data.

naftiko: "0.5"
info:
  label: "Oracle Cloud ERP Financial Report"
  description: "Retrieves financial summary reports from Oracle Cloud ERP for Chipotle corporate finance review, returning revenue, cost, and margin data."
  tags:
    - finance
    - oracle-cloud
    - erp
    - reporting
capability:
  exposes:
    - type: mcp
      namespace: erp-finance
      port: 8080
      tools:
        - name: get-financial-report
          description: "Retrieve a financial summary report from Oracle Cloud ERP."
          inputParameters:
            - name: fiscal_period
              in: body
              type: string
              description: "The fiscal period to query."
          call: "oracle-cloud.get-financial-summary"
          with:
            fiscal_period: "{{fiscal_period}}"
  consumes:
    - type: http
      namespace: oracle-cloud
      baseUri: "https://chipotle.oraclecloud.com/fscmRestApi/resources/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_cloud_token"
      resources:
        - name: financial-summaries
          path: "/financialSummaries"
          inputParameters:
            - name: fiscal_period
              in: query
          operations:
            - name: get-financial-summary
              method: GET

Queries Oracle E-Business Suite for current ingredient inventory levels at Chipotle distribution centers, returning item quantities and reorder status.

naftiko: "0.5"
info:
  label: "Oracle E-Business Suite Inventory Check"
  description: "Queries Oracle E-Business Suite for current ingredient inventory levels at Chipotle distribution centers, returning item quantities and reorder status."
  tags:
    - inventory
    - oracle
    - supply-chain
    - distribution
capability:
  exposes:
    - type: mcp
      namespace: inventory-management
      port: 8080
      tools:
        - name: check-inventory-levels
          description: "Check ingredient inventory levels at a distribution center."
          inputParameters:
            - name: org_id
              in: body
              type: string
              description: "The Oracle organization ID."
            - name: item_number
              in: body
              type: string
              description: "The inventory item number."
          call: "oracle-ebs.get-inventory"
          with:
            org_id: "{{org_id}}"
            item_number: "{{item_number}}"
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: inventory
          path: "/inventoryBalances"
          inputParameters:
            - name: org_id
              in: query
            - name: item_number
              in: query
          operations:
            - name: get-inventory
              method: GET

Retrieves active security alerts from Palo Alto Networks for Chipotle's network perimeter and restaurant connectivity.

naftiko: "0.5"
info:
  label: "Palo Alto Networks Security Alert Check"
  description: "Retrieves active security alerts from Palo Alto Networks for Chipotle's network perimeter and restaurant connectivity."
  tags:
    - security
    - palo-alto-networks
    - network
    - threat-detection
capability:
  exposes:
    - type: mcp
      namespace: network-security
      port: 8080
      tools:
        - name: get-security-alerts
          description: "Retrieve active security alerts from Palo Alto Networks."
          inputParameters:
            - name: severity
              in: body
              type: string
              description: "Alert severity filter (high, medium, low)."
          call: "paloalto.get-alerts"
          with:
            severity: "{{severity}}"
  consumes:
    - type: http
      namespace: paloalto
      baseUri: "https://chipotle-fw.paloaltonetworks.com/restapi/v10.2"
      authentication:
        type: apikey
        key: "$secrets.paloalto_api_key"
      resources:
        - name: alerts
          path: "/Incidents"
          inputParameters:
            - name: severity
              in: query
          operations:
            - name: get-alerts
              method: GET

Retrieves Paradox AI recruiting chatbot analytics for Chipotle hourly hiring campaigns, returning conversation completion rates and application conversions.

naftiko: "0.5"
info:
  label: "Paradox Recruiting Chatbot Analytics"
  description: "Retrieves Paradox AI recruiting chatbot analytics for Chipotle hourly hiring campaigns, returning conversation completion rates and application conversions."
  tags:
    - recruiting
    - paradox
    - chatbot
    - talent-acquisition
capability:
  exposes:
    - type: mcp
      namespace: recruiting-analytics
      port: 8080
      tools:
        - name: get-chatbot-analytics
          description: "Retrieve Paradox recruiting chatbot performance analytics."
          inputParameters:
            - name: campaign_id
              in: body
              type: string
              description: "The recruiting campaign ID."
          call: "paradox.get-campaign-analytics"
          with:
            campaign_id: "{{campaign_id}}"
  consumes:
    - type: http
      namespace: paradox
      baseUri: "https://api.paradox.ai/v1"
      authentication:
        type: bearer
        token: "$secrets.paradox_token"
      resources:
        - name: analytics
          path: "/campaigns/{{campaign_id}}/analytics"
          inputParameters:
            - name: campaign_id
              in: path
          operations:
            - name: get-campaign-analytics
              method: GET

Assigns Pluralsight training courses to Chipotle team members for food safety certification and professional development.

naftiko: "0.5"
info:
  label: "Pluralsight Training Assignment"
  description: "Assigns Pluralsight training courses to Chipotle team members for food safety certification and professional development."
  tags:
    - training
    - pluralsight
    - learning
    - food-safety
capability:
  exposes:
    - type: mcp
      namespace: learning-mgmt
      port: 8080
      tools:
        - name: assign-training-course
          description: "Assign a Pluralsight training course to a team member."
          inputParameters:
            - name: user_email
              in: body
              type: string
              description: "The team member's email address."
            - name: course_id
              in: body
              type: string
              description: "The Pluralsight course ID."
          call: "pluralsight.assign-course"
          with:
            email: "{{user_email}}"
            course_id: "{{course_id}}"
  consumes:
    - type: http
      namespace: pluralsight
      baseUri: "https://api.pluralsight.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.pluralsight_token"
      resources:
        - name: assignments
          path: "/assignments"
          operations:
            - name: assign-course
              method: POST

Triggers a Power BI dataset refresh for Chipotle operational dashboards and returns the refresh status.

naftiko: "0.5"
info:
  label: "Power BI Dashboard Refresh"
  description: "Triggers a Power BI dataset refresh for Chipotle operational dashboards and returns the refresh status."
  tags:
    - analytics
    - power-bi
    - dashboards
    - reporting
capability:
  exposes:
    - type: mcp
      namespace: bi-dashboards
      port: 8080
      tools:
        - name: refresh-power-bi-dataset
          description: "Trigger a Power BI dataset refresh."
          inputParameters:
            - name: group_id
              in: body
              type: string
              description: "The Power BI workspace (group) ID."
            - name: dataset_id
              in: body
              type: string
              description: "The Power BI dataset ID."
          call: "powerbi.refresh-dataset"
          with:
            group_id: "{{group_id}}"
            dataset_id: "{{dataset_id}}"
  consumes:
    - type: http
      namespace: powerbi
      baseUri: "https://api.powerbi.com/v1.0/myorg"
      authentication:
        type: bearer
        token: "$secrets.powerbi_token"
      resources:
        - name: datasets
          path: "/groups/{{group_id}}/datasets/{{dataset_id}}/refreshes"
          inputParameters:
            - name: group_id
              in: path
            - name: dataset_id
              in: path
          operations:
            - name: refresh-dataset
              method: POST

Triggers a Qlik Sense app reload for Chipotle financial reporting and returns the task status.

naftiko: "0.5"
info:
  label: "Qlik Sense Financial Report Generator"
  description: "Triggers a Qlik Sense app reload for Chipotle financial reporting and returns the task status."
  tags:
    - analytics
    - qlik-sense
    - financial-reporting
capability:
  exposes:
    - type: mcp
      namespace: financial-analytics
      port: 8080
      tools:
        - name: reload-financial-report
          description: "Trigger a Qlik Sense app reload for financial reports."
          inputParameters:
            - name: app_id
              in: body
              type: string
              description: "The Qlik Sense app ID."
          call: "qlik.reload-app"
          with:
            app_id: "{{app_id}}"
  consumes:
    - type: http
      namespace: qlik
      baseUri: "https://chipotle.us.qlikcloud.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.qlik_token"
      resources:
        - name: reloads
          path: "/reloads"
          operations:
            - name: reload-app
              method: POST

Generates quarterly business review materials by pulling financial data from Oracle Cloud, sales metrics from Snowflake, and creating a presentation summary in Confluence.

naftiko: "0.5"
info:
  label: "Quarterly Business Review Pipeline"
  description: "Generates quarterly business review materials by pulling financial data from Oracle Cloud, sales metrics from Snowflake, and creating a presentation summary in Confluence."
  tags:
    - finance
    - oracle-cloud
    - snowflake
    - confluence
    - reporting
capability:
  exposes:
    - type: mcp
      namespace: qbr-generation
      port: 8080
      tools:
        - name: generate-qbr-materials
          description: "Generate quarterly business review materials from multiple data sources."
          inputParameters:
            - name: quarter
              in: body
              type: string
              description: "The fiscal quarter."
            - name: region
              in: body
              type: string
              description: "The business region."
          steps:
            - name: get-financials
              type: call
              call: "oracle-cloud.get-financial-summary"
              with:
                fiscal_period: "{{quarter}}"
                region: "{{region}}"
            - name: get-sales-metrics
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT * FROM quarterly_sales_summary WHERE quarter = '{{quarter}}' AND region = '{{region}}'"
            - name: create-review-page
              type: call
              call: "confluence.create-page"
              with:
                space_key: "BIZ"
                title: "QBR {{quarter}} - {{region}}"
                body: "Revenue: ${{get-financials.revenue}}. Comp sales: {{get-sales-metrics.comp_growth}}%. Transaction count: {{get-sales-metrics.transaction_count}}."
  consumes:
    - type: http
      namespace: oracle-cloud
      baseUri: "https://chipotle.oraclecloud.com/fscmRestApi/resources/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_cloud_token"
      resources:
        - name: financials
          path: "/financialSummaries"
          inputParameters:
            - name: fiscal_period
              in: query
            - name: region
              in: query
          operations:
            - name: get-financial-summary
              method: GET
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: confluence
      baseUri: "https://chipotle.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/content"
          operations:
            - name: create-page
              method: POST

Evaluates potential restaurant sites by pulling demographic data from Snowflake, checking traffic patterns via Google Maps, and logging results in Salesforce.

naftiko: "0.5"
info:
  label: "Real Estate Site Evaluation Pipeline"
  description: "Evaluates potential restaurant sites by pulling demographic data from Snowflake, checking traffic patterns via Google Maps, and logging results in Salesforce."
  tags:
    - real-estate
    - snowflake
    - google-maps
    - salesforce
capability:
  exposes:
    - type: mcp
      namespace: site-evaluation
      port: 8080
      tools:
        - name: evaluate-restaurant-site
          description: "Evaluate a potential new restaurant site across multiple data sources."
          inputParameters:
            - name: site_address
              in: body
              type: string
              description: "The potential site address."
            - name: market_id
              in: body
              type: string
              description: "The target market identifier."
          steps:
            - name: get-demographics
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT * FROM market_demographics WHERE market_id = '{{market_id}}'"
            - name: check-traffic
              type: call
              call: "google-maps.get-place-details"
              with:
                address: "{{site_address}}"
            - name: log-evaluation
              type: call
              call: "salesforce.create-opportunity"
              with:
                name: "New Site: {{site_address}}"
                stage: "Evaluation"
                description: "Demographics: pop={{get-demographics.population}}, income={{get-demographics.median_income}}. Traffic score: {{check-traffic.traffic_score}}."
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: google-maps
      baseUri: "https://maps.googleapis.com/maps/api"
      authentication:
        type: api-key
        key: "$secrets.google_maps_key"
      resources:
        - name: places
          path: "/place/details/json"
          inputParameters:
            - name: address
              in: query
          operations:
            - name: get-place-details
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://chipotle.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: opportunities
          path: "/sobjects/Opportunity"
          operations:
            - name: create-opportunity
              method: POST

Generates regulatory compliance reports by aggregating data from Oracle E-Business Suite, validating against standards in ServiceNow, and publishing to Box.

naftiko: "0.5"
info:
  label: "Regulatory Compliance Reporting Pipeline"
  description: "Generates regulatory compliance reports by aggregating data from Oracle E-Business Suite, validating against standards in ServiceNow, and publishing to Box."
  tags:
    - compliance
    - oracle
    - servicenow
    - box
    - regulatory
capability:
  exposes:
    - type: mcp
      namespace: regulatory-reporting
      port: 8080
      tools:
        - name: generate-compliance-report
          description: "Generate a regulatory compliance report from multiple sources."
          inputParameters:
            - name: report_type
              in: body
              type: string
              description: "The compliance report type."
            - name: period
              in: body
              type: string
              description: "The reporting period."
          steps:
            - name: get-compliance-data
              type: call
              call: "oracle-ebs.get-compliance-records"
              with:
                type: "{{report_type}}"
                period: "{{period}}"
            - name: validate-standards
              type: call
              call: "servicenow.check-compliance"
              with:
                standard: "{{report_type}}"
                records_count: "{{get-compliance-data.record_count}}"
            - name: publish-report
              type: call
              call: "box.upload-file"
              with:
                folder_id: "compliance_reports"
                filename: "{{report_type}}_{{period}}_report.pdf"
                content: "Records: {{get-compliance-data.record_count}}. Violations: {{validate-standards.violation_count}}. Score: {{validate-standards.compliance_score}}%."
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: compliance
          path: "/complianceRecords"
          inputParameters:
            - name: type
              in: query
            - name: period
              in: query
          operations:
            - name: get-compliance-records
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: compliance
          path: "/table/compliance_check"
          operations:
            - name: check-compliance
              method: POST
    - type: http
      namespace: box
      baseUri: "https://upload.box.com/api/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files/content"
          operations:
            - name: upload-file
              method: POST

Conducts restaurant audits by pulling checklist data from Google Sheets, comparing against compliance standards in ServiceNow, and filing results in Box.

naftiko: "0.5"
info:
  label: "Restaurant Audit Checklist Pipeline"
  description: "Conducts restaurant audits by pulling checklist data from Google Sheets, comparing against compliance standards in ServiceNow, and filing results in Box."
  tags:
    - compliance
    - google-sheets
    - servicenow
    - box
capability:
  exposes:
    - type: mcp
      namespace: restaurant-audit
      port: 8080
      tools:
        - name: conduct-restaurant-audit
          description: "Conduct a restaurant audit with checklist verification and filing."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
            - name: audit_date
              in: body
              type: string
              description: "The audit date."
          steps:
            - name: get-checklist
              type: call
              call: "google-sheets.get-values"
              with:
                spreadsheet_id: "restaurant_audits"
                range: "{{restaurant_number}}!A:Z"
            - name: check-compliance
              type: call
              call: "servicenow.get-compliance-standards"
              with:
                category: "restaurant_operations"
            - name: file-results
              type: call
              call: "box.upload-file"
              with:
                folder_id: "audit_results"
                filename: "audit_{{restaurant_number}}_{{audit_date}}.json"
                content: "checklist_items={{get-checklist.row_count}}, compliance_score={{check-compliance.score}}"
  consumes:
    - type: http
      namespace: google-sheets
      baseUri: "https://sheets.googleapis.com/v4"
      authentication:
        type: bearer
        token: "$secrets.google_sheets_token"
      resources:
        - name: values
          path: "/spreadsheets/{{spreadsheet_id}}/values/{{range}}"
          inputParameters:
            - name: spreadsheet_id
              in: path
            - name: range
              in: path
          operations:
            - name: get-values
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: compliance
          path: "/table/compliance_standard"
          inputParameters:
            - name: category
              in: query
          operations:
            - name: get-compliance-standards
              method: GET
    - type: http
      namespace: box
      baseUri: "https://upload.box.com/api/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files/content"
          operations:
            - name: upload-file
              method: POST

Plans restaurant capacity by analyzing traffic patterns in Google Analytics, cross-referencing with staffing data in Workday, and generating reports in Looker.

naftiko: "0.5"
info:
  label: "Restaurant Capacity Planning Pipeline"
  description: "Plans restaurant capacity by analyzing traffic patterns in Google Analytics, cross-referencing with staffing data in Workday, and generating reports in Looker."
  tags:
    - operations
    - google-analytics
    - workday
    - looker
    - capacity-planning
capability:
  exposes:
    - type: mcp
      namespace: capacity-planning
      port: 8080
      tools:
        - name: plan-restaurant-capacity
          description: "Plan restaurant capacity based on traffic patterns and staffing."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
            - name: target_date
              in: body
              type: string
              description: "The target planning date."
          steps:
            - name: get-traffic-patterns
              type: call
              call: "google-analytics.get-report"
              with:
                view_id: "chipotle_locations"
                restaurant: "{{restaurant_number}}"
                date: "{{target_date}}"
            - name: get-staff-capacity
              type: call
              call: "workday.get-worker-availability"
              with:
                location: "{{restaurant_number}}"
                week: "{{target_date}}"
            - name: generate-report
              type: call
              call: "looker.run-look"
              with:
                look_id: "capacity_planning"
                filters: "restaurant={{restaurant_number}},date={{target_date}}"
  consumes:
    - type: http
      namespace: google-analytics
      baseUri: "https://analyticsdata.googleapis.com/v1beta"
      authentication:
        type: bearer
        token: "$secrets.google_analytics_token"
      resources:
        - name: reports
          path: "/properties/chipotle:runReport"
          operations:
            - name: get-report
              method: POST
    - type: http
      namespace: workday
      baseUri: "https://chipotle.workday.com/api/staffing/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: availability
          path: "/workers/availability"
          inputParameters:
            - name: location
              in: query
            - name: week
              in: query
          operations:
            - name: get-worker-availability
              method: GET
    - type: http
      namespace: looker
      baseUri: "https://chipotle.looker.com/api/4.0"
      authentication:
        type: bearer
        token: "$secrets.looker_token"
      resources:
        - name: looks
          path: "/looks/{{look_id}}/run/json"
          inputParameters:
            - name: look_id
              in: path
          operations:
            - name: run-look
              method: GET

On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder for training docs, and sends a Microsoft Teams welcome message to the new crew member.

naftiko: "0.5"
info:
  label: "Restaurant Employee Onboarding Orchestrator"
  description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder for training docs, and sends a Microsoft Teams welcome message to the new crew member."
  tags:
    - hr
    - onboarding
    - workday
    - servicenow
    - sharepoint
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: hr-onboarding
      port: 8080
      tools:
        - name: trigger-onboarding
          description: "Given a Workday employee ID and start date, orchestrate the full onboarding sequence across ServiceNow, SharePoint, and Microsoft Teams."
          inputParameters:
            - name: workday_employee_id
              in: body
              type: string
              description: "The Workday worker ID for the new hire."
            - name: start_date
              in: body
              type: string
              description: "The employee start date in YYYY-MM-DD format."
            - name: restaurant_number
              in: body
              type: string
              description: "The Chipotle restaurant number."
          steps:
            - name: get-employee
              type: call
              call: "workday.get-worker"
              with:
                worker_id: "{{workday_employee_id}}"
            - name: open-ticket
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "New hire onboarding: {{get-employee.full_name}}"
                category: "hr_onboarding"
                assigned_group: "Restaurant_Onboarding"
                description: "Onboarding for {{get-employee.full_name}} starting {{start_date}} at restaurant {{restaurant_number}}."
            - name: provision-folder
              type: call
              call: "sharepoint.create-folder"
              with:
                site_id: "chipotle_onboarding_site"
                folder_path: "OnboardingDocs/{{restaurant_number}}/{{get-employee.full_name}}_{{start_date}}"
            - name: send-welcome
              type: call
              call: "msteams.send-message"
              with:
                recipient_upn: "{{get-employee.work_email}}"
                text: "Welcome to Chipotle, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}. Training docs are at {{provision-folder.url}}."
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: sharepoint
      baseUri: "https://graph.microsoft.com/v1.0/sites"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: drive-items
          path: "/{{site_id}}/drive/root:/{{folder_path}}"
          inputParameters:
            - name: site_id
              in: path
            - name: folder_path
              in: path
          operations:
            - name: create-folder
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: messages
          path: "/users/{{recipient_upn}}/sendMail"
          inputParameters:
            - name: recipient_upn
              in: path
          operations:
            - name: send-message
              method: POST

Orchestrates the readiness check for a new Chipotle restaurant by verifying equipment in Oracle, confirming staffing in Workday, creating a go-live checklist in Jira, and alerting leadership via Microsoft Teams.

naftiko: "0.5"
info:
  label: "Restaurant Opening Readiness Pipeline"
  description: "Orchestrates the readiness check for a new Chipotle restaurant by verifying equipment in Oracle, confirming staffing in Workday, creating a go-live checklist in Jira, and alerting leadership via Microsoft Teams."
  tags:
    - restaurant-operations
    - oracle
    - workday
    - jira
    - microsoft-teams
    - new-store
capability:
  exposes:
    - type: mcp
      namespace: store-readiness
      port: 8080
      tools:
        - name: check-opening-readiness
          description: "Run the full readiness check for a new Chipotle restaurant opening."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The new restaurant number."
            - name: opening_date
              in: body
              type: string
              description: "The planned opening date."
          steps:
            - name: check-equipment
              type: call
              call: "oracle-ebs.get-inventory"
              with:
                org_id: "{{restaurant_number}}"
                item_number: "OPENING_EQUIPMENT_KIT"
            - name: check-staffing
              type: call
              call: "workday.get-headcount"
              with:
                location_id: "{{restaurant_number}}"
            - name: create-checklist
              type: call
              call: "jira.create-issue"
              with:
                project: "NEW_STORE"
                issuetype: "Task"
                summary: "Go-Live Checklist: Restaurant {{restaurant_number}} opening {{opening_date}}"
                description: "Equipment: {{check-equipment.quantity_on_hand}} units. Staff: {{check-staffing.headcount}}."
            - name: notify-leadership
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "new_restaurant_openings"
                channel_id: "readiness"
                text: "Restaurant {{restaurant_number}} opening {{opening_date}}: Equipment ({{check-equipment.quantity_on_hand}}), Staff ({{check-staffing.headcount}}). Jira: {{create-checklist.key}}."
  consumes:
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: inventory
          path: "/inventoryBalances"
          inputParameters:
            - name: org_id
              in: query
            - name: item_number
              in: query
          operations:
            - name: get-inventory
              method: GET
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: headcount
          path: "/workers"
          inputParameters:
            - name: location_id
              in: query
          operations:
            - name: get-headcount
              method: GET
    - type: http
      namespace: jira
      baseUri: "https://chipotle.atlassian.net/rest/api/3"
      authentication:
        type: basic
        username: "$secrets.jira_user"
        password: "$secrets.jira_api_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Tracks restaurant renovation projects by pulling milestones from Microsoft Project, updating budget in Oracle Cloud, and reporting status to Confluence.

naftiko: "0.5"
info:
  label: "Restaurant Renovation Tracking Pipeline"
  description: "Tracks restaurant renovation projects by pulling milestones from Microsoft Project, updating budget in Oracle Cloud, and reporting status to Confluence."
  tags:
    - facilities
    - microsoft-project
    - oracle-cloud
    - confluence
capability:
  exposes:
    - type: mcp
      namespace: renovation-tracking
      port: 8080
      tools:
        - name: track-renovation-project
          description: "Track a restaurant renovation project across planning and finance systems."
          inputParameters:
            - name: project_id
              in: body
              type: string
              description: "The renovation project ID."
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
          steps:
            - name: get-milestones
              type: call
              call: "ms-project.get-tasks"
              with:
                project_id: "{{project_id}}"
            - name: get-budget-status
              type: call
              call: "oracle-cloud.get-project-budget"
              with:
                project_id: "{{project_id}}"
            - name: update-status-page
              type: call
              call: "confluence.update-page"
              with:
                page_id: "renovation_{{restaurant_number}}"
                body: "Renovation {{project_id}}: {{get-milestones.completed}}/{{get-milestones.total}} milestones. Budget: ${{get-budget-status.spent}}/${{get-budget-status.allocated}} ({{get-budget-status.pct_used}}%)."
  consumes:
    - type: http
      namespace: ms-project
      baseUri: "https://graph.microsoft.com/v1.0/planner"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: tasks
          path: "/plans/{{project_id}}/tasks"
          inputParameters:
            - name: project_id
              in: path
          operations:
            - name: get-tasks
              method: GET
    - type: http
      namespace: oracle-cloud
      baseUri: "https://chipotle.oraclecloud.com/fscmRestApi/resources/v1"
      authentication:
        type: bearer
        token: "$secrets.oracle_cloud_token"
      resources:
        - name: budgets
          path: "/projectBudgets"
          inputParameters:
            - name: project_id
              in: query
          operations:
            - name: get-project-budget
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://chipotle.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/content/{{page_id}}"
          inputParameters:
            - name: page_id
              in: path
          operations:
            - name: update-page
              method: PUT

Forecasts restaurant revenue by pulling historical data from Snowflake, running predictions in Azure Machine Learning, and updating forecasts in Google Sheets.

naftiko: "0.5"
info:
  label: "Revenue Forecasting Pipeline"
  description: "Forecasts restaurant revenue by pulling historical data from Snowflake, running predictions in Azure Machine Learning, and updating forecasts in Google Sheets."
  tags:
    - finance
    - snowflake
    - azure-machine-learning
    - google-sheets
    - forecasting
capability:
  exposes:
    - type: mcp
      namespace: revenue-forecasting
      port: 8080
      tools:
        - name: forecast-revenue
          description: "Generate revenue forecasts for a restaurant using ML predictions."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
            - name: forecast_months
              in: body
              type: string
              description: "Number of months to forecast."
          steps:
            - name: get-historical
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT * FROM revenue_history WHERE restaurant = '{{restaurant_number}}' ORDER BY month DESC LIMIT 24"
            - name: run-forecast
              type: call
              call: "azure-ml.invoke-endpoint"
              with:
                endpoint: "revenue_forecaster"
                data: "{restaurant: '{{restaurant_number}}', months: {{forecast_months}}}"
            - name: update-sheet
              type: call
              call: "google-sheets.update-values"
              with:
                spreadsheet_id: "revenue_forecasts"
                range: "{{restaurant_number}}!A1"
                values: "{{run-forecast.monthly_predictions}}"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: azure-ml
      baseUri: "https://chipotle-ml.azureml.net/score"
      authentication:
        type: bearer
        token: "$secrets.azure_ml_token"
      resources:
        - name: endpoints
          path: "/{{endpoint}}"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: google-sheets
      baseUri: "https://sheets.googleapis.com/v4"
      authentication:
        type: bearer
        token: "$secrets.google_sheets_token"
      resources:
        - name: values
          path: "/spreadsheets/{{spreadsheet_id}}/values/{{range}}"
          inputParameters:
            - name: spreadsheet_id
              in: path
            - name: range
              in: path
          operations:
            - name: update-values
              method: PUT

Retrieves a Salesforce customer service case by case number, returning status, priority, subject, and resolution details for Chipotle customer experience management.

naftiko: "0.5"
info:
  label: "Salesforce Customer Case Lookup"
  description: "Retrieves a Salesforce customer service case by case number, returning status, priority, subject, and resolution details for Chipotle customer experience management."
  tags:
    - crm
    - salesforce
    - customer-service
    - case-management
capability:
  exposes:
    - type: mcp
      namespace: crm-cases
      port: 8080
      tools:
        - name: get-customer-case
          description: "Retrieve a Salesforce case by case number."
          inputParameters:
            - name: case_number
              in: body
              type: string
              description: "The Salesforce case number."
          call: "salesforce.query-case"
          with:
            q: "SELECT Id, CaseNumber, Status, Priority, Subject, Description FROM Case WHERE CaseNumber = '{{case_number}}'"
  consumes:
    - type: http
      namespace: salesforce
      baseUri: "https://chipotle.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: query
          path: "/query"
          inputParameters:
            - name: q
              in: query
          operations:
            - name: query-case
              method: GET

Retrieves cost center reports from SAP BW for Chipotle financial planning, returning budget allocation, actual spend, and variance data.

naftiko: "0.5"
info:
  label: "SAP BW Cost Center Report"
  description: "Retrieves cost center reports from SAP BW for Chipotle financial planning, returning budget allocation, actual spend, and variance data."
  tags:
    - finance
    - sap-bw
    - cost-management
    - reporting
capability:
  exposes:
    - type: mcp
      namespace: cost-center
      port: 8080
      tools:
        - name: get-cost-center-report
          description: "Retrieve a cost center report from SAP BW."
          inputParameters:
            - name: cost_center_id
              in: body
              type: string
              description: "The SAP cost center ID."
            - name: fiscal_year
              in: body
              type: string
              description: "The fiscal year."
          call: "sap-bw.get-cost-report"
          with:
            cost_center: "{{cost_center_id}}"
            year: "{{fiscal_year}}"
  consumes:
    - type: http
      namespace: sap-bw
      baseUri: "https://chipotle-bw.sap.com/sap/bw/odata/v1"
      authentication:
        type: basic
        username: "$secrets.sap_bw_user"
        password: "$secrets.sap_bw_password"
      resources:
        - name: cost-reports
          path: "/CostCenterReports"
          inputParameters:
            - name: cost_center
              in: query
            - name: year
              in: query
          operations:
            - name: get-cost-report
              method: GET

Looks up a SAP purchase order by number and returns header status, vendor, total value, and open line items for Chipotle supply chain operations.

naftiko: "0.5"
info:
  label: "SAP Purchase Order Status"
  description: "Looks up a SAP purchase order by number and returns header status, vendor, total value, and open line items for Chipotle supply chain operations."
  tags:
    - procurement
    - erp
    - sap
    - purchase-order
    - supply-chain
capability:
  exposes:
    - type: mcp
      namespace: erp-procurement
      port: 8080
      tools:
        - name: get-purchase-order
          description: "Look up a SAP purchase order by PO number. Returns header status, vendor name, total value, currency, and delivery date."
          inputParameters:
            - name: po_number
              in: body
              type: string
              description: "The SAP purchase order number (10-digit)."
          call: "sap.get-po"
          with:
            po_number: "{{po_number}}"
          outputParameters:
            - name: status
              type: string
              mapping: "$.d.OverallStatus"
            - name: vendor
              type: string
              mapping: "$.d.Supplier.CompanyName"
            - name: total_value
              type: string
              mapping: "$.d.TotalAmount"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://chipotle-s4.sap.com/sap/opu/odata/sap/MM_PUR_PO_MAINT_V2_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: purchase-orders
          path: "/A_PurchaseOrder('{{po_number}}')"
          inputParameters:
            - name: po_number
              in: path
          operations:
            - name: get-po
              method: GET

Responds to security incidents by correlating alerts from Palo Alto Networks, creating incidents in ServiceNow, and escalating critical findings to Microsoft Teams.

naftiko: "0.5"
info:
  label: "Security Incident Response Pipeline"
  description: "Responds to security incidents by correlating alerts from Palo Alto Networks, creating incidents in ServiceNow, and escalating critical findings to Microsoft Teams."
  tags:
    - security
    - palo-alto-networks
    - servicenow
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: security-response
      port: 8080
      tools:
        - name: respond-security-incident
          description: "Respond to a security incident across detection and ticketing systems."
          inputParameters:
            - name: alert_id
              in: body
              type: string
              description: "The Palo Alto Networks alert ID."
          steps:
            - name: get-alert-details
              type: call
              call: "paloalto.get-alert"
              with:
                alert_id: "{{alert_id}}"
            - name: create-incident
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Security Alert: {{get-alert-details.threat_name}}"
                urgency: "1"
                impact: "1"
                category: "security"
                description: "Source: {{get-alert-details.source_ip}}, Threat: {{get-alert-details.threat_name}}, Severity: {{get-alert-details.severity}}"
            - name: escalate-team
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "infosec"
                channel_id: "incident_response"
                text: "SECURITY INCIDENT: {{get-alert-details.threat_name}} from {{get-alert-details.source_ip}}. Severity: {{get-alert-details.severity}}. Ticket: {{create-incident.number}}."
  consumes:
    - type: http
      namespace: paloalto
      baseUri: "https://chipotle-panorama.paloaltonetworks.com/api/v1"
      authentication:
        type: bearer
        token: "$secrets.paloalto_token"
      resources:
        - name: alerts
          path: "/alerts/{{alert_id}}"
          inputParameters:
            - name: alert_id
              in: path
          operations:
            - name: get-alert
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          operations:
            - name: create-incident
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Fetches the current status of a ServiceNow incident by number, returning state, priority, and assigned group for Chipotle IT support.

naftiko: "0.5"
info:
  label: "ServiceNow Incident Status"
  description: "Fetches the current status of a ServiceNow incident by number, returning state, priority, and assigned group for Chipotle IT support."
  tags:
    - it-support
    - servicenow
    - incident-management
capability:
  exposes:
    - type: mcp
      namespace: itsm-incidents
      port: 8080
      tools:
        - name: get-incident-status
          description: "Retrieve a ServiceNow incident by number and return its current state."
          inputParameters:
            - name: incident_number
              in: body
              type: string
              description: "The ServiceNow incident number."
          call: "servicenow.get-incident"
          with:
            number: "{{incident_number}}"
  consumes:
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.service-now.com/api/now"
      authentication:
        type: basic
        username: "$secrets.servicenow_user"
        password: "$secrets.servicenow_password"
      resources:
        - name: incidents
          path: "/table/incident"
          inputParameters:
            - name: number
              in: query
          operations:
            - name: get-incident
              method: GET

Searches SharePoint Online for Chipotle corporate policy documents, returning matching documents with metadata and download links.

naftiko: "0.5"
info:
  label: "SharePoint Policy Document Search"
  description: "Searches SharePoint Online for Chipotle corporate policy documents, returning matching documents with metadata and download links."
  tags:
    - document-management
    - sharepoint
    - corporate-policy
capability:
  exposes:
    - type: mcp
      namespace: policy-docs
      port: 8080
      tools:
        - name: search-policy-documents
          description: "Search SharePoint for corporate policy documents."
          inputParameters:
            - name: search_query
              in: body
              type: string
              description: "The search query string."
          call: "sharepoint.search-documents"
          with:
            query: "{{search_query}}"
  consumes:
    - type: http
      namespace: sharepoint
      baseUri: "https://chipotle.sharepoint.com/_api/v2.0"
      authentication:
        type: bearer
        token: "$secrets.sharepoint_token"
      resources:
        - name: search
          path: "/search/query"
          inputParameters:
            - name: query
              in: query
          operations:
            - name: search-documents
              method: GET

Queries Snowflake analytics warehouse for Chipotle restaurant labor cost analysis, returning cost per transaction and labor efficiency metrics.

naftiko: "0.5"
info:
  label: "Snowflake Labor Cost Query"
  description: "Queries Snowflake analytics warehouse for Chipotle restaurant labor cost analysis, returning cost per transaction and labor efficiency metrics."
  tags:
    - analytics
    - snowflake
    - labor-management
    - cost-analysis
capability:
  exposes:
    - type: mcp
      namespace: labor-analytics
      port: 8080
      tools:
        - name: query-labor-costs
          description: "Query Snowflake for restaurant labor cost metrics."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The Chipotle restaurant number."
            - name: period
              in: body
              type: string
              description: "The time period."
          call: "snowflake.execute-statement"
          with:
            statement: "SELECT * FROM labor_cost_analysis WHERE restaurant = '{{restaurant_number}}' AND period = '{{period}}'"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST

Executes a Snowflake SQL query against Chipotle's analytics warehouse for menu item performance, ingredient cost analysis, and regional sales trends.

naftiko: "0.5"
info:
  label: "Snowflake Menu Analytics Query"
  description: "Executes a Snowflake SQL query against Chipotle's analytics warehouse for menu item performance, ingredient cost analysis, and regional sales trends."
  tags:
    - data-warehouse
    - snowflake
    - menu-analytics
    - sales
capability:
  exposes:
    - type: mcp
      namespace: analytics-warehouse
      port: 8080
      tools:
        - name: query-menu-analytics
          description: "Execute a Snowflake analytics query for menu performance data."
          inputParameters:
            - name: sql
              in: body
              type: string
              description: "The SQL query to execute."
          call: "snowflake.execute-statement"
          with:
            statement: "{{sql}}"
            warehouse: "CHIPOTLE_ANALYTICS_WH"
            database: "CHIPOTLE_ANALYTICS"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST

Monitors social media mentions for crisis keywords, creates a Salesforce case for tracking, and coordinates response through Microsoft Teams.

naftiko: "0.5"
info:
  label: "Social Media Crisis Response Pipeline"
  description: "Monitors social media mentions for crisis keywords, creates a Salesforce case for tracking, and coordinates response through Microsoft Teams."
  tags:
    - social-media
    - instagram
    - salesforce
    - microsoft-teams
capability:
  exposes:
    - type: mcp
      namespace: crisis-response
      port: 8080
      tools:
        - name: respond-social-crisis
          description: "Detect and respond to social media crisis events."
          inputParameters:
            - name: keyword
              in: body
              type: string
              description: "The crisis keyword detected."
            - name: platform
              in: body
              type: string
              description: "The social media platform."
          steps:
            - name: get-mentions
              type: call
              call: "instagram.search-mentions"
              with:
                keyword: "{{keyword}}"
            - name: create-case
              type: call
              call: "salesforce.create-case"
              with:
                subject: "Social Crisis: {{keyword}} on {{platform}}"
                priority: "High"
                description: "Detected {{get-mentions.mention_count}} mentions. Sentiment: {{get-mentions.sentiment}}."
            - name: coordinate-response
              type: call
              call: "msteams.send-channel-message"
              with:
                team_id: "communications"
                channel_id: "crisis_response"
                text: "SOCIAL CRISIS ALERT: {{keyword}} on {{platform}}. {{get-mentions.mention_count}} mentions detected. Case: {{create-case.case_number}}."
  consumes:
    - type: http
      namespace: instagram
      baseUri: "https://graph.facebook.com/v18.0"
      authentication:
        type: bearer
        token: "$secrets.instagram_token"
      resources:
        - name: mentions
          path: "/ig_mentions_search"
          inputParameters:
            - name: keyword
              in: query
          operations:
            - name: search-mentions
              method: GET
    - type: http
      namespace: salesforce
      baseUri: "https://chipotle.my.salesforce.com/services/data/v58.0"
      authentication:
        type: bearer
        token: "$secrets.salesforce_token"
      resources:
        - name: cases
          path: "/sobjects/Case"
          operations:
            - name: create-case
              method: POST
    - type: http
      namespace: msteams
      baseUri: "https://graph.microsoft.com/v1.0"
      authentication:
        type: bearer
        token: "$secrets.msgraph_token"
      resources:
        - name: channel-messages
          path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
          inputParameters:
            - name: team_id
              in: path
            - name: channel_id
              in: path
          operations:
            - name: send-channel-message
              method: POST

Queries SolarWinds for network health metrics at Chipotle restaurant locations, returning node status, response time, and packet loss.

naftiko: "0.5"
info:
  label: "SolarWinds Restaurant Network Monitor"
  description: "Queries SolarWinds for network health metrics at Chipotle restaurant locations, returning node status, response time, and packet loss."
  tags:
    - network-monitoring
    - solarwinds
    - restaurant-infrastructure
capability:
  exposes:
    - type: mcp
      namespace: network-monitoring
      port: 8080
      tools:
        - name: get-restaurant-network-health
          description: "Retrieve SolarWinds network health for a restaurant."
          inputParameters:
            - name: node_id
              in: body
              type: string
              description: "The SolarWinds node ID."
          call: "solarwinds.get-node"
          with:
            node_id: "{{node_id}}"
  consumes:
    - type: http
      namespace: solarwinds
      baseUri: "https://chipotle-solarwinds.com:17778/SolarWinds/InformationService/v3/Json"
      authentication:
        type: basic
        username: "$secrets.solarwinds_user"
        password: "$secrets.solarwinds_password"
      resources:
        - name: nodes
          path: "/Query"
          inputParameters:
            - name: node_id
              in: query
          operations:
            - name: get-node
              method: GET

Retrieves Square POS transaction details for Chipotle restaurant locations, returning payment status, amount, and tender information.

naftiko: "0.5"
info:
  label: "Square POS Transaction Lookup"
  description: "Retrieves Square POS transaction details for Chipotle restaurant locations, returning payment status, amount, and tender information."
  tags:
    - payments
    - square
    - pos-systems
    - restaurant-operations
capability:
  exposes:
    - type: mcp
      namespace: pos-transactions
      port: 8080
      tools:
        - name: get-pos-transaction
          description: "Retrieve a Square POS transaction by payment ID."
          inputParameters:
            - name: payment_id
              in: body
              type: string
              description: "The Square payment ID."
          call: "square.get-payment"
          with:
            payment_id: "{{payment_id}}"
  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

Audits supplier compliance by retrieving certifications from SAP, checking inspection records in Oracle E-Business Suite, and creating a compliance report in Confluence.

naftiko: "0.5"
info:
  label: "Supplier Compliance Audit Pipeline"
  description: "Audits supplier compliance by retrieving certifications from SAP, checking inspection records in Oracle E-Business Suite, and creating a compliance report in Confluence."
  tags:
    - supply-chain
    - sap
    - oracle
    - confluence
    - compliance
capability:
  exposes:
    - type: mcp
      namespace: supplier-compliance
      port: 8080
      tools:
        - name: audit-supplier-compliance
          description: "Audit a supplier for compliance across certifications and inspections."
          inputParameters:
            - name: supplier_id
              in: body
              type: string
              description: "The supplier identifier."
            - name: audit_type
              in: body
              type: string
              description: "The type of compliance audit."
          steps:
            - name: get-certifications
              type: call
              call: "sap.get-supplier-certs"
              with:
                vendor_id: "{{supplier_id}}"
            - name: get-inspections
              type: call
              call: "oracle-ebs.get-inspection-records"
              with:
                supplier_id: "{{supplier_id}}"
                type: "{{audit_type}}"
            - name: create-report
              type: call
              call: "confluence.create-page"
              with:
                space_key: "SUPPLY"
                title: "Compliance Audit: {{supplier_id}} - {{audit_type}}"
                body: "Certifications: {{get-certifications.count}} valid. Inspections: {{get-inspections.pass_count}}/{{get-inspections.total_count}} passed."
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://chipotle-s4.sap.com/sap/opu/odata/sap/VENDOR_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: certifications
          path: "/VendorCertificates"
          inputParameters:
            - name: vendor_id
              in: query
          operations:
            - name: get-supplier-certs
              method: GET
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: inspections
          path: "/inspections"
          inputParameters:
            - name: supplier_id
              in: query
            - name: type
              in: query
          operations:
            - name: get-inspection-records
              method: GET
    - type: http
      namespace: confluence
      baseUri: "https://chipotle.atlassian.net/wiki/rest/api"
      authentication:
        type: bearer
        token: "$secrets.confluence_token"
      resources:
        - name: pages
          path: "/content"
          operations:
            - name: create-page
              method: POST

Triggers a Tableau workbook refresh for Chipotle restaurant operations data and returns the updated dashboard view URL.

naftiko: "0.5"
info:
  label: "Tableau Restaurant Operations Dashboard"
  description: "Triggers a Tableau workbook refresh for Chipotle restaurant operations data and returns the updated dashboard view URL."
  tags:
    - analytics
    - tableau
    - restaurant-operations
    - reporting
capability:
  exposes:
    - type: mcp
      namespace: analytics-dashboards
      port: 8080
      tools:
        - name: refresh-ops-dashboard
          description: "Trigger a Tableau workbook refresh for restaurant operations data."
          inputParameters:
            - name: workbook_id
              in: body
              type: string
              description: "The Tableau workbook ID."
          call: "tableau.refresh-workbook"
          with:
            workbook_id: "{{workbook_id}}"
  consumes:
    - type: http
      namespace: tableau
      baseUri: "https://chipotle.online.tableau.com/api/3.19"
      authentication:
        type: bearer
        token: "$secrets.tableau_token"
      resources:
        - name: workbooks
          path: "/sites/{{site_id}}/workbooks/{{workbook_id}}/refresh"
          inputParameters:
            - name: workbook_id
              in: path
            - name: site_id
              in: path
          operations:
            - name: refresh-workbook
              method: POST

Queries Teradata data warehouse for Chipotle supply chain metrics including supplier lead times, order volumes, and delivery performance.

naftiko: "0.5"
info:
  label: "Teradata Supply Chain Query"
  description: "Queries Teradata data warehouse for Chipotle supply chain metrics including supplier lead times, order volumes, and delivery performance."
  tags:
    - supply-chain
    - teradata
    - analytics
    - logistics
capability:
  exposes:
    - type: mcp
      namespace: supply-chain-analytics
      port: 8080
      tools:
        - name: query-supply-chain
          description: "Query Teradata for supply chain performance metrics."
          inputParameters:
            - name: supplier_id
              in: body
              type: string
              description: "The supplier identifier."
            - name: date_range
              in: body
              type: string
              description: "Date range for query."
          call: "teradata.execute-query"
          with:
            query: "SELECT * FROM supply_chain_metrics WHERE supplier_id = '{{supplier_id}}' AND period = '{{date_range}}'"
  consumes:
    - type: http
      namespace: teradata
      baseUri: "https://chipotle-td.teradata.com/api/v1"
      authentication:
        type: basic
        username: "$secrets.teradata_user"
        password: "$secrets.teradata_password"
      resources:
        - name: queries
          path: "/queries"
          operations:
            - name: execute-query
              method: POST

Reconciles vendor invoices by matching SAP purchase orders with Oracle E-Business Suite receipts and flagging discrepancies in ServiceNow.

naftiko: "0.5"
info:
  label: "Vendor Invoice Reconciliation Pipeline"
  description: "Reconciles vendor invoices by matching SAP purchase orders with Oracle E-Business Suite receipts and flagging discrepancies in ServiceNow."
  tags:
    - finance
    - sap
    - oracle
    - servicenow
    - accounts-payable
capability:
  exposes:
    - type: mcp
      namespace: invoice-reconciliation
      port: 8080
      tools:
        - name: reconcile-vendor-invoice
          description: "Reconcile a vendor invoice against purchase orders and receipts."
          inputParameters:
            - name: invoice_number
              in: body
              type: string
              description: "The vendor invoice number."
            - name: vendor_id
              in: body
              type: string
              description: "The vendor identifier."
          steps:
            - name: get-purchase-order
              type: call
              call: "sap.get-purchase-order"
              with:
                invoice_ref: "{{invoice_number}}"
                vendor_id: "{{vendor_id}}"
            - name: get-receipt
              type: call
              call: "oracle-ebs.get-receipt"
              with:
                po_number: "{{get-purchase-order.po_number}}"
            - name: flag-discrepancy
              type: call
              call: "servicenow.create-incident"
              with:
                short_description: "Invoice discrepancy: {{invoice_number}}"
                description: "PO Amount: {{get-purchase-order.amount}}, Receipt Amount: {{get-receipt.amount}}"
                category: "accounts_payable"
  consumes:
    - type: http
      namespace: sap
      baseUri: "https://chipotle-s4.sap.com/sap/opu/odata/sap/PO_SRV"
      authentication:
        type: basic
        username: "$secrets.sap_user"
        password: "$secrets.sap_password"
      resources:
        - name: purchase-orders
          path: "/PurchaseOrders"
          inputParameters:
            - name: invoice_ref
              in: query
            - name: vendor_id
              in: query
          operations:
            - name: get-purchase-order
              method: GET
    - type: http
      namespace: oracle-ebs
      baseUri: "https://chipotle-ebs.oracle.com/webservices/rest/v1"
      authentication:
        type: basic
        username: "$secrets.oracle_user"
        password: "$secrets.oracle_password"
      resources:
        - name: receipts
          path: "/receipts"
          inputParameters:
            - name: po_number
              in: query
          operations:
            - name: get-receipt
              method: GET
    - type: http
      namespace: servicenow
      baseUri: "https://chipotle.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

Analyzes food waste by querying waste data from Snowflake, running ML predictions in Azure Machine Learning, and updating action items in Jira.

naftiko: "0.5"
info:
  label: "Waste Reduction Analysis Pipeline"
  description: "Analyzes food waste by querying waste data from Snowflake, running ML predictions in Azure Machine Learning, and updating action items in Jira."
  tags:
    - sustainability
    - snowflake
    - azure-machine-learning
    - jira
capability:
  exposes:
    - type: mcp
      namespace: waste-reduction
      port: 8080
      tools:
        - name: analyze-waste-reduction
          description: "Analyze food waste patterns and generate reduction recommendations."
          inputParameters:
            - name: restaurant_number
              in: body
              type: string
              description: "The restaurant number."
            - name: period
              in: body
              type: string
              description: "The analysis period."
          steps:
            - name: query-waste-data
              type: call
              call: "snowflake.execute-statement"
              with:
                statement: "SELECT * FROM food_waste_tracking WHERE restaurant = '{{restaurant_number}}' AND period = '{{period}}'"
            - name: predict-optimization
              type: call
              call: "azure-ml.invoke-endpoint"
              with:
                endpoint: "waste_predictor"
                data: "{restaurant: '{{restaurant_number}}', waste_kg: {{query-waste-data.total_waste}}}"
            - name: create-action-items
              type: call
              call: "jira.create-issue"
              with:
                project: "SUSTAIN"
                summary: "Waste reduction: Restaurant {{restaurant_number}}"
                description: "Current waste: {{query-waste-data.total_waste}}kg. Predicted savings: {{predict-optimization.savings_pct}}%."
                issue_type: "Task"
  consumes:
    - type: http
      namespace: snowflake
      baseUri: "https://chipotle.snowflakecomputing.com/api/v2"
      authentication:
        type: bearer
        token: "$secrets.snowflake_token"
      resources:
        - name: statements
          path: "/statements"
          operations:
            - name: execute-statement
              method: POST
    - type: http
      namespace: azure-ml
      baseUri: "https://chipotle-ml.azureml.net/score"
      authentication:
        type: bearer
        token: "$secrets.azure_ml_token"
      resources:
        - name: endpoints
          path: "/{{endpoint}}"
          inputParameters:
            - name: endpoint
              in: path
          operations:
            - name: invoke-endpoint
              method: POST
    - type: http
      namespace: jira
      baseUri: "https://chipotle.atlassian.net/rest/api/3"
      authentication:
        type: bearer
        token: "$secrets.jira_token"
      resources:
        - name: issues
          path: "/issue"
          operations:
            - name: create-issue
              method: POST

Retrieves employee benefits enrollment status from Workday for Chipotle HR operations, returning plan selections and coverage details.

naftiko: "0.5"
info:
  label: "Workday Benefits Enrollment Status"
  description: "Retrieves employee benefits enrollment status from Workday for Chipotle HR operations, returning plan selections and coverage details."
  tags:
    - hr
    - workday
    - benefits
    - employee-management
capability:
  exposes:
    - type: mcp
      namespace: hr-benefits
      port: 8080
      tools:
        - name: get-benefits-enrollment
          description: "Retrieve benefits enrollment status for a Chipotle employee."
          inputParameters:
            - name: employee_id
              in: body
              type: string
              description: "The Workday employee ID."
          call: "workday.get-enrollment"
          with:
            employee_id: "{{employee_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://chipotle.workday.com/api/benefits/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: enrollments
          path: "/enrollments/{{employee_id}}"
          inputParameters:
            - name: employee_id
              in: path
          operations:
            - name: get-enrollment
              method: GET

Retrieves a Workday employee profile by worker ID, returning name, department, job title, and restaurant assignment for Chipotle HR operations.

naftiko: "0.5"
info:
  label: "Workday Employee Profile Lookup"
  description: "Retrieves a Workday employee profile by worker ID, returning name, department, job title, and restaurant assignment for Chipotle HR operations."
  tags:
    - hr
    - workday
    - employee-management
capability:
  exposes:
    - type: mcp
      namespace: hr-employees
      port: 8080
      tools:
        - name: get-employee-profile
          description: "Retrieve a Workday employee profile by worker ID."
          inputParameters:
            - name: worker_id
              in: body
              type: string
              description: "The Workday worker ID."
          call: "workday.get-worker"
          with:
            worker_id: "{{worker_id}}"
  consumes:
    - type: http
      namespace: workday
      baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
      authentication:
        type: bearer
        token: "$secrets.workday_token"
      resources:
        - name: workers
          path: "/workers/{{worker_id}}"
          inputParameters:
            - name: worker_id
              in: path
          operations:
            - name: get-worker
              method: GET

Publishes brand content to YouTube by retrieving video assets from Box, uploading to YouTube, and tracking performance in Google Analytics.

naftiko: "0.5"
info:
  label: "YouTube Brand Content Publishing Pipeline"
  description: "Publishes brand content to YouTube by retrieving video assets from Box, uploading to YouTube, and tracking performance in Google Analytics."
  tags:
    - marketing
    - box
    - youtube
    - google-analytics
capability:
  exposes:
    - type: mcp
      namespace: video-publishing
      port: 8080
      tools:
        - name: publish-brand-video
          description: "Publish brand video content to YouTube with performance tracking."
          inputParameters:
            - name: video_asset_id
              in: body
              type: string
              description: "The Box video asset ID."
            - name: title
              in: body
              type: string
              description: "The video title."
            - name: description
              in: body
              type: string
              description: "The video description."
          steps:
            - name: get-video-asset
              type: call
              call: "box.get-file-info"
              with:
                file_id: "{{video_asset_id}}"
            - name: upload-video
              type: call
              call: "youtube.upload-video"
              with:
                title: "{{title}}"
                description: "{{description}}"
                source_url: "{{get-video-asset.download_url}}"
            - name: setup-tracking
              type: call
              call: "google-analytics.create-event"
              with:
                category: "video_publish"
                action: "youtube_upload"
                label: "{{upload-video.video_id}}"
  consumes:
    - type: http
      namespace: box
      baseUri: "https://api.box.com/2.0"
      authentication:
        type: bearer
        token: "$secrets.box_token"
      resources:
        - name: files
          path: "/files/{{file_id}}"
          inputParameters:
            - name: file_id
              in: path
          operations:
            - name: get-file-info
              method: GET
    - type: http
      namespace: youtube
      baseUri: "https://www.googleapis.com/youtube/v3"
      authentication:
        type: bearer
        token: "$secrets.youtube_token"
      resources:
        - name: videos
          path: "/videos"
          operations:
            - name: upload-video
              method: POST
    - type: http
      namespace: google-analytics
      baseUri: "https://www.google-analytics.com/mp/collect"
      authentication:
        type: api-key
        key: "$secrets.google_analytics_key"
      resources:
        - name: events
          path: "/"
          operations:
            - name: create-event
              method: POST

Creates Zoom meetings for Chipotle training sessions and corporate communications.

naftiko: "0.5"
info:
  label: "Zoom Meeting Scheduler"
  description: "Creates Zoom meetings for Chipotle training sessions and corporate communications."
  tags:
    - communications
    - zoom
    - meetings
    - scheduling
capability:
  exposes:
    - type: mcp
      namespace: meeting-mgmt
      port: 8080
      tools:
        - name: create-zoom-meeting
          description: "Create a Zoom meeting."
          inputParameters:
            - name: topic
              in: body
              type: string
              description: "The meeting topic."
            - name: start_time
              in: body
              type: string
              description: "Start time in ISO 8601 format."
            - name: duration
              in: body
              type: integer
              description: "Meeting duration in minutes."
          call: "zoom.create-meeting"
          with:
            topic: "{{topic}}"
            start_time: "{{start_time}}"
            duration: "{{duration}}"
  consumes:
    - type: http
      namespace: zoom
      baseUri: "https://api.zoom.us/v2"
      authentication:
        type: bearer
        token: "$secrets.zoom_token"
      resources:
        - name: meetings
          path: "/users/me/meetings"
          operations:
            - name: create-meeting
              method: POST

Retrieves competitor company contact information from ZoomInfo for Chipotle business development and market intelligence.

naftiko: "0.5"
info:
  label: "ZoomInfo Competitor Contact Lookup"
  description: "Retrieves competitor company contact information from ZoomInfo for Chipotle business development and market intelligence."
  tags:
    - business-development
    - zoominfo
    - market-intelligence
capability:
  exposes:
    - type: mcp
      namespace: competitor-intel
      port: 8080
      tools:
        - name: lookup-competitor-contacts
          description: "Look up competitor contacts in ZoomInfo."
          inputParameters:
            - name: company_name
              in: body
              type: string
              description: "The competitor company name."
          call: "zoominfo.search-contacts"
          with:
            company: "{{company_name}}"
  consumes:
    - type: http
      namespace: zoominfo
      baseUri: "https://api.zoominfo.com/search"
      authentication:
        type: bearer
        token: "$secrets.zoominfo_token"
      resources:
        - name: contacts
          path: "/contact"
          inputParameters:
            - name: company
              in: query
          operations:
            - name: search-contacts
              method: GET