Domino's Pizza Capabilities
Naftiko 0.5 capability definitions for Domino's Pizza - 100 capabilities showing integration workflows and service orchestrations.
Reviews access at Dominos via Okta, IAM, and Jira.
naftiko: "0.5"
info:
label: "Access Review Pipeline"
description: "Reviews access at Dominos via Okta, IAM, and Jira."
tags:
- security
- access-management
- okta
- compliance
capability:
exposes:
- type: mcp
namespace: access-rev
port: 8080
tools:
- name: review
description: "Review access at Dominos."
inputParameters:
- name: dept
in: body
type: string
description: "Department."
steps:
- name: ent
type: call
call: "okta.get-users"
with:
dept: "{{dept}}"
- name: compare
type: call
call: "iam.compare"
with:
data: "{{ent.data}}"
- name: flag
type: call
call: "iam.flag"
with:
violations: "{{compare.violations}}"
- name: fix
type: call
call: "jira.create-issue"
with:
project: "IAM"
summary: "Violations in {{dept}}"
consumes:
- type: http
namespace: okta
baseUri: "https://dominos.com.okta.com/api/v1"
authentication:
type: bearer
token: "$secrets.okta_api_token"
resources:
- name: users
path: "/users"
operations:
- name: get-users
method: GET
- type: http
namespace: iam
baseUri: "https://iam.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.iam_token"
resources:
- name: reviews
path: "/compare"
operations:
- name: compare
method: POST
- type: http
namespace: jira
baseUri: "https://dominos.com.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
Manages API deprecation at Dominos via consumer identification, notices, and tracking.
naftiko: "0.5"
info:
label: "API Deprecation Pipeline"
description: "Manages API deprecation at Dominos via consumer identification, notices, and tracking."
tags:
- api-management
- communications
- governance
capability:
exposes:
- type: mcp
namespace: api-sunset
port: 8080
tools:
- name: notify-sunset
description: "Manage API sunset at Dominos."
inputParameters:
- name: api
in: body
type: string
description: "API name."
- name: date
in: body
type: string
description: "Sunset date."
steps:
- name: consumers
type: call
call: "api-gw.consumers"
with:
api: "{{api}}"
- name: notify
type: call
call: "email.batch"
with:
to: "{{consumers.emails}}"
subject: "{{api}} sunset: {{date}}"
- name: track
type: call
call: "analytics.usage"
with:
api: "{{api}}"
- name: ticket
type: call
call: "jira.create-issue"
with:
project: "API"
summary: "Sunset {{api}} by {{date}}"
consumes:
- type: http
namespace: api-gw
baseUri: "https://api-gw.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.api_gw_token"
resources:
- name: consumers
path: "/apis/{{api}}/consumers"
inputParameters:
- name: api
in: path
operations:
- name: consumers
method: GET
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: batch
path: "/send-batch"
operations:
- name: batch
method: POST
- type: http
namespace: analytics
baseUri: "https://analytics.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.analytics_token"
resources:
- name: usage
path: "/api-usage"
operations:
- name: usage
method: GET
- type: http
namespace: jira
baseUri: "https://dominos.com.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
Checks S3 bucket at Dominos.
naftiko: "0.5"
info:
label: "S3 Bucket Stats"
description: "Checks S3 bucket at Dominos."
tags:
- storage
- aws
- s3
capability:
exposes:
- type: mcp
namespace: s3-stats
port: 8080
tools:
- name: get-bucket
description: "Get bucket stats at Dominos."
inputParameters:
- name: bucket
in: body
type: string
description: "Bucket."
call: "s3.get-stats"
with:
bucket: "{{bucket}}"
outputParameters:
- name: objects
type: number
mapping: "$.NumberOfObjects"
consumes:
- type: http
namespace: s3
baseUri: "https://s3.amazonaws.com"
authentication:
type: bearer
token: "$secrets.aws_token"
resources:
- name: buckets
path: "/{{bucket}}?metrics"
inputParameters:
- name: bucket
in: path
operations:
- name: get-stats
method: GET
Checks build at Dominos.
naftiko: "0.5"
info:
label: "Azure DevOps Build Check"
description: "Checks build at Dominos."
tags:
- devops
- azure-devops
- ci-cd
capability:
exposes:
- type: mcp
namespace: azdo-build
port: 8080
tools:
- name: check-build
description: "Check build at Dominos."
inputParameters:
- name: project
in: body
type: string
description: "Project."
- name: build_id
in: body
type: string
description: "Build ID."
call: "azdo.get-build"
with:
project: "{{project}}"
build_id: "{{build_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: azdo
baseUri: "https://dev.azure.com/dominos.com"
authentication:
type: bearer
token: "$secrets.azdo_token"
resources:
- name: builds
path: "/{{project}}/_apis/build/builds/{{build_id}}"
inputParameters:
- name: project
in: path
- name: build_id
in: path
operations:
- name: get-build
method: GET
Verifies backups at Dominos.
naftiko: "0.5"
info:
label: "Backup Verification Pipeline"
description: "Verifies backups at Dominos."
tags:
- database
- backup
- operations
capability:
exposes:
- type: mcp
namespace: backup-verify
port: 8080
tools:
- name: verify-backups
description: "Verify backups at Dominos."
inputParameters:
- name: db
in: body
type: string
description: "Database."
- name: date
in: body
type: string
description: "Backup date."
steps:
- name: status
type: call
call: "backup.get-status"
with:
db: "{{db}}"
date: "{{date}}"
- name: verify
type: call
call: "backup.verify"
with:
id: "{{status.backup_id}}"
- name: log
type: call
call: "snowflake.query"
with:
query: "INSERT INTO backup_log VALUES ('{{db}}','{{date}}','{{verify.status}}')"
- name: alert
type: call
call: "slack.post-message"
with:
channel: "#dba"
text: "Backup {{db}}: {{verify.status}}"
consumes:
- type: http
namespace: backup
baseUri: "https://backup.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.backup_token"
resources:
- name: backups
path: "/databases/{{db}}/status"
inputParameters:
- name: db
in: path
operations:
- name: get-status
method: GET
- type: http
namespace: snowflake
baseUri: "https://dominos.com.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: query
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Analyzes budget variance at Dominos via Oracle, Workday, and Slack.
naftiko: "0.5"
info:
label: "Budget Variance Pipeline"
description: "Analyzes budget variance at Dominos via Oracle, Workday, and Slack."
tags:
- finance
- budget
- oracle
- workday
capability:
exposes:
- type: mcp
namespace: budget-var
port: 8080
tools:
- name: analyze-variance
description: "Check budget variance at Dominos."
inputParameters:
- name: cc
in: body
type: string
description: "Cost center."
- name: period
in: body
type: string
description: "Period."
steps:
- name: actuals
type: call
call: "oracle.get-actuals"
with:
cc: "{{cc}}"
period: "{{period}}"
- name: budget
type: call
call: "workday.get-budget"
with:
cc: "{{cc}}"
- name: compute
type: call
call: "analytics.variance"
with:
a: "{{actuals.total}}"
b: "{{budget.total}}"
- name: alert
type: call
call: "slack.post-message"
with:
channel: "#finance"
text: "Variance {{cc}}: ${{compute.variance}}"
consumes:
- type: http
namespace: oracle
baseUri: "https://oracle.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.oracle_token"
resources:
- name: fin
path: "/actuals"
operations:
- name: get-actuals
method: GET
- type: http
namespace: workday
baseUri: "https://wd5.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: budgets
path: "/budgets"
operations:
- name: get-budget
method: GET
- type: http
namespace: analytics
baseUri: "https://analytics.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.analytics_token"
resources:
- name: var
path: "/compute"
operations:
- name: variance
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Plans capacity at Dominos by collecting utilization and forecasting.
naftiko: "0.5"
info:
label: "Capacity Planning Pipeline"
description: "Plans capacity at Dominos by collecting utilization and forecasting."
tags:
- infrastructure
- capacity-planning
- forecasting
capability:
exposes:
- type: mcp
namespace: capacity
port: 8080
tools:
- name: plan-capacity
description: "Plan capacity at Dominos."
inputParameters:
- name: resource
in: body
type: string
description: "Resource type."
- name: months
in: body
type: number
description: "Forecast months."
steps:
- name: util
type: call
call: "monitoring.get-util"
with:
resource: "{{resource}}"
- name: forecast
type: call
call: "analytics.forecast"
with:
current: "{{util.pct}}"
months: "{{months}}"
- name: procure
type: call
call: "servicenow.create-request"
with:
type: "capacity"
resource: "{{resource}}"
- name: dashboard
type: call
call: "power-bi.refresh"
with:
dataset: "capacity"
consumes:
- type: http
namespace: monitoring
baseUri: "https://monitoring.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.monitoring_token"
resources:
- name: util
path: "/resources/{{resource}}/util"
inputParameters:
- name: resource
in: path
operations:
- name: get-util
method: GET
- type: http
namespace: analytics
baseUri: "https://analytics.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.analytics_token"
resources:
- name: forecast
path: "/demand"
operations:
- name: forecast
method: POST
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: requests
path: "/table/sc_request"
operations:
- name: create-request
method: POST
- type: http
namespace: power-bi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.power_bi_token"
resources:
- name: datasets
path: "/datasets/{{dataset}}/refreshes"
inputParameters:
- name: dataset
in: path
operations:
- name: refresh
method: POST
When a carryout order is ready for pickup, sends an SMS notification to the customer via Twilio with the order number and pickup instructions.
naftiko: "0.5"
info:
label: "Carryout Order Ready Notification"
description: "When a carryout order is ready for pickup, sends an SMS notification to the customer via Twilio with the order number and pickup instructions."
tags:
- ordering
- notifications
- twilio
capability:
exposes:
- type: mcp
namespace: carryout-notification
port: 8080
tools:
- name: notify-order-ready
description: "Send a carryout order ready notification to the customer."
inputParameters:
- name: order_id
in: body
type: string
description: "The order identifier."
- name: store_id
in: body
type: string
description: "The store identifier."
steps:
- name: get-order
type: call
call: "dominos-oms.get-order"
with:
order_number: "{{order_id}}"
store_id: "{{store_id}}"
- name: send-notification
type: call
call: "twilio.send-sms"
with:
to: "{{get-order.customer_phone}}"
body: "Your Domino's order #{{order_id}} is ready for pickup! Head to the carryout window at your store."
consumes:
- type: http
namespace: dominos-oms
baseUri: "https://api.dominos.com/oms/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: orders
path: "/stores/{{store_id}}/orders/{{order_number}}"
inputParameters:
- name: store_id
in: path
- name: order_number
in: path
operations:
- name: get-order
method: GET
- type: http
namespace: twilio
baseUri: "https://api.twilio.com/2010-04-01/Accounts/$secrets.twilio_account_sid"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Messages.json"
operations:
- name: send-sms
method: POST
Processes a large catering order by creating the order in the OMS, scheduling advance ingredient prep, and confirming the order via email.
naftiko: "0.5"
info:
label: "Catering Order Processor"
description: "Processes a large catering order by creating the order in the OMS, scheduling advance ingredient prep, and confirming the order via email."
tags:
- ordering
- catering
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: catering-orders
port: 8080
tools:
- name: process-catering-order
description: "Process a large catering order with advance scheduling."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: customer_email
in: body
type: string
description: "The customer email address."
- name: order_details
in: body
type: string
description: "JSON object with catering order items."
- name: delivery_date
in: body
type: string
description: "Delivery date in YYYY-MM-DD format."
- name: delivery_time
in: body
type: string
description: "Delivery time in HH:MM format."
steps:
- name: create-order
type: call
call: "dominos-oms.create-catering-order"
with:
store_id: "{{store_id}}"
items: "{{order_details}}"
delivery_date: "{{delivery_date}}"
delivery_time: "{{delivery_time}}"
- name: send-confirmation
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Catering Order Confirmed - #{{create-order.order_number}}"
body: "Your Domino's catering order #{{create-order.order_number}} is confirmed for {{delivery_date}} at {{delivery_time}}. Total: ${{create-order.total}}."
consumes:
- type: http
namespace: dominos-oms
baseUri: "https://api.dominos.com/oms/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: catering
path: "/stores/{{store_id}}/catering-orders"
inputParameters:
- name: store_id
in: path
operations:
- name: create-catering-order
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Monitors cert expiry at Dominos.
naftiko: "0.5"
info:
label: "Certificate Expiry Pipeline"
description: "Monitors cert expiry at Dominos."
tags:
- security
- certificates
- monitoring
capability:
exposes:
- type: mcp
namespace: cert-monitor
port: 8080
tools:
- name: check-certs
description: "Monitor certs at Dominos."
inputParameters:
- name: domains
in: body
type: string
description: "Domains to check."
steps:
- name: scan
type: call
call: "cert-scanner.scan"
with:
domains: "{{domains}}"
- name: filter
type: call
call: "analytics.filter-expiring"
with:
certs: "{{scan.results}}"
- name: ticket
type: call
call: "jira.create-issue"
with:
project: "SEC"
summary: "{{filter.count}} certs expiring"
- name: alert
type: call
call: "slack.post-message"
with:
channel: "#security"
text: "Cert alert: {{filter.count}} expiring"
consumes:
- type: http
namespace: cert-scanner
baseUri: "https://certs.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.cert_token"
resources:
- name: scans
path: "/scan"
operations:
- name: scan
method: POST
- type: http
namespace: jira
baseUri: "https://dominos.com.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Routes changes at Dominos through ServiceNow and CAB approval.
naftiko: "0.5"
info:
label: "Change Management Pipeline"
description: "Routes changes at Dominos through ServiceNow and CAB approval."
tags:
- change-management
- servicenow
- itil
capability:
exposes:
- type: mcp
namespace: change-mgmt
port: 8080
tools:
- name: process-change
description: "Process changes at Dominos."
inputParameters:
- name: change_id
in: body
type: string
description: "Change ID."
- name: date
in: body
type: string
description: "Date."
steps:
- name: get
type: call
call: "servicenow.get-change"
with:
id: "{{change_id}}"
- name: conflicts
type: call
call: "servicenow.check-conflicts"
with:
date: "{{date}}"
- name: submit
type: call
call: "servicenow.update"
with:
id: "{{change_id}}"
state: "approval"
- name: notify
type: call
call: "email.send"
with:
to: "cab@co.com"
subject: "CAB: {{change_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: changes
path: "/table/change_request/{{id}}"
inputParameters:
- name: id
in: path
operations:
- name: get-change
method: GET
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: messages
path: "/send"
operations:
- name: send
method: POST
Optimizes cloud costs at Dominos via Azure, FinOps, Jira, and Power BI.
naftiko: "0.5"
info:
label: "Cloud Cost Optimization Pipeline"
description: "Optimizes cloud costs at Dominos via Azure, FinOps, Jira, and Power BI."
tags:
- cloud
- cost-management
- finops
capability:
exposes:
- type: mcp
namespace: cloud-opt
port: 8080
tools:
- name: optimize
description: "Optimize cloud costs at Dominos."
inputParameters:
- name: provider
in: body
type: string
description: "Provider."
- name: range
in: body
type: string
description: "Range."
steps:
- name: spend
type: call
call: "cloud.get-costs"
with:
provider: "{{provider}}"
range: "{{range}}"
- name: savings
type: call
call: "finops.analyze"
with:
data: "{{spend.data}}"
- name: action
type: call
call: "jira.create-issue"
with:
project: "FINOPS"
summary: "Save ${{savings.potential}}"
- name: report
type: call
call: "power-bi.refresh"
with:
dataset: "cloud"
consumes:
- type: http
namespace: cloud
baseUri: "https://management.azure.com"
authentication:
type: bearer
token: "$secrets.azure_token"
resources:
- name: costs
path: "/providers/Microsoft.CostManagement/query"
operations:
- name: get-costs
method: POST
- type: http
namespace: finops
baseUri: "https://finops.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.finops_token"
resources:
- name: analysis
path: "/savings"
operations:
- name: analyze
method: POST
- type: http
namespace: jira
baseUri: "https://dominos.com.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
- type: http
namespace: power-bi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.power_bi_token"
resources:
- name: datasets
path: "/datasets/{{dataset}}/refreshes"
inputParameters:
- name: dataset
in: path
operations:
- name: refresh
method: POST
Checks CloudWatch alarm at Dominos.
naftiko: "0.5"
info:
label: "CloudWatch Alarm Check"
description: "Checks CloudWatch alarm at Dominos."
tags:
- monitoring
- aws
- cloudwatch
capability:
exposes:
- type: mcp
namespace: cw-alarm
port: 8080
tools:
- name: check-alarm
description: "Check alarm at Dominos."
inputParameters:
- name: alarm
in: body
type: string
description: "Alarm name."
call: "cw.describe-alarm"
with:
alarm: "{{alarm}}"
outputParameters:
- name: state
type: string
mapping: "$.MetricAlarms[0].StateValue"
consumes:
- type: http
namespace: cw
baseUri: "https://monitoring.us-east-1.amazonaws.com"
authentication:
type: bearer
token: "$secrets.aws_token"
resources:
- name: alarms
path: "/"
operations:
- name: describe-alarm
method: GET
Searches Confluence at Dominos.
naftiko: "0.5"
info:
label: "Confluence Article Search"
description: "Searches Confluence at Dominos."
tags:
- knowledge-management
- confluence
- documentation
capability:
exposes:
- type: mcp
namespace: confluence-search
port: 8080
tools:
- name: search-articles
description: "Search Confluence at Dominos."
inputParameters:
- name: query
in: body
type: string
description: "Query."
call: "confluence.search"
with:
query: "{{query}}"
outputParameters:
- name: title
type: string
mapping: "$.results[0].title"
consumes:
- type: http
namespace: confluence
baseUri: "https://dominos.com.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: content
path: "/content/search"
operations:
- name: search
method: GET
Tracks contract renewals at Dominos via contracts system, email, Jira, and Salesforce.
naftiko: "0.5"
info:
label: "Contract Renewal Pipeline"
description: "Tracks contract renewals at Dominos via contracts system, email, Jira, and Salesforce."
tags:
- procurement
- contracts
- salesforce
- jira
capability:
exposes:
- type: mcp
namespace: contract-renew
port: 8080
tools:
- name: track
description: "Track renewals at Dominos."
inputParameters:
- name: contract_id
in: body
type: string
description: "Contract ID."
- name: owner
in: body
type: string
description: "Owner email."
steps:
- name: get
type: call
call: "contracts.get"
with:
id: "{{contract_id}}"
- name: remind
type: call
call: "email.send"
with:
to: "{{owner}}"
subject: "Renewal: {{contract_id}}"
- name: task
type: call
call: "jira.create-issue"
with:
project: "PROC"
summary: "Renew {{contract_id}}"
- name: crm
type: call
call: "salesforce.update"
with:
id: "{{contract_id}}"
stage: "Renewal"
consumes:
- type: http
namespace: contracts
baseUri: "https://contracts.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.contracts_token"
resources:
- name: contracts
path: "/contracts/{{id}}"
inputParameters:
- name: id
in: path
operations:
- name: get
method: GET
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: messages
path: "/send"
operations:
- name: send
method: POST
- type: http
namespace: jira
baseUri: "https://dominos.com.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
- type: http
namespace: salesforce
baseUri: "https://dominos.com.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: opps
path: "/sobjects/Opportunity"
operations:
- name: update
method: PATCH
Reallocates costs at Dominos.
naftiko: "0.5"
info:
label: "Cost Reallocation Pipeline"
description: "Reallocates costs at Dominos."
tags:
- finance
- cost-allocation
- oracle
capability:
exposes:
- type: mcp
namespace: cost-realloc
port: 8080
tools:
- name: reallocate
description: "Reallocate costs at Dominos."
inputParameters:
- name: source
in: body
type: string
description: "Source CC."
- name: target
in: body
type: string
description: "Target CC."
- name: amount
in: body
type: number
description: "Amount."
steps:
- name: current
type: call
call: "oracle.get-alloc"
with:
cc: "{{source}}"
- name: compute
type: call
call: "analytics.realloc"
with:
source: "{{source}}"
target: "{{target}}"
amount: "{{amount}}"
- name: post
type: call
call: "oracle.post-journal"
with:
entries: "{{compute.entries}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#finance"
text: "Reallocated ${{amount}} from {{source}} to {{target}}"
consumes:
- type: http
namespace: oracle
baseUri: "https://oracle.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.oracle_token"
resources:
- name: allocations
path: "/cost-centers/{{cc}}/allocations"
inputParameters:
- name: cc
in: path
operations:
- name: get-alloc
method: GET
- type: http
namespace: analytics
baseUri: "https://analytics.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.analytics_token"
resources:
- name: realloc
path: "/compute"
operations:
- name: realloc
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Validates a promotional coupon code, returning discount details, applicable items, minimum order requirements, and expiration status.
naftiko: "0.5"
info:
label: "Coupon Code Validator"
description: "Validates a promotional coupon code, returning discount details, applicable items, minimum order requirements, and expiration status."
tags:
- marketing
- pricing
- ordering
capability:
exposes:
- type: mcp
namespace: coupon-validation
port: 8080
tools:
- name: validate-coupon
description: "Validate a promotional coupon code."
inputParameters:
- name: coupon_code
in: body
type: string
description: "The promotional coupon code."
- name: store_id
in: body
type: string
description: "The store identifier for regional validity."
call: "dominos-promo.validate-coupon"
with:
code: "{{coupon_code}}"
store_id: "{{store_id}}"
consumes:
- type: http
namespace: dominos-promo
baseUri: "https://api.dominos.com/promotions/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: coupons
path: "/coupons/validate"
operations:
- name: validate-coupon
method: POST
When a customer submits a complaint, creates a Salesforce Service Cloud case, issues a credit via the order management system, and sends an apology SMS via Twilio.
naftiko: "0.5"
info:
label: "Customer Complaint Handler"
description: "When a customer submits a complaint, creates a Salesforce Service Cloud case, issues a credit via the order management system, and sends an apology SMS via Twilio."
tags:
- customer
- complaints
- salesforce-service-cloud
- twilio
capability:
exposes:
- type: mcp
namespace: complaint-handling
port: 8080
tools:
- name: handle-customer-complaint
description: "Process a customer complaint with case creation, credit issuance, and notification."
inputParameters:
- name: order_id
in: body
type: string
description: "The order identifier."
- name: store_id
in: body
type: string
description: "The store identifier."
- name: complaint
in: body
type: string
description: "The customer complaint description."
- name: customer_phone
in: body
type: string
description: "The customer phone number."
- name: credit_amount
in: body
type: number
description: "Credit amount to issue."
steps:
- name: create-case
type: call
call: "salesforce.create-case"
with:
subject: "Order complaint: #{{order_id}}"
description: "Store: {{store_id}}. Complaint: {{complaint}}"
priority: "High"
origin: "Phone"
- name: issue-credit
type: call
call: "dominos-oms.create-credit"
with:
order_id: "{{order_id}}"
store_id: "{{store_id}}"
amount: "{{credit_amount}}"
- name: send-apology
type: call
call: "twilio.send-sms"
with:
to: "{{customer_phone}}"
body: "We're sorry about your recent Domino's experience. We've applied a ${{credit_amount}} credit to your account. Case: {{create-case.case_number}}."
consumes:
- type: http
namespace: salesforce
baseUri: "https://dominos.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: dominos-oms
baseUri: "https://api.dominos.com/oms/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: credits
path: "/stores/{{store_id}}/orders/{{order_id}}/credits"
inputParameters:
- name: store_id
in: path
- name: order_id
in: path
operations:
- name: create-credit
method: POST
- type: http
namespace: twilio
baseUri: "https://api.twilio.com/2010-04-01/Accounts/$secrets.twilio_account_sid"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Messages.json"
operations:
- name: send-sms
method: POST
Retrieves customer feedback and satisfaction ratings for a store from the Domino's customer experience platform.
naftiko: "0.5"
info:
label: "Customer Feedback Retrieval"
description: "Retrieves customer feedback and satisfaction ratings for a store from the Domino's customer experience platform."
tags:
- customer
- feedback
- store-ops
capability:
exposes:
- type: mcp
namespace: customer-feedback
port: 8080
tools:
- name: get-store-feedback
description: "Retrieve customer feedback for a store."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: date_range_start
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: date_range_end
in: body
type: string
description: "End date in YYYY-MM-DD format."
call: "dominos-cx.get-feedback"
with:
store_id: "{{store_id}}"
start: "{{date_range_start}}"
end: "{{date_range_end}}"
consumes:
- type: http
namespace: dominos-cx
baseUri: "https://api.dominos.com/cx/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: feedback
path: "/stores/{{store_id}}/feedback"
inputParameters:
- name: store_id
in: path
operations:
- name: get-feedback
method: GET
Retrieves a customer's order history from the Domino's order management system, including past orders, favorites, and total lifetime spend.
naftiko: "0.5"
info:
label: "Customer Order History"
description: "Retrieves a customer's order history from the Domino's order management system, including past orders, favorites, and total lifetime spend."
tags:
- customer
- ordering
- store-ops
capability:
exposes:
- type: mcp
namespace: customer-history
port: 8080
tools:
- name: get-order-history
description: "Retrieve a customer's order history."
inputParameters:
- name: customer_id
in: body
type: string
description: "The Domino's customer identifier."
call: "dominos-oms.get-customer-orders"
with:
customer_id: "{{customer_id}}"
consumes:
- type: http
namespace: dominos-oms
baseUri: "https://api.dominos.com/oms/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: customer-orders
path: "/customers/{{customer_id}}/orders"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-customer-orders
method: GET
Retrieves the daily sales summary for a Domino's store including total revenue, order count, average order value, delivery vs carryout split, and top items.
naftiko: "0.5"
info:
label: "Daily Sales Summary"
description: "Retrieves the daily sales summary for a Domino's store including total revenue, order count, average order value, delivery vs carryout split, and top items."
tags:
- sales
- reporting
- store-ops
capability:
exposes:
- type: mcp
namespace: store-sales
port: 8080
tools:
- name: get-daily-sales
description: "Retrieve the daily sales summary for a store."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: date
in: body
type: string
description: "The report date in YYYY-MM-DD format."
call: "dominos-reporting.get-sales"
with:
store_id: "{{store_id}}"
date: "{{date}}"
consumes:
- type: http
namespace: dominos-reporting
baseUri: "https://api.dominos.com/reporting/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: sales
path: "/stores/{{store_id}}/sales"
inputParameters:
- name: store_id
in: path
operations:
- name: get-sales
method: GET
Monitors data pipelines at Dominos via Databricks, Snowflake, Slack, and ServiceNow.
naftiko: "0.5"
info:
label: "Data Pipeline Monitor Pipeline"
description: "Monitors data pipelines at Dominos via Databricks, Snowflake, Slack, and ServiceNow."
tags:
- data-engineering
- databricks
- monitoring
- slack
capability:
exposes:
- type: mcp
namespace: pipeline-mon
port: 8080
tools:
- name: monitor
description: "Monitor pipelines at Dominos."
inputParameters:
- name: pipeline_id
in: body
type: string
description: "Pipeline ID."
steps:
- name: status
type: call
call: "databricks.get-run"
with:
id: "{{pipeline_id}}"
- name: quality
type: call
call: "snowflake.query"
with:
query: "SELECT COUNT(*) FROM out WHERE p='{{pipeline_id}}'"
- name: alert
type: call
call: "slack.post-message"
with:
channel: "#data"
text: "Pipeline {{pipeline_id}}: {{status.state}}"
- name: incident
type: call
call: "servicenow.create-incident"
with:
desc: "Pipeline {{pipeline_id}} issue"
consumes:
- type: http
namespace: databricks
baseUri: "https://dominos.com.cloud.databricks.com/api/2.1"
authentication:
type: bearer
token: "$secrets.databricks_token"
resources:
- name: jobs
path: "/jobs/runs/get"
operations:
- name: get-run
method: GET
- type: http
namespace: snowflake
baseUri: "https://dominos.com.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: query
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
Checks Datadog monitor at Dominos.
naftiko: "0.5"
info:
label: "Datadog Monitor Check"
description: "Checks Datadog monitor at Dominos."
tags:
- monitoring
- datadog
- observability
capability:
exposes:
- type: mcp
namespace: dd-monitor
port: 8080
tools:
- name: check-monitor
description: "Check monitor at Dominos."
inputParameters:
- name: monitor_id
in: body
type: string
description: "Monitor ID."
call: "datadog.get-monitor"
with:
monitor_id: "{{monitor_id}}"
outputParameters:
- name: status
type: string
mapping: "$.overall_state"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: monitors
path: "/monitor/{{monitor_id}}"
inputParameters:
- name: monitor_id
in: path
operations:
- name: get-monitor
method: GET
Assigns a delivery order to the optimal driver based on location and current load, sends route details to the driver, and updates the customer with tracking info via SMS.
naftiko: "0.5"
info:
label: "Delivery Dispatch Orchestrator"
description: "Assigns a delivery order to the optimal driver based on location and current load, sends route details to the driver, and updates the customer with tracking info via SMS."
tags:
- delivery
- dispatch
- logistics
- twilio
capability:
exposes:
- type: mcp
namespace: delivery-dispatch
port: 8080
tools:
- name: dispatch-delivery
description: "Dispatch a delivery order to a driver with route and customer notification."
inputParameters:
- name: order_id
in: body
type: string
description: "The order identifier."
- name: store_id
in: body
type: string
description: "The store identifier."
- name: driver_id
in: body
type: string
description: "The assigned driver identifier."
steps:
- name: get-order
type: call
call: "dominos-oms.get-order"
with:
order_number: "{{order_id}}"
store_id: "{{store_id}}"
- name: assign-driver
type: call
call: "dominos-fleet.assign-delivery"
with:
driver_id: "{{driver_id}}"
order_id: "{{order_id}}"
delivery_address: "{{get-order.delivery_address}}"
- name: notify-customer
type: call
call: "twilio.send-sms"
with:
to: "{{get-order.customer_phone}}"
body: "Your Domino's order #{{order_id}} is on its way! Driver: {{assign-driver.driver_name}}. Estimated arrival: {{assign-driver.eta}}. Track: {{assign-driver.tracking_url}}"
consumes:
- type: http
namespace: dominos-oms
baseUri: "https://api.dominos.com/oms/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: orders
path: "/stores/{{store_id}}/orders/{{order_number}}"
inputParameters:
- name: store_id
in: path
- name: order_number
in: path
operations:
- name: get-order
method: GET
- type: http
namespace: dominos-fleet
baseUri: "https://api.dominos.com/fleet/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: deliveries
path: "/stores/{{store_id}}/deliveries"
inputParameters:
- name: store_id
in: path
operations:
- name: assign-delivery
method: POST
- type: http
namespace: twilio
baseUri: "https://api.twilio.com/2010-04-01/Accounts/$secrets.twilio_account_sid"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Messages.json"
operations:
- name: send-sms
method: POST
Retrieves the real-time GPS location of a delivery driver, including current delivery assignment and estimated arrival time.
naftiko: "0.5"
info:
label: "Delivery Driver Location"
description: "Retrieves the real-time GPS location of a delivery driver, including current delivery assignment and estimated arrival time."
tags:
- delivery
- tracking
- fleet
capability:
exposes:
- type: mcp
namespace: driver-tracking
port: 8080
tools:
- name: get-driver-location
description: "Get the real-time location of a delivery driver."
inputParameters:
- name: driver_id
in: body
type: string
description: "The driver identifier."
- name: store_id
in: body
type: string
description: "The store identifier."
call: "dominos-fleet.get-driver"
with:
driver_id: "{{driver_id}}"
store_id: "{{store_id}}"
consumes:
- type: http
namespace: dominos-fleet
baseUri: "https://api.dominos.com/fleet/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: drivers
path: "/stores/{{store_id}}/drivers/{{driver_id}}/location"
inputParameters:
- name: store_id
in: path
- name: driver_id
in: path
operations:
- name: get-driver
method: GET
Estimates the delivery fee for a customer address based on distance, demand level, and store-specific pricing rules.
naftiko: "0.5"
info:
label: "Delivery Fee Estimator"
description: "Estimates the delivery fee for a customer address based on distance, demand level, and store-specific pricing rules."
tags:
- delivery
- pricing
- ordering
capability:
exposes:
- type: mcp
namespace: delivery-fees
port: 8080
tools:
- name: estimate-delivery-fee
description: "Estimate the delivery fee for an address."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: delivery_address
in: body
type: string
description: "The customer delivery address."
call: "dominos-delivery.estimate-fee"
with:
store_id: "{{store_id}}"
address: "{{delivery_address}}"
consumes:
- type: http
namespace: dominos-delivery
baseUri: "https://api.dominos.com/delivery/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: fee-estimate
path: "/stores/{{store_id}}/delivery-fee"
inputParameters:
- name: store_id
in: path
operations:
- name: estimate-fee
method: POST
Calculates optimal delivery routes using Google Maps for multiple pending orders, minimizing total delivery time and maximizing driver efficiency.
naftiko: "0.5"
info:
label: "Delivery Time Optimizer"
description: "Calculates optimal delivery routes using Google Maps for multiple pending orders, minimizing total delivery time and maximizing driver efficiency."
tags:
- delivery
- routing
- google-maps
capability:
exposes:
- type: mcp
namespace: delivery-routing
port: 8080
tools:
- name: optimize-delivery-route
description: "Optimize delivery routes for pending orders."
inputParameters:
- name: store_id
in: body
type: string
description: "The store identifier."
- name: delivery_addresses
in: body
type: string
description: "JSON array of delivery addresses."
- name: store_address
in: body
type: string
description: "The store address as origin point."
call: "google-maps.optimize-route"
with:
origin: "{{store_address}}"
destinations: "{{delivery_addresses}}"
consumes:
- type: http
namespace: google-maps
baseUri: "https://maps.googleapis.com/maps/api"
authentication:
type: bearer
token: "$secrets.google_maps_key"
resources:
- name: directions
path: "/directions/json"
operations:
- name: optimize-route
method: GET
Determines the delivery zone for a customer address and returns the serving store, estimated delivery time, and delivery fee.
naftiko: "0.5"
info:
label: "Delivery Zone Lookup"
description: "Determines the delivery zone for a customer address and returns the serving store, estimated delivery time, and delivery fee."
tags:
- delivery
- ordering
- logistics
capability:
exposes:
- type: mcp
namespace: delivery-zones
port: 8080
tools:
- name: check-delivery-zone
description: "Determine the delivery zone and serving store for an address."
inputParameters:
- name: address
in: body
type: string
description: "The customer delivery address."
- name: postal_code
in: body
type: string
description: "The postal or ZIP code."
call: "dominos-delivery.lookup-zone"
with:
address: "{{address}}"
postal_code: "{{postal_code}}"
consumes:
- type: http
namespace: dominos-delivery
baseUri: "https://api.dominos.com/delivery/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: zones
path: "/zones/lookup"
operations:
- name: lookup-zone
method: POST
Checks container at Dominos.
naftiko: "0.5"
info:
label: "Docker Container Check"
description: "Checks container at Dominos."
tags:
- containers
- docker
- infrastructure
capability:
exposes:
- type: mcp
namespace: docker
port: 8080
tools:
- name: check-container
description: "Check container at Dominos."
inputParameters:
- name: id
in: body
type: string
description: "Container ID."
call: "docker.get-container"
with:
id: "{{id}}"
outputParameters:
- name: status
type: string
mapping: "$.State.Status"
consumes:
- type: http
namespace: docker
baseUri: "https://docker.dominos.com/v1.41"
authentication:
type: bearer
token: "$secrets.docker_token"
resources:
- name: containers
path: "/containers/{{id}}/json"
inputParameters:
- name: id
in: path
operations:
- name: get-container
method: GET
Generates the daily dough preparation schedule based on forecasted order volumes, calculating the number of batches and timing for each size.
naftiko: "0.5"
info:
label: "Dough Prep Schedule"
description: "Generates the daily dough preparation schedule based on forecasted order volumes, calculating the number of batches and timing for each size."
tags:
- store-ops
- production
- forecasting
capability:
exposes:
- type: mcp
namespace: dough-scheduling
port: 8080
tools:
- name: get-dough-schedule
description: "Generate the daily dough preparation schedule."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: date
in: body
type: string
description: "The production date in YYYY-MM-DD format."
call: "dominos-production.get-dough-schedule"
with:
store_id: "{{store_id}}"
date: "{{date}}"
consumes:
- type: http
namespace: dominos-production
baseUri: "https://api.dominos.com/production/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: dough-schedule
path: "/stores/{{store_id}}/dough-schedule"
inputParameters:
- name: store_id
in: path
operations:
- name: get-dough-schedule
method: GET
Tests disaster recovery at Dominos via failover, health checks, and reporting.
naftiko: "0.5"
info:
label: "DR Test Pipeline"
description: "Tests disaster recovery at Dominos via failover, health checks, and reporting."
tags:
- disaster-recovery
- business-continuity
- testing
capability:
exposes:
- type: mcp
namespace: dr-test
port: 8080
tools:
- name: test-dr
description: "Test DR at Dominos."
inputParameters:
- name: plan_id
in: body
type: string
description: "Plan ID."
- name: type
in: body
type: string
description: "Test type."
steps:
- name: failover
type: call
call: "dr.failover"
with:
plan: "{{plan_id}}"
type: "{{type}}"
- name: validate
type: call
call: "monitoring.check"
with:
scope: "critical"
- name: measure
type: call
call: "dr.metrics"
with:
id: "{{failover.id}}"
- name: report
type: call
call: "confluence.create-page"
with:
title: "DR - {{plan_id}}"
body: "RTO:{{measure.rto}}m RPO:{{measure.rpo}}m"
consumes:
- type: http
namespace: dr
baseUri: "https://dr.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.dr_token"
resources:
- name: failovers
path: "/failovers"
operations:
- name: failover
method: POST
- type: http
namespace: monitoring
baseUri: "https://monitoring.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.monitoring_token"
resources:
- name: health
path: "/checks"
operations:
- name: check
method: POST
- type: http
namespace: confluence
baseUri: "https://dominos.com.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/content"
operations:
- name: create-page
method: POST
Detects infrastructure drift at Dominos via Terraform, Slack, and Jira.
naftiko: "0.5"
info:
label: "Drift Detection Pipeline"
description: "Detects infrastructure drift at Dominos via Terraform, Slack, and Jira."
tags:
- infrastructure
- terraform
- drift-detection
- devops
capability:
exposes:
- type: mcp
namespace: drift-det
port: 8080
tools:
- name: detect
description: "Detect drift at Dominos."
inputParameters:
- name: ws_id
in: body
type: string
description: "Workspace ID."
- name: env
in: body
type: string
description: "Environment."
steps:
- name: plan
type: call
call: "terraform.run"
with:
ws: "{{ws_id}}"
- name: check
type: call
call: "terraform.get-plan"
with:
run: "{{plan.id}}"
- name: alert
type: call
call: "slack.post-message"
with:
channel: "#infra"
text: "Drift {{env}}: {{check.changes}} changes"
- name: ticket
type: call
call: "jira.create-issue"
with:
project: "INFRA"
summary: "Drift in {{env}}"
consumes:
- type: http
namespace: terraform
baseUri: "https://app.terraform.io/api/v2"
authentication:
type: bearer
token: "$secrets.terraform_token"
resources:
- name: runs
path: "/runs"
operations:
- name: run
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
- type: http
namespace: jira
baseUri: "https://dominos.com.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
Records a delivery driver safety incident in ServiceNow, updates the driver's record in Workday, and alerts the area supervisor via Microsoft Teams.
naftiko: "0.5"
info:
label: "Driver Safety Incident Reporter"
description: "Records a delivery driver safety incident in ServiceNow, updates the driver's record in Workday, and alerts the area supervisor via Microsoft Teams."
tags:
- delivery
- safety
- servicenow
- workday
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: driver-safety
port: 8080
tools:
- name: report-driver-incident
description: "Report a delivery driver safety incident."
inputParameters:
- name: store_id
in: body
type: string
description: "The store identifier."
- name: driver_id
in: body
type: string
description: "The Workday employee ID of the driver."
- name: incident_type
in: body
type: string
description: "Type of incident (accident, injury, vehicle-damage)."
- name: description
in: body
type: string
description: "Incident description."
steps:
- name: create-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Driver safety incident: Store {{store_id}} - {{incident_type}}"
category: "safety"
urgency: "1"
description: "Driver: {{driver_id}}. {{description}}"
- name: update-driver-record
type: call
call: "workday.create-safety-incident"
with:
worker_id: "{{driver_id}}"
type: "{{incident_type}}"
description: "{{description}}"
- name: alert-supervisor
type: call
call: "msteams.send-message"
with:
channel_id: "safety-alerts"
text: "Driver safety incident at store {{store_id}}: {{incident_type}}. Driver: {{driver_id}}. {{description}}. Incident: {{create-incident.number}}."
consumes:
- type: http
namespace: servicenow
baseUri: "https://dominos.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: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: safety
path: "/workers/{{worker_id}}/safety-incidents"
inputParameters:
- name: worker_id
in: path
operations:
- name: create-safety-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{channel_id}}/channels/General/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Checks ES index at Dominos.
naftiko: "0.5"
info:
label: "ES Index Health"
description: "Checks ES index at Dominos."
tags:
- search
- elasticsearch
- infrastructure
capability:
exposes:
- type: mcp
namespace: es-health
port: 8080
tools:
- name: check-index
description: "Check ES index at Dominos."
inputParameters:
- name: index
in: body
type: string
description: "Index name."
call: "es.get-health"
with:
index: "{{index}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: docs
type: number
mapping: "$.docs.count"
consumes:
- type: http
namespace: es
baseUri: "https://es.dominos.com:9200"
authentication:
type: bearer
token: "$secrets.es_token"
resources:
- name: indices
path: "/{{index}}/_stats"
inputParameters:
- name: index
in: path
operations:
- name: get-health
method: GET
Creates a promotional email campaign in MailChimp targeting customers in a specific store's delivery area with personalized deal offers.
naftiko: "0.5"
info:
label: "Email Marketing Campaign"
description: "Creates a promotional email campaign in MailChimp targeting customers in a specific store's delivery area with personalized deal offers."
tags:
- marketing
- email
- mailchimp
capability:
exposes:
- type: mcp
namespace: email-campaigns
port: 8080
tools:
- name: create-email-campaign
description: "Create a targeted email marketing campaign."
inputParameters:
- name: campaign_name
in: body
type: string
description: "Name of the email campaign."
- name: subject_line
in: body
type: string
description: "Email subject line."
- name: segment_id
in: body
type: string
description: "The MailChimp audience segment identifier."
- name: coupon_code
in: body
type: string
description: "The promotional coupon code."
- name: send_date
in: body
type: string
description: "Scheduled send date in YYYY-MM-DD format."
call: "mailchimp.create-campaign"
with:
name: "{{campaign_name}}"
subject: "{{subject_line}}"
segment: "{{segment_id}}"
coupon: "{{coupon_code}}"
send_at: "{{send_date}}"
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: campaigns
path: "/campaigns"
operations:
- name: create-campaign
method: POST
Offboards employees at Dominos via Okta, Slack, ServiceNow, and storage.
naftiko: "0.5"
info:
label: "Employee Offboarding Pipeline"
description: "Offboards employees at Dominos via Okta, Slack, ServiceNow, and storage."
tags:
- hr
- offboarding
- okta
- servicenow
capability:
exposes:
- type: mcp
namespace: offboarding
port: 8080
tools:
- name: offboard
description: "Offboard employees at Dominos."
inputParameters:
- name: emp_id
in: body
type: string
description: "Employee ID."
- name: last_day
in: body
type: string
description: "Last day."
steps:
- name: disable
type: call
call: "okta.deactivate"
with:
user: "{{emp_id}}"
- name: revoke
type: call
call: "slack.remove"
with:
user: "{{emp_id}}"
- name: return
type: call
call: "servicenow.create-request"
with:
type: "return"
emp: "{{emp_id}}"
- name: archive
type: call
call: "storage.archive"
with:
user: "{{emp_id}}"
consumes:
- type: http
namespace: okta
baseUri: "https://dominos.com.okta.com/api/v1"
authentication:
type: bearer
token: "$secrets.okta_api_token"
resources:
- name: users
path: "/users/{{user}}/lifecycle/deactivate"
inputParameters:
- name: user
in: path
operations:
- name: deactivate
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: users
path: "/users.admin.remove"
operations:
- name: remove
method: POST
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: requests
path: "/table/sc_request"
operations:
- name: create-request
method: POST
- type: http
namespace: storage
baseUri: "https://storage.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.storage_token"
resources:
- name: archives
path: "/archive"
operations:
- name: archive
method: POST
Retrieves the weekly employee schedule from Workday for a specific Domino's store, including shift assignments, positions, and labor coverage.
naftiko: "0.5"
info:
label: "Employee Schedule Viewer"
description: "Retrieves the weekly employee schedule from Workday for a specific Domino's store, including shift assignments, positions, and labor coverage."
tags:
- hr
- scheduling
- workday
- store-ops
capability:
exposes:
- type: mcp
namespace: store-scheduling
port: 8080
tools:
- name: get-store-schedule
description: "Retrieve the weekly employee schedule for a store."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: week_start
in: body
type: string
description: "The Monday start date in YYYY-MM-DD format."
call: "workday.get-schedule"
with:
location: "{{store_id}}"
week_start: "{{week_start}}"
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: schedules
path: "/locations/{{location}}/schedules"
inputParameters:
- name: location
in: path
operations:
- name: get-schedule
method: GET
Pulls POS transaction totals from Square, compares against expected revenue, and logs any variances as ServiceNow incidents.
naftiko: "0.5"
info:
label: "End-of-Day Cash Reconciliation"
description: "Pulls POS transaction totals from Square, compares against expected revenue, and logs any variances as ServiceNow incidents."
tags:
- finance
- store-ops
- square
- servicenow
capability:
exposes:
- type: mcp
namespace: cash-reconciliation
port: 8080
tools:
- name: reconcile-daily-cash
description: "Run end-of-day cash reconciliation."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: date
in: body
type: string
description: "The business date in YYYY-MM-DD format."
- name: cash_counted
in: body
type: number
description: "Physical cash count total."
steps:
- name: get-pos-totals
type: call
call: "square.get-daily-summary"
with:
location_id: "{{store_id}}"
date: "{{date}}"
- name: log-variance
type: call
call: "servicenow.create-incident"
with:
short_description: "Cash variance: Store {{store_id}} - {{date}}"
category: "cash_management"
description: "POS total: {{get-pos-totals.total}}. Counted: {{cash_counted}}. Variance needs investigation."
consumes:
- type: http
namespace: square
baseUri: "https://connect.squareup.com/v2"
authentication:
type: bearer
token: "$secrets.square_token"
resources:
- name: settlements
path: "/locations/{{location_id}}/settlements"
inputParameters:
- name: location_id
in: path
operations:
- name: get-daily-summary
method: GET
- type: http
namespace: servicenow
baseUri: "https://dominos.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
Creates a maintenance request in ServiceNow for store equipment such as ovens, prep tables, or refrigeration units, and alerts the store manager via Microsoft Teams.
naftiko: "0.5"
info:
label: "Equipment Maintenance Request"
description: "Creates a maintenance request in ServiceNow for store equipment such as ovens, prep tables, or refrigeration units, and alerts the store manager via Microsoft Teams."
tags:
- store-ops
- maintenance
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: equipment-maintenance
port: 8080
tools:
- name: request-equipment-maintenance
description: "Submit an equipment maintenance request and notify the store manager."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: equipment_type
in: body
type: string
description: "The equipment type (oven, refrigerator, prep-table, makeline)."
- name: issue_description
in: body
type: string
description: "Description of the equipment issue."
- name: severity
in: body
type: string
description: "Severity level (low, medium, high, critical)."
steps:
- name: create-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "Equipment issue: Store {{store_id}} - {{equipment_type}}"
category: "equipment"
urgency: "{{severity}}"
description: "{{issue_description}}"
- name: notify-manager
type: call
call: "msteams.send-message"
with:
channel_id: "store-{{store_id}}"
text: "Equipment maintenance request: {{equipment_type}} - {{issue_description}}. Severity: {{severity}}. Ticket: {{create-ticket.number}}."
consumes:
- type: http
namespace: servicenow
baseUri: "https://dominos.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: messages
path: "/teams/{{channel_id}}/channels/General/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Audits expenses at Dominos via Concur, compliance checks, and email.
naftiko: "0.5"
info:
label: "Expense Audit Pipeline"
description: "Audits expenses at Dominos via Concur, compliance checks, and email."
tags:
- finance
- travel
- sap-concur
- compliance
capability:
exposes:
- type: mcp
namespace: expense-audit
port: 8080
tools:
- name: audit
description: "Audit expenses at Dominos."
inputParameters:
- name: report_id
in: body
type: string
description: "Report ID."
steps:
- name: get
type: call
call: "concur.get-report"
with:
id: "{{report_id}}"
- name: check
type: call
call: "compliance.check"
with:
expenses: "{{get.entries}}"
- name: flag
type: call
call: "workflow.flag"
with:
id: "{{report_id}}"
violations: "{{check.violations}}"
- name: notify
type: call
call: "email.send"
with:
to: "{{get.approver}}"
subject: "Expense {{report_id}} violations"
consumes:
- type: http
namespace: concur
baseUri: "https://us.api.concursolutions.com/api/v3.0"
authentication:
type: bearer
token: "$secrets.concur_token"
resources:
- name: reports
path: "/expense/reports/{{id}}"
inputParameters:
- name: id
in: path
operations:
- name: get-report
method: GET
- type: http
namespace: compliance
baseUri: "https://compliance.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: policies
path: "/check"
operations:
- name: check
method: POST
- type: http
namespace: workflow
baseUri: "https://workflow.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.workflow_token"
resources:
- name: reviews
path: "/flag"
operations:
- name: flag
method: POST
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: messages
path: "/send"
operations:
- name: send
method: POST
Analyzes feedback at Dominos via surveys, AI sentiment, and Power BI.
naftiko: "0.5"
info:
label: "Customer Feedback Pipeline"
description: "Analyzes feedback at Dominos via surveys, AI sentiment, and Power BI."
tags:
- customer-experience
- analytics
- sentiment-analysis
capability:
exposes:
- type: mcp
namespace: feedback
port: 8080
tools:
- name: analyze
description: "Analyze feedback at Dominos."
inputParameters:
- name: survey_id
in: body
type: string
description: "Survey ID."
steps:
- name: collect
type: call
call: "survey.get"
with:
id: "{{survey_id}}"
- name: sentiment
type: call
call: "ai.analyze"
with:
text: "{{collect.responses}}"
- name: themes
type: call
call: "ai.themes"
with:
data: "{{collect.responses}}"
- name: dashboard
type: call
call: "power-bi.refresh"
with:
dataset: "cx"
consumes:
- type: http
namespace: survey
baseUri: "https://surveys.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.survey_token"
resources:
- name: responses
path: "/surveys/{{id}}/responses"
inputParameters:
- name: id
in: path
operations:
- name: get
method: GET
- type: http
namespace: ai
baseUri: "https://api.openai.com/v1"
authentication:
type: bearer
token: "$secrets.openai_api_key"
resources:
- name: completions
path: "/chat/completions"
operations:
- name: analyze
method: POST
- type: http
namespace: power-bi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.power_bi_token"
resources:
- name: datasets
path: "/datasets/{{dataset}}/refreshes"
inputParameters:
- name: dataset
in: path
operations:
- name: refresh
method: POST
Calculates the food cost percentage for a store by pulling ingredient costs from SAP and sales data from the reporting system.
naftiko: "0.5"
info:
label: "Food Cost Calculator"
description: "Calculates the food cost percentage for a store by pulling ingredient costs from SAP and sales data from the reporting system."
tags:
- finance
- franchise
- sap
capability:
exposes:
- type: mcp
namespace: food-cost
port: 8080
tools:
- name: calculate-food-cost
description: "Calculate food cost percentage for a store."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: period
in: body
type: string
description: "Report period in YYYY-MM format."
steps:
- name: get-ingredient-costs
type: call
call: "sap.get-material-costs"
with:
plant: "{{store_id}}"
period: "{{period}}"
- name: get-sales
type: call
call: "dominos-reporting.get-sales-total"
with:
store_id: "{{store_id}}"
period: "{{period}}"
consumes:
- type: http
namespace: sap
baseUri: "https://dominos-s4.sap.com/sap/opu/odata/sap/API_MATERIAL_VALUATION_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: material-costs
path: "/A_MaterialValuation"
operations:
- name: get-material-costs
method: GET
- type: http
namespace: dominos-reporting
baseUri: "https://api.dominos.com/reporting/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: sales-total
path: "/stores/{{store_id}}/sales/total"
inputParameters:
- name: store_id
in: path
operations:
- name: get-sales-total
method: GET
Records food safety temperature readings for refrigeration units and prep areas, flagging any out-of-range readings for immediate action.
naftiko: "0.5"
info:
label: "Food Safety Temperature Log"
description: "Records food safety temperature readings for refrigeration units and prep areas, flagging any out-of-range readings for immediate action."
tags:
- food-safety
- compliance
- store-ops
capability:
exposes:
- type: mcp
namespace: food-safety
port: 8080
tools:
- name: log-temperature-reading
description: "Log a food safety temperature reading."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: equipment_id
in: body
type: string
description: "The equipment identifier."
- name: temperature_f
in: body
type: number
description: "Temperature reading in Fahrenheit."
- name: zone
in: body
type: string
description: "The zone (walk-in, prep-table, makeline)."
call: "dominos-compliance.log-temperature"
with:
store_id: "{{store_id}}"
equipment: "{{equipment_id}}"
temp: "{{temperature_f}}"
zone: "{{zone}}"
consumes:
- type: http
namespace: dominos-compliance
baseUri: "https://api.dominos.com/compliance/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: temperature-logs
path: "/stores/{{store_id}}/temperature-logs"
inputParameters:
- name: store_id
in: path
operations:
- name: log-temperature
method: POST
Retrieves franchise agreement details and sends the agreement document for electronic signature via DocuSign to the franchisee.
naftiko: "0.5"
info:
label: "Franchise Agreement Document"
description: "Retrieves franchise agreement details and sends the agreement document for electronic signature via DocuSign to the franchisee."
tags:
- franchise
- contracts
- docusign
capability:
exposes:
- type: mcp
namespace: franchise-agreements
port: 8080
tools:
- name: send-franchise-agreement
description: "Send a franchise agreement for electronic signature."
inputParameters:
- name: store_id
in: body
type: string
description: "The store identifier."
- name: franchisee_email
in: body
type: string
description: "The franchisee's email address."
- name: franchisee_name
in: body
type: string
description: "The franchisee's full name."
steps:
- name: get-terms
type: call
call: "dominos-franchise.get-terms"
with:
store_id: "{{store_id}}"
- name: send-agreement
type: call
call: "docusign.create-envelope"
with:
template_id: "franchise_agreement_template"
signer_email: "{{franchisee_email}}"
signer_name: "{{franchisee_name}}"
store_id: "{{store_id}}"
royalty_rate: "{{get-terms.royalty_rate}}"
consumes:
- type: http
namespace: dominos-franchise
baseUri: "https://api.dominos.com/franchise/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: terms
path: "/stores/{{store_id}}/terms"
inputParameters:
- name: store_id
in: path
operations:
- name: get-terms
method: GET
- type: http
namespace: docusign
baseUri: "https://na4.docusign.net/restapi/v2.1/accounts/$secrets.docusign_account_id"
authentication:
type: bearer
token: "$secrets.docusign_token"
resources:
- name: envelopes
path: "/envelopes"
operations:
- name: create-envelope
method: POST
Calculates franchise royalty fees based on store sales data, applying the appropriate royalty percentage and generating a statement for the franchisee.
naftiko: "0.5"
info:
label: "Franchise Royalty Calculator"
description: "Calculates franchise royalty fees based on store sales data, applying the appropriate royalty percentage and generating a statement for the franchisee."
tags:
- franchise
- finance
- reporting
capability:
exposes:
- type: mcp
namespace: royalty-calculation
port: 8080
tools:
- name: calculate-royalties
description: "Calculate franchise royalty fees for a store."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: period
in: body
type: string
description: "Billing period in YYYY-MM format."
steps:
- name: get-sales
type: call
call: "dominos-reporting.get-sales-total"
with:
store_id: "{{store_id}}"
period: "{{period}}"
- name: get-franchise-terms
type: call
call: "dominos-franchise.get-terms"
with:
store_id: "{{store_id}}"
consumes:
- type: http
namespace: dominos-reporting
baseUri: "https://api.dominos.com/reporting/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: sales-total
path: "/stores/{{store_id}}/sales/total"
inputParameters:
- name: store_id
in: path
operations:
- name: get-sales-total
method: GET
- type: http
namespace: dominos-franchise
baseUri: "https://api.dominos.com/franchise/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: terms
path: "/stores/{{store_id}}/terms"
inputParameters:
- name: store_id
in: path
operations:
- name: get-terms
method: GET
Generates a franchise store performance report including sales metrics, food cost percentage, labor cost percentage, and customer satisfaction scores.
naftiko: "0.5"
info:
label: "Franchise Store Performance Report"
description: "Generates a franchise store performance report including sales metrics, food cost percentage, labor cost percentage, and customer satisfaction scores."
tags:
- franchise
- reporting
- analytics
capability:
exposes:
- type: mcp
namespace: franchise-performance
port: 8080
tools:
- name: get-franchise-performance
description: "Generate a franchise store performance report."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: period
in: body
type: string
description: "Report period in YYYY-MM format."
call: "dominos-reporting.get-franchise-report"
with:
store_id: "{{store_id}}"
period: "{{period}}"
consumes:
- type: http
namespace: dominos-reporting
baseUri: "https://api.dominos.com/reporting/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: franchise-reports
path: "/stores/{{store_id}}/franchise-report"
inputParameters:
- name: store_id
in: path
operations:
- name: get-franchise-report
method: GET
Checks GitHub repo at Dominos.
naftiko: "0.5"
info:
label: "GitHub Repo Check"
description: "Checks GitHub repo at Dominos."
tags:
- devops
- github
- version-control
capability:
exposes:
- type: mcp
namespace: gh-repo
port: 8080
tools:
- name: get-branch
description: "Check branch at Dominos."
inputParameters:
- name: repo
in: body
type: string
description: "Repo."
- name: branch
in: body
type: string
description: "Branch."
call: "github.get-branch"
with:
repo: "{{repo}}"
branch: "{{branch}}"
outputParameters:
- name: sha
type: string
mapping: "$.commit.sha"
consumes:
- type: http
namespace: github
baseUri: "https://api.github.com"
authentication:
type: bearer
token: "$secrets.github_token"
resources:
- name: branches
path: "/repos/org/{{repo}}/branches/{{branch}}"
inputParameters:
- name: repo
in: path
- name: branch
in: path
operations:
- name: get-branch
method: GET
Retrieves performance metrics for Domino's local Google Ads campaigns, returning impressions, clicks, conversions, and cost-per-acquisition by store market.
naftiko: "0.5"
info:
label: "Google Ads Campaign Performance"
description: "Retrieves performance metrics for Domino's local Google Ads campaigns, returning impressions, clicks, conversions, and cost-per-acquisition by store market."
tags:
- marketing
- advertising
- google-ads
capability:
exposes:
- type: mcp
namespace: ads-performance
port: 8080
tools:
- name: get-ads-performance
description: "Retrieve Google Ads campaign performance metrics."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The Google Ads campaign identifier."
- name: date_range
in: body
type: string
description: "Date range (last_7_days, last_30_days, this_month)."
call: "google-ads.get-campaign-report"
with:
campaign_id: "{{campaign_id}}"
date_range: "{{date_range}}"
consumes:
- type: http
namespace: google-ads
baseUri: "https://googleads.googleapis.com/v14"
authentication:
type: bearer
token: "$secrets.google_ads_token"
resources:
- name: campaigns
path: "/customers/$secrets.google_ads_customer_id/googleAds:searchStream"
operations:
- name: get-campaign-report
method: POST
Updates the Domino's store listing on Google Maps with current hours, services, and promotional information.
naftiko: "0.5"
info:
label: "Google Maps Store Listing Update"
description: "Updates the Domino's store listing on Google Maps with current hours, services, and promotional information."
tags:
- marketing
- store-ops
- google-maps
capability:
exposes:
- type: mcp
namespace: google-listing
port: 8080
tools:
- name: update-google-listing
description: "Update the store's Google Maps business listing."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: hours
in: body
type: string
description: "JSON object with updated hours."
- name: description
in: body
type: string
description: "Updated business description."
call: "google-maps.update-listing"
with:
location_id: "{{store_id}}"
hours: "{{hours}}"
description: "{{description}}"
consumes:
- type: http
namespace: google-maps
baseUri: "https://mybusinessbusinessinformation.googleapis.com/v1"
authentication:
type: bearer
token: "$secrets.google_business_token"
resources:
- name: locations
path: "/locations/{{location_id}}"
inputParameters:
- name: location_id
in: path
operations:
- name: update-listing
method: PATCH
Checks Google user at Dominos.
naftiko: "0.5"
info:
label: "Google Workspace User Check"
description: "Checks Google user at Dominos."
tags:
- identity
- google-workspace
- directory
capability:
exposes:
- type: mcp
namespace: gws
port: 8080
tools:
- name: check-user
description: "Check user at Dominos."
inputParameters:
- name: email
in: body
type: string
description: "Email."
call: "google.get-user"
with:
email: "{{email}}"
outputParameters:
- name: suspended
type: boolean
mapping: "$.suspended"
consumes:
- type: http
namespace: google
baseUri: "https://admin.googleapis.com/admin/directory/v1"
authentication:
type: bearer
token: "$secrets.google_admin_token"
resources:
- name: users
path: "/users/{{email}}"
inputParameters:
- name: email
in: path
operations:
- name: get-user
method: GET
Checks Grafana dashboard at Dominos.
naftiko: "0.5"
info:
label: "Grafana Dashboard Status"
description: "Checks Grafana dashboard at Dominos."
tags:
- monitoring
- grafana
- dashboards
capability:
exposes:
- type: mcp
namespace: grafana
port: 8080
tools:
- name: check-dash
description: "Check dashboard at Dominos."
inputParameters:
- name: uid
in: body
type: string
description: "Dashboard UID."
call: "grafana.get-dash"
with:
uid: "{{uid}}"
outputParameters:
- name: title
type: string
mapping: "$.dashboard.title"
consumes:
- type: http
namespace: grafana
baseUri: "https://grafana.dominos.com/api"
authentication:
type: bearer
token: "$secrets.grafana_token"
resources:
- name: dashboards
path: "/dashboards/uid/{{uid}}"
inputParameters:
- name: uid
in: path
operations:
- name: get-dash
method: GET
When ingredient inventory drops below par level, automatically creates a supply order in SAP and notifies the store manager via Microsoft Teams.
naftiko: "0.5"
info:
label: "Ingredient Auto-Reorder"
description: "When ingredient inventory drops below par level, automatically creates a supply order in SAP and notifies the store manager via Microsoft Teams."
tags:
- inventory
- supply-chain
- sap
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: ingredient-reorder
port: 8080
tools:
- name: auto-reorder-ingredient
description: "Trigger automatic ingredient reorder when stock is low."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: ingredient_code
in: body
type: string
description: "The ingredient material code."
- name: current_quantity
in: body
type: number
description: "Current quantity on hand."
- name: order_quantity
in: body
type: number
description: "Quantity to order."
steps:
- name: create-order
type: call
call: "sap.create-purchase-order"
with:
plant: "{{store_id}}"
material: "{{ingredient_code}}"
quantity: "{{order_quantity}}"
- name: notify-manager
type: call
call: "msteams.send-message"
with:
channel_id: "store-{{store_id}}"
text: "Auto-reorder: {{ingredient_code}} at {{current_quantity}} units (below par). PO {{create-order.po_number}} created for {{order_quantity}} units. Expected delivery: {{create-order.delivery_date}}."
consumes:
- type: http
namespace: sap
baseUri: "https://dominos-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"
operations:
- name: create-purchase-order
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{channel_id}}/channels/General/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Escalates IT incidents at Dominos via ServiceNow, PagerDuty, and Slack.
naftiko: "0.5"
info:
label: "IT Incident Escalation Pipeline"
description: "Escalates IT incidents at Dominos via ServiceNow, PagerDuty, and Slack."
tags:
- incident-management
- servicenow
- pagerduty
- slack
capability:
exposes:
- type: mcp
namespace: incident-escalation
port: 8080
tools:
- name: escalate-incident
description: "Escalate incidents at Dominos."
inputParameters:
- name: incident_id
in: body
type: string
description: "Incident ID."
- name: severity
in: body
type: string
description: "Severity."
steps:
- name: get-incident
type: call
call: "servicenow.get-incident"
with:
incident_id: "{{incident_id}}"
- name: page
type: call
call: "pagerduty.create-incident"
with:
title: "{{get-incident.description}}"
urgency: "{{severity}}"
- name: channel
type: call
call: "slack.create-channel"
with:
name: "inc-{{incident_id}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#inc-{{incident_id}}"
text: "P{{severity}}: {{get-incident.description}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/table/incident/{{incident_id}}"
inputParameters:
- name: incident_id
in: path
operations:
- name: get-incident
method: GET
- type: http
namespace: pagerduty
baseUri: "https://api.pagerduty.com"
authentication:
type: bearer
token: "$secrets.pagerduty_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: channels
path: "/conversations.create"
operations:
- name: create-channel
method: POST
Retrieves sprint progress at Dominos.
naftiko: "0.5"
info:
label: "Jira Sprint Progress Lookup"
description: "Retrieves sprint progress at Dominos."
tags:
- project-management
- jira
- agile
capability:
exposes:
- type: mcp
namespace: jira-sprint
port: 8080
tools:
- name: get-sprint
description: "Look up sprint at Dominos."
inputParameters:
- name: project_key
in: body
type: string
description: "Project key."
call: "jira.get-sprints"
with:
project: "{{project_key}}"
outputParameters:
- name: name
type: string
mapping: "$.values[0].name"
- name: state
type: string
mapping: "$.values[0].state"
consumes:
- type: http
namespace: jira
baseUri: "https://dominos.com.atlassian.net/rest/agile/1.0"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: sprints
path: "/board/1/sprint"
operations:
- name: get-sprints
method: GET
Maintains KB at Dominos by finding stale articles and notifying owners.
naftiko: "0.5"
info:
label: "Knowledge Base Maintenance Pipeline"
description: "Maintains KB at Dominos by finding stale articles and notifying owners."
tags:
- knowledge-management
- confluence
- maintenance
capability:
exposes:
- type: mcp
namespace: kb-maint
port: 8080
tools:
- name: maintain-kb
description: "Maintain KB at Dominos."
inputParameters:
- name: space
in: body
type: string
description: "Confluence space."
- name: stale_days
in: body
type: number
description: "Days threshold."
steps:
- name: find
type: call
call: "confluence.search-stale"
with:
space: "{{space}}"
days: "{{stale_days}}"
- name: notify
type: call
call: "email.batch"
with:
to: "{{find.owners}}"
subject: "KB review needed"
- name: flag
type: call
call: "confluence.add-label"
with:
pages: "{{find.ids}}"
label: "needs-review"
- name: report
type: call
call: "slack.post-message"
with:
channel: "#kb"
text: "KB: {{find.count}} stale articles"
consumes:
- type: http
namespace: confluence
baseUri: "https://dominos.com.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: content
path: "/content/search"
operations:
- name: search-stale
method: GET
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: batch
path: "/send-batch"
operations:
- name: batch
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Generates KPI digest at Dominos from Snowflake, Oracle, Power BI, and email.
naftiko: "0.5"
info:
label: "Weekly KPI Digest Pipeline"
description: "Generates KPI digest at Dominos from Snowflake, Oracle, Power BI, and email."
tags:
- reporting
- kpi
- snowflake
- executive
capability:
exposes:
- type: mcp
namespace: kpi-digest
port: 8080
tools:
- name: gen-digest
description: "Generate KPI digest at Dominos."
inputParameters:
- name: week
in: body
type: string
description: "Week ending."
- name: dist
in: body
type: string
description: "Distribution list."
steps:
- name: ops
type: call
call: "snowflake.query"
with:
query: "SELECT * FROM kpis WHERE w='{{week}}'"
- name: fin
type: call
call: "oracle.get-summary"
with:
period: "{{week}}"
- name: refresh
type: call
call: "power-bi.refresh"
with:
dataset: "exec_kpis"
- name: send
type: call
call: "email.send"
with:
to: "{{dist}}"
subject: "KPIs - {{week}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://dominos.com.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: query
method: POST
- type: http
namespace: oracle
baseUri: "https://oracle.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.oracle_token"
resources:
- name: fin
path: "/summary"
operations:
- name: get-summary
method: GET
- type: http
namespace: power-bi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.power_bi_token"
resources:
- name: datasets
path: "/datasets/{{dataset}}/refreshes"
inputParameters:
- name: dataset
in: path
operations:
- name: refresh
method: POST
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: messages
path: "/send"
operations:
- name: send
method: POST
Checks K8s pod health at Dominos.
naftiko: "0.5"
info:
label: "K8s Pod Health"
description: "Checks K8s pod health at Dominos."
tags:
- containers
- kubernetes
- infrastructure
capability:
exposes:
- type: mcp
namespace: k8s-pod
port: 8080
tools:
- name: check-pod
description: "Check pod at Dominos."
inputParameters:
- name: namespace
in: body
type: string
description: "Namespace."
- name: pod
in: body
type: string
description: "Pod name."
call: "k8s.get-pod"
with:
namespace: "{{namespace}}"
pod: "{{pod}}"
outputParameters:
- name: phase
type: string
mapping: "$.status.phase"
consumes:
- type: http
namespace: k8s
baseUri: "https://k8s.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.k8s_token"
resources:
- name: pods
path: "/namespaces/{{namespace}}/pods/{{pod}}"
inputParameters:
- name: namespace
in: path
- name: pod
in: path
operations:
- name: get-pod
method: GET
Checks license compliance at Dominos via scanning, entitlements, and procurement.
naftiko: "0.5"
info:
label: "License Compliance Pipeline"
description: "Checks license compliance at Dominos via scanning, entitlements, and procurement."
tags:
- compliance
- licensing
- procurement
capability:
exposes:
- type: mcp
namespace: license-comp
port: 8080
tools:
- name: check-licenses
description: "Check license compliance at Dominos."
inputParameters:
- name: software
in: body
type: string
description: "Software."
- name: vendor
in: body
type: string
description: "Vendor."
steps:
- name: scan
type: call
call: "assets.installations"
with:
sw: "{{software}}"
- name: entitlements
type: call
call: "licenses.get"
with:
sw: "{{software}}"
- name: flag
type: call
call: "compliance.flag"
with:
installed: "{{scan.count}}"
entitled: "{{entitlements.count}}"
- name: procure
type: call
call: "servicenow.create-request"
with:
type: "license"
sw: "{{software}}"
consumes:
- type: http
namespace: assets
baseUri: "https://assets.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.asset_token"
resources:
- name: installations
path: "/installations"
operations:
- name: installations
method: GET
- type: http
namespace: licenses
baseUri: "https://licenses.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.license_token"
resources:
- name: ent
path: "/entitlements"
operations:
- name: get
method: GET
- type: http
namespace: compliance
baseUri: "https://compliance.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: overages
path: "/flag"
operations:
- name: flag
method: POST
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: requests
path: "/table/sc_request"
operations:
- name: create-request
method: POST
Retrieves a customer's Domino's Piece of the Pie Rewards loyalty balance including points, available rewards, and order history contributing to the balance.
naftiko: "0.5"
info:
label: "Loyalty Rewards Balance"
description: "Retrieves a customer's Domino's Piece of the Pie Rewards loyalty balance including points, available rewards, and order history contributing to the balance."
tags:
- customer
- loyalty
- ordering
capability:
exposes:
- type: mcp
namespace: loyalty-rewards
port: 8080
tools:
- name: get-loyalty-balance
description: "Retrieve a customer's loyalty rewards balance."
inputParameters:
- name: customer_id
in: body
type: string
description: "The Domino's customer identifier."
call: "dominos-loyalty.get-balance"
with:
customer_id: "{{customer_id}}"
consumes:
- type: http
namespace: dominos-loyalty
baseUri: "https://api.dominos.com/loyalty/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: balances
path: "/customers/{{customer_id}}/balance"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-balance
method: GET
Toggles a menu item's availability on or off at a specific store, useful for 86'd items when ingredients run out.
naftiko: "0.5"
info:
label: "Menu Item Availability Toggle"
description: "Toggles a menu item's availability on or off at a specific store, useful for 86'd items when ingredients run out."
tags:
- menu
- store-ops
- ordering
capability:
exposes:
- type: mcp
namespace: menu-availability
port: 8080
tools:
- name: toggle-menu-item
description: "Toggle a menu item's availability at a store."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: item_code
in: body
type: string
description: "The menu item product code."
- name: available
in: body
type: boolean
description: "Set to true to enable, false to disable."
call: "dominos-menu.update-availability"
with:
store_id: "{{store_id}}"
item_code: "{{item_code}}"
available: "{{available}}"
consumes:
- type: http
namespace: dominos-menu
baseUri: "https://api.dominos.com/menu/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: availability
path: "/stores/{{store_id}}/menu/{{item_code}}/availability"
inputParameters:
- name: store_id
in: path
- name: item_code
in: path
operations:
- name: update-availability
method: PUT
Retrieves the current price for a menu item at a specific store, including any active promotions, coupons, and regional pricing variations.
naftiko: "0.5"
info:
label: "Menu Item Price Lookup"
description: "Retrieves the current price for a menu item at a specific store, including any active promotions, coupons, and regional pricing variations."
tags:
- ordering
- pricing
- menu
capability:
exposes:
- type: mcp
namespace: menu-pricing
port: 8080
tools:
- name: get-menu-item-price
description: "Look up the price for a menu item at a store."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: item_code
in: body
type: string
description: "The menu item product code."
call: "dominos-menu.get-item"
with:
store_id: "{{store_id}}"
item_code: "{{item_code}}"
consumes:
- type: http
namespace: dominos-menu
baseUri: "https://api.dominos.com/menu/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: items
path: "/stores/{{store_id}}/menu/{{item_code}}"
inputParameters:
- name: store_id
in: path
- name: item_code
in: path
operations:
- name: get-item
method: GET
Generates monthly security reports at Dominos from Splunk and Qualys.
naftiko: "0.5"
info:
label: "Monthly Security Report Pipeline"
description: "Generates monthly security reports at Dominos from Splunk and Qualys."
tags:
- security
- reporting
- splunk
- compliance
capability:
exposes:
- type: mcp
namespace: sec-report
port: 8080
tools:
- name: gen-sec-report
description: "Generate security report at Dominos."
inputParameters:
- name: month
in: body
type: string
description: "Month."
steps:
- name: splunk
type: call
call: "splunk.search"
with:
query: "index=security earliest=-30d"
- name: scans
type: call
call: "qualys.results"
with:
month: "{{month}}"
- name: compile
type: call
call: "analytics.compile-security"
with:
events: "{{splunk.count}}"
vulns: "{{scans.critical}}"
- name: send
type: call
call: "email.send"
with:
to: "ciso@co.com"
subject: "Security - {{month}}"
consumes:
- type: http
namespace: splunk
baseUri: "https://splunk.dominos.com:8089/services"
authentication:
type: bearer
token: "$secrets.splunk_token"
resources:
- name: search
path: "/search/jobs"
operations:
- name: search
method: POST
- type: http
namespace: qualys
baseUri: "https://qualysapi.qualys.com/api/v2"
authentication:
type: bearer
token: "$secrets.qualys_token"
resources:
- name: results
path: "/fo/scan/results"
operations:
- name: results
method: GET
- type: http
namespace: analytics
baseUri: "https://analytics.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.analytics_token"
resources:
- name: security
path: "/compile"
operations:
- name: compile-security
method: POST
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: messages
path: "/send"
operations:
- name: send
method: POST
When a negative Google review is detected, creates a Salesforce case for follow-up, sends an apology coupon via Twilio SMS, and alerts the store manager on Microsoft Teams.
naftiko: "0.5"
info:
label: "Negative Review Response Pipeline"
description: "When a negative Google review is detected, creates a Salesforce case for follow-up, sends an apology coupon via Twilio SMS, and alerts the store manager on Microsoft Teams."
tags:
- customer
- marketing
- salesforce
- twilio
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: review-response
port: 8080
tools:
- name: respond-to-negative-review
description: "Process and respond to a negative customer review."
inputParameters:
- name: store_id
in: body
type: string
description: "The store identifier."
- name: reviewer_name
in: body
type: string
description: "The reviewer's name."
- name: review_text
in: body
type: string
description: "The review content."
- name: rating
in: body
type: number
description: "The star rating."
- name: customer_phone
in: body
type: string
description: "Customer phone if available."
steps:
- name: create-case
type: call
call: "salesforce.create-case"
with:
subject: "Negative review: Store {{store_id}} - {{rating}} stars"
description: "Reviewer: {{reviewer_name}}. Rating: {{rating}}/5. Review: {{review_text}}"
priority: "High"
- name: send-coupon
type: call
call: "twilio.send-sms"
with:
to: "{{customer_phone}}"
body: "Hi {{reviewer_name}}, we're sorry about your recent Domino's experience. Please enjoy 50% off your next order with code: MAKEITRIGHT. We appreciate your feedback."
- name: alert-manager
type: call
call: "msteams.send-message"
with:
channel_id: "store-{{store_id}}"
text: "Negative review alert ({{rating}} stars) from {{reviewer_name}}: {{review_text}}. Case: {{create-case.case_number}}. Recovery coupon sent."
consumes:
- type: http
namespace: salesforce
baseUri: "https://dominos.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: twilio
baseUri: "https://api.twilio.com/2010-04-01/Accounts/$secrets.twilio_account_sid"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Messages.json"
operations:
- name: send-sms
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{channel_id}}/channels/General/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Onboards employees at Dominos with Okta, ServiceNow, Slack, and calendar.
naftiko: "0.5"
info:
label: "New Employee IT Onboarding Pipeline"
description: "Onboards employees at Dominos with Okta, ServiceNow, Slack, and calendar."
tags:
- hr
- onboarding
- okta
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: it-onboarding
port: 8080
tools:
- name: onboard-employee
description: "Onboard employees at Dominos."
inputParameters:
- name: name
in: body
type: string
description: "Name."
- name: dept
in: body
type: string
description: "Department."
- name: start
in: body
type: string
description: "Start date."
steps:
- name: okta
type: call
call: "okta.create-user"
with:
name: "{{name}}"
department: "{{dept}}"
- name: equip
type: call
call: "servicenow.create-request"
with:
type: "new_hire"
for: "{{name}}"
- name: slack
type: call
call: "slack.invite"
with:
email: "{{okta.email}}"
- name: orient
type: call
call: "calendar.create-event"
with:
title: "Orientation - {{name}}"
date: "{{start}}"
consumes:
- type: http
namespace: okta
baseUri: "https://dominos.com.okta.com/api/v1"
authentication:
type: bearer
token: "$secrets.okta_api_token"
resources:
- name: users
path: "/users"
operations:
- name: create-user
method: POST
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: requests
path: "/table/sc_request"
operations:
- name: create-request
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: users
path: "/users.admin.invite"
operations:
- name: invite
method: POST
- type: http
namespace: calendar
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.microsoft_graph_token"
resources:
- name: events
path: "/users/hr/events"
operations:
- name: create-event
method: POST
When a new store employee is hired in Workday, creates their Pluralsight food safety training assignments, provisions POS access via ServiceNow, and notifies the store manager via Microsoft Teams.
naftiko: "0.5"
info:
label: "New Employee Onboarding"
description: "When a new store employee is hired in Workday, creates their Pluralsight food safety training assignments, provisions POS access via ServiceNow, and notifies the store manager via Microsoft Teams."
tags:
- hr
- onboarding
- workday
- pluralsight
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: employee-onboarding
port: 8080
tools:
- name: onboard-employee
description: "Orchestrate onboarding for a new store employee."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday employee identifier."
- name: store_id
in: body
type: string
description: "The store identifier."
- name: role
in: body
type: string
description: "The employee role (driver, insider, manager)."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
- name: assign-training
type: call
call: "pluralsight.assign-channel"
with:
email: "{{get-employee.work_email}}"
channel: "dominos-{{role}}-training"
- name: provision-access
type: call
call: "servicenow.create-request"
with:
short_description: "POS access for {{get-employee.full_name}} at store {{store_id}}"
category: "access_provisioning"
description: "Provision POS and kitchen display access for {{get-employee.full_name}} ({{role}}) at store {{store_id}}."
- name: notify-manager
type: call
call: "msteams.send-message"
with:
channel_id: "store-{{store_id}}"
text: "New hire: {{get-employee.full_name}} ({{role}}) onboarded. Training assigned. POS access request: {{provision-access.number}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: pluralsight
baseUri: "https://api.pluralsight.com/api/v1"
authentication:
type: bearer
token: "$secrets.pluralsight_token"
resources:
- name: assignments
path: "/channels/assign"
operations:
- name: assign-channel
method: POST
- type: http
namespace: servicenow
baseUri: "https://dominos.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: requests
path: "/table/sc_request"
operations:
- name: create-request
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{channel_id}}/channels/General/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Checks New Relic APM at Dominos.
naftiko: "0.5"
info:
label: "New Relic APM Check"
description: "Checks New Relic APM at Dominos."
tags:
- monitoring
- new-relic
- apm
capability:
exposes:
- type: mcp
namespace: nr-apm
port: 8080
tools:
- name: check-apm
description: "Check APM at Dominos."
inputParameters:
- name: app_id
in: body
type: string
description: "App ID."
call: "newrelic.get-app"
with:
app_id: "{{app_id}}"
outputParameters:
- name: health
type: string
mapping: "$.application.health_status"
consumes:
- type: http
namespace: newrelic
baseUri: "https://api.newrelic.com/v2"
authentication:
type: bearer
token: "$secrets.new_relic_api_key"
resources:
- name: applications
path: "/applications/{{app_id}}.json"
inputParameters:
- name: app_id
in: path
operations:
- name: get-app
method: GET
Orchestrates a new franchise store launch by creating the store in the OMS, setting up Workday positions, configuring ServiceNow support, and announcing on Microsoft Teams.
naftiko: "0.5"
info:
label: "New Store Launch Orchestrator"
description: "Orchestrates a new franchise store launch by creating the store in the OMS, setting up Workday positions, configuring ServiceNow support, and announcing on Microsoft Teams."
tags:
- franchise
- operations
- workday
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: store-launch
port: 8080
tools:
- name: launch-new-store
description: "Orchestrate the system setup for a new franchise store."
inputParameters:
- name: store_id
in: body
type: string
description: "The new store identifier."
- name: store_address
in: body
type: string
description: "The store physical address."
- name: franchisee_name
in: body
type: string
description: "The franchisee name."
- name: open_date
in: body
type: string
description: "Grand opening date in YYYY-MM-DD format."
steps:
- name: create-store
type: call
call: "dominos-stores.create-store"
with:
store_id: "{{store_id}}"
address: "{{store_address}}"
franchisee: "{{franchisee_name}}"
- name: create-workday-location
type: call
call: "workday.create-location"
with:
location_id: "{{store_id}}"
name: "Dominos Store {{store_id}}"
address: "{{store_address}}"
- name: create-support
type: call
call: "servicenow.create-config-item"
with:
name: "Dominos Store {{store_id}}"
category: "franchise_store"
location: "{{store_address}}"
- name: announce
type: call
call: "msteams.send-message"
with:
channel_id: "franchise-ops"
text: "New store {{store_id}} launching on {{open_date}}. Franchisee: {{franchisee_name}}. Address: {{store_address}}. All systems configured."
consumes:
- type: http
namespace: dominos-stores
baseUri: "https://api.dominos.com/stores/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: stores
path: "/stores"
operations:
- name: create-store
method: POST
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: locations
path: "/locations"
operations:
- name: create-location
method: POST
- type: http
namespace: servicenow
baseUri: "https://dominos.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: config-items
path: "/table/cmdb_ci"
operations:
- name: create-config-item
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{channel_id}}/channels/General/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Checks Okta user at Dominos.
naftiko: "0.5"
info:
label: "Okta User Check"
description: "Checks Okta user at Dominos."
tags:
- identity
- okta
- access-management
capability:
exposes:
- type: mcp
namespace: okta-user
port: 8080
tools:
- name: check-user
description: "Check user at Dominos."
inputParameters:
- name: email
in: body
type: string
description: "Email."
call: "okta.get-user"
with:
email: "{{email}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: okta
baseUri: "https://dominos.com.okta.com/api/v1"
authentication:
type: bearer
token: "$secrets.okta_api_token"
resources:
- name: users
path: "/users/{{email}}"
inputParameters:
- name: email
in: path
operations:
- name: get-user
method: GET
When a new online order is placed, validates the payment via Square, sends the order to the store kitchen display system, and sends an order confirmation SMS to the customer via Twilio.
naftiko: "0.5"
info:
label: "Online Order to Kitchen Pipeline"
description: "When a new online order is placed, validates the payment via Square, sends the order to the store kitchen display system, and sends an order confirmation SMS to the customer via Twilio."
tags:
- ordering
- kitchen
- square
- twilio
capability:
exposes:
- type: mcp
namespace: order-pipeline
port: 8080
tools:
- name: process-online-order
description: "Process an online order through payment, kitchen, and customer notification."
inputParameters:
- name: order_id
in: body
type: string
description: "The online order identifier."
- name: store_id
in: body
type: string
description: "The store identifier."
steps:
- name: get-order
type: call
call: "dominos-oms.get-order"
with:
order_number: "{{order_id}}"
store_id: "{{store_id}}"
- name: process-payment
type: call
call: "square.create-payment"
with:
amount: "{{get-order.total}}"
source_id: "{{get-order.payment_token}}"
location_id: "{{store_id}}"
- name: send-to-kitchen
type: call
call: "dominos-oms.update-order-status"
with:
order_number: "{{order_id}}"
store_id: "{{store_id}}"
status: "in_kitchen"
- name: notify-customer
type: call
call: "twilio.send-sms"
with:
to: "{{get-order.customer_phone}}"
body: "Your Domino's order #{{order_id}} has been confirmed and is being prepared. Estimated ready time: {{get-order.estimated_time}}."
consumes:
- type: http
namespace: dominos-oms
baseUri: "https://api.dominos.com/oms/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: orders
path: "/stores/{{store_id}}/orders/{{order_number}}"
inputParameters:
- name: store_id
in: path
- name: order_number
in: path
operations:
- name: get-order
method: GET
- name: order-status
path: "/stores/{{store_id}}/orders/{{order_number}}/status"
inputParameters:
- name: store_id
in: path
- name: order_number
in: path
operations:
- name: update-order-status
method: PUT
- type: http
namespace: square
baseUri: "https://connect.squareup.com/v2"
authentication:
type: bearer
token: "$secrets.square_token"
resources:
- name: payments
path: "/payments"
operations:
- name: create-payment
method: POST
- type: http
namespace: twilio
baseUri: "https://api.twilio.com/2010-04-01/Accounts/$secrets.twilio_account_sid"
authentication:
type: basic
username: "$secrets.twilio_account_sid"
password: "$secrets.twilio_auth_token"
resources:
- name: messages
path: "/Messages.json"
operations:
- name: send-sms
method: POST
Queries the Domino's order management system for a customer order by order number, returning current preparation stage, estimated delivery time, and driver assignment.
naftiko: "0.5"
info:
label: "Order Status Lookup"
description: "Queries the Domino's order management system for a customer order by order number, returning current preparation stage, estimated delivery time, and driver assignment."
tags:
- ordering
- tracking
- store-ops
capability:
exposes:
- type: mcp
namespace: order-tracking
port: 8080
tools:
- name: get-order-status
description: "Look up the current status of a customer order."
inputParameters:
- name: order_number
in: body
type: string
description: "The Domino's order number."
- name: store_id
in: body
type: string
description: "The store identifier."
call: "dominos-oms.get-order"
with:
order_number: "{{order_number}}"
store_id: "{{store_id}}"
consumes:
- type: http
namespace: dominos-oms
baseUri: "https://api.dominos.com/oms/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: orders
path: "/stores/{{store_id}}/orders/{{order_number}}"
inputParameters:
- name: store_id
in: path
- name: order_number
in: path
operations:
- name: get-order
method: GET
Checks on-call at Dominos.
naftiko: "0.5"
info:
label: "PagerDuty On-Call Check"
description: "Checks on-call at Dominos."
tags:
- incident-management
- pagerduty
- on-call
capability:
exposes:
- type: mcp
namespace: pd-oncall
port: 8080
tools:
- name: get-oncall
description: "Check on-call at Dominos."
inputParameters:
- name: schedule_id
in: body
type: string
description: "Schedule ID."
call: "pagerduty.get-oncall"
with:
schedule_id: "{{schedule_id}}"
outputParameters:
- name: user
type: string
mapping: "$.oncalls[0].user.summary"
consumes:
- type: http
namespace: pagerduty
baseUri: "https://api.pagerduty.com"
authentication:
type: bearer
token: "$secrets.pagerduty_token"
resources:
- name: oncalls
path: "/oncalls"
operations:
- name: get-oncall
method: GET
Exports weekly timesheet hours from Workday for a Domino's store and submits them to ADP for payroll processing.
naftiko: "0.5"
info:
label: "Payroll Hours Sync"
description: "Exports weekly timesheet hours from Workday for a Domino's store and submits them to ADP for payroll processing."
tags:
- hr
- payroll
- workday
- adp
capability:
exposes:
- type: mcp
namespace: payroll-sync
port: 8080
tools:
- name: sync-payroll-hours
description: "Sync weekly timesheet hours to payroll system."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: week_ending
in: body
type: string
description: "The week ending date in YYYY-MM-DD format."
steps:
- name: get-timesheets
type: call
call: "workday.get-timesheets"
with:
location: "{{store_id}}"
week_ending: "{{week_ending}}"
- name: submit-to-adp
type: call
call: "adp.submit-hours"
with:
location: "{{store_id}}"
hours: "{{get-timesheets.entries}}"
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: timesheets
path: "/locations/{{location}}/timesheets"
inputParameters:
- name: location
in: path
operations:
- name: get-timesheets
method: GET
- type: http
namespace: adp
baseUri: "https://api.adp.com/hr/v2"
authentication:
type: bearer
token: "$secrets.adp_token"
resources:
- name: payroll
path: "/payroll/hours"
operations:
- name: submit-hours
method: POST
Analyzes historical order volumes from the reporting system to predict peak hours and generates optimized staff schedules in Workday.
naftiko: "0.5"
info:
label: "Peak Hour Staffing Predictor"
description: "Analyzes historical order volumes from the reporting system to predict peak hours and generates optimized staff schedules in Workday."
tags:
- hr
- scheduling
- analytics
- workday
capability:
exposes:
- type: mcp
namespace: peak-staffing
port: 8080
tools:
- name: predict-peak-staffing
description: "Predict peak hours and generate staffing recommendations."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: target_week
in: body
type: string
description: "Target week start date in YYYY-MM-DD format."
steps:
- name: get-order-history
type: call
call: "dominos-reporting.get-hourly-volume"
with:
store_id: "{{store_id}}"
- name: create-schedule
type: call
call: "workday.create-schedule"
with:
location: "{{store_id}}"
week_start: "{{target_week}}"
peak_hours: "{{get-order-history.peak_hours}}"
consumes:
- type: http
namespace: dominos-reporting
baseUri: "https://api.dominos.com/reporting/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: hourly-volume
path: "/stores/{{store_id}}/hourly-volume"
inputParameters:
- name: store_id
in: path
operations:
- name: get-hourly-volume
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: schedules
path: "/locations/{{location}}/schedules"
inputParameters:
- name: location
in: path
operations:
- name: create-schedule
method: POST
Creates postmortems at Dominos.
naftiko: "0.5"
info:
label: "Incident Postmortem Pipeline"
description: "Creates postmortems at Dominos."
tags:
- incident-management
- postmortem
- pagerduty
- confluence
capability:
exposes:
- type: mcp
namespace: postmortem
port: 8080
tools:
- name: create-postmortem
description: "Create postmortem at Dominos."
inputParameters:
- name: incident_id
in: body
type: string
description: "Incident ID."
steps:
- name: timeline
type: call
call: "pagerduty.get-log"
with:
id: "{{incident_id}}"
- name: metrics
type: call
call: "datadog.get-metrics"
with:
incident: "{{incident_id}}"
- name: doc
type: call
call: "confluence.create-page"
with:
title: "Postmortem: {{timeline.title}}"
body: "Impact: {{metrics.impact}}"
- name: review
type: call
call: "calendar.create-event"
with:
title: "Review: {{timeline.title}}"
consumes:
- type: http
namespace: pagerduty
baseUri: "https://api.pagerduty.com"
authentication:
type: bearer
token: "$secrets.pagerduty_token"
resources:
- name: incidents
path: "/incidents/{{id}}/log_entries"
inputParameters:
- name: id
in: path
operations:
- name: get-log
method: GET
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: incidents
path: "/incidents"
operations:
- name: get-metrics
method: GET
- type: http
namespace: confluence
baseUri: "https://dominos.com.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/content"
operations:
- name: create-page
method: POST
- type: http
namespace: calendar
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.microsoft_graph_token"
resources:
- name: events
path: "/users/sre/events"
operations:
- name: create-event
method: POST
Checks Power BI refresh at Dominos.
naftiko: "0.5"
info:
label: "Power BI Refresh Check"
description: "Checks Power BI refresh at Dominos."
tags:
- analytics
- power-bi
- dashboards
capability:
exposes:
- type: mcp
namespace: pbi-refresh
port: 8080
tools:
- name: check-refresh
description: "Check refresh at Dominos."
inputParameters:
- name: dataset_id
in: body
type: string
description: "Dataset ID."
call: "power-bi.get-refresh"
with:
dataset_id: "{{dataset_id}}"
outputParameters:
- name: status
type: string
mapping: "$.value[0].status"
consumes:
- type: http
namespace: power-bi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.power_bi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: dataset_id
in: path
operations:
- name: get-refresh
method: GET
Generates compliance reports at Dominos from Snowflake, Power BI, and email.
naftiko: "0.5"
info:
label: "Quarterly Compliance Report Pipeline"
description: "Generates compliance reports at Dominos from Snowflake, Power BI, and email."
tags:
- compliance
- reporting
- snowflake
- power-bi
capability:
exposes:
- type: mcp
namespace: compliance-rpt
port: 8080
tools:
- name: gen-report
description: "Generate compliance reports at Dominos."
inputParameters:
- name: quarter
in: body
type: string
description: "Quarter."
- name: type
in: body
type: string
description: "Type."
steps:
- name: data
type: call
call: "snowflake.query"
with:
query: "SELECT * FROM compliance WHERE q='{{quarter}}'"
- name: metrics
type: call
call: "analytics.compute"
with:
data: "{{data.results}}"
- name: refresh
type: call
call: "power-bi.refresh"
with:
dataset: "compliance"
- name: send
type: call
call: "email.send"
with:
to: "compliance@co.com"
subject: "{{type}} - {{quarter}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://dominos.com.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: query
method: POST
- type: http
namespace: analytics
baseUri: "https://analytics.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.analytics_token"
resources:
- name: metrics
path: "/compute"
operations:
- name: compute
method: POST
- type: http
namespace: power-bi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.power_bi_token"
resources:
- name: datasets
path: "/datasets/{{dataset}}/refreshes"
inputParameters:
- name: dataset
in: path
operations:
- name: refresh
method: POST
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: messages
path: "/send"
operations:
- name: send
method: POST
Checks Redis at Dominos.
naftiko: "0.5"
info:
label: "Redis Cache Status"
description: "Checks Redis at Dominos."
tags:
- caching
- redis
- infrastructure
capability:
exposes:
- type: mcp
namespace: redis
port: 8080
tools:
- name: check-cache
description: "Check Redis at Dominos."
inputParameters:
- name: instance
in: body
type: string
description: "Instance ID."
call: "redis.get-info"
with:
instance: "{{instance}}"
outputParameters:
- name: memory
type: string
mapping: "$.used_memory_human"
consumes:
- type: http
namespace: redis
baseUri: "https://redis.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.redis_token"
resources:
- name: instances
path: "/instances/{{instance}}/info"
inputParameters:
- name: instance
in: path
operations:
- name: get-info
method: GET
Checks release readiness at Dominos.
naftiko: "0.5"
info:
label: "Release Readiness Pipeline"
description: "Checks release readiness at Dominos."
tags:
- release-management
- devops
- quality
capability:
exposes:
- type: mcp
namespace: release-ready
port: 8080
tools:
- name: check-release
description: "Check release at Dominos."
inputParameters:
- name: release_id
in: body
type: string
description: "Release ID."
- name: project
in: body
type: string
description: "Project."
steps:
- name: tests
type: call
call: "azdo.get-tests"
with:
project: "{{project}}"
release: "{{release_id}}"
- name: quality
type: call
call: "sonarqube.get-gate"
with:
project: "{{project}}"
- name: security
type: call
call: "security.get-scan"
with:
project: "{{project}}"
- name: doc
type: call
call: "confluence.create-page"
with:
title: "Release - {{release_id}}"
body: "Tests: {{tests.pass_rate}}% Quality: {{quality.status}}"
consumes:
- type: http
namespace: azdo
baseUri: "https://dev.azure.com/dominos.com"
authentication:
type: bearer
token: "$secrets.azdo_token"
resources:
- name: tests
path: "/{{project}}/_apis/test/runs"
inputParameters:
- name: project
in: path
operations:
- name: get-tests
method: GET
- type: http
namespace: sonarqube
baseUri: "https://sonarqube.dominos.com/api"
authentication:
type: bearer
token: "$secrets.sonarqube_token"
resources:
- name: quality
path: "/qualitygates/project_status"
operations:
- name: get-gate
method: GET
- type: http
namespace: security
baseUri: "https://security.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.security_token"
resources:
- name: scans
path: "/results"
operations:
- name: get-scan
method: GET
- type: http
namespace: confluence
baseUri: "https://dominos.com.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/content"
operations:
- name: create-page
method: POST
Extracts daily store sales data from the reporting system and pushes it to Power BI for executive dashboard visualization and trend analysis.
naftiko: "0.5"
info:
label: "Sales to Power BI Dashboard"
description: "Extracts daily store sales data from the reporting system and pushes it to Power BI for executive dashboard visualization and trend analysis."
tags:
- reporting
- analytics
- power-bi
capability:
exposes:
- type: mcp
namespace: sales-to-powerbi
port: 8080
tools:
- name: push-sales-to-powerbi
description: "Push daily sales data to Power BI for dashboard reporting."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: date
in: body
type: string
description: "The report date in YYYY-MM-DD format."
steps:
- name: get-sales
type: call
call: "dominos-reporting.get-sales"
with:
store_id: "{{store_id}}"
date: "{{date}}"
- name: push-data
type: call
call: "powerbi.push-rows"
with:
dataset_id: "$secrets.powerbi_dataset_id"
table_name: "DailyStoreSales"
rows: "{{get-sales.line_items}}"
consumes:
- type: http
namespace: dominos-reporting
baseUri: "https://api.dominos.com/reporting/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: sales
path: "/stores/{{store_id}}/sales"
inputParameters:
- name: store_id
in: path
operations:
- name: get-sales
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}}/tables/{{table_name}}/rows"
inputParameters:
- name: dataset_id
in: path
- name: table_name
in: path
operations:
- name: push-rows
method: POST
Checks SAP PO at Dominos.
naftiko: "0.5"
info:
label: "SAP PO Check"
description: "Checks SAP PO at Dominos."
tags:
- procurement
- sap
- purchase-orders
capability:
exposes:
- type: mcp
namespace: sap-po
port: 8080
tools:
- name: get-po
description: "Check PO at Dominos."
inputParameters:
- name: po_number
in: body
type: string
description: "PO number."
call: "sap.get-po"
with:
po_number: "{{po_number}}"
outputParameters:
- name: vendor
type: string
mapping: "$.order.vendor"
- name: status
type: string
mapping: "$.order.status"
consumes:
- type: http
namespace: sap
baseUri: "https://sap.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: purchase-orders
path: "/purchase-orders/{{po_number}}"
inputParameters:
- name: po_number
in: path
operations:
- name: get-po
method: GET
Remediates vulnerabilities at Dominos via scanning, Jira, and Slack.
naftiko: "0.5"
info:
label: "Security Vulnerability Remediation Pipeline"
description: "Remediates vulnerabilities at Dominos via scanning, Jira, and Slack."
tags:
- security
- vulnerability-management
- jira
capability:
exposes:
- type: mcp
namespace: vuln-fix
port: 8080
tools:
- name: remediate
description: "Fix vulnerabilities at Dominos."
inputParameters:
- name: target
in: body
type: string
description: "Target."
- name: policy
in: body
type: string
description: "Policy."
steps:
- name: scan
type: call
call: "qualys.scan"
with:
target: "{{target}}"
policy: "{{policy}}"
- name: prioritize
type: call
call: "security.prioritize"
with:
scan: "{{scan.id}}"
- name: ticket
type: call
call: "jira.create-issue"
with:
project: "SEC"
summary: "Vulns: {{prioritize.critical}} critical"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#security"
text: "Scan: {{prioritize.critical}} critical"
consumes:
- type: http
namespace: qualys
baseUri: "https://qualysapi.qualys.com/api/v2"
authentication:
type: bearer
token: "$secrets.qualys_token"
resources:
- name: scans
path: "/fo/scan"
operations:
- name: scan
method: POST
- type: http
namespace: security
baseUri: "https://security.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.security_token"
resources:
- name: vulns
path: "/prioritize"
operations:
- name: prioritize
method: POST
- type: http
namespace: jira
baseUri: "https://dominos.com.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Checks IT incident in ServiceNow for Dominos.
naftiko: "0.5"
info:
label: "ServiceNow Incident Detail Check"
description: "Checks IT incident in ServiceNow for Dominos."
tags:
- it-service
- servicenow
- incident-management
capability:
exposes:
- type: mcp
namespace: snow-incident
port: 8080
tools:
- name: check-incident
description: "Check incident at Dominos."
inputParameters:
- name: incident_number
in: body
type: string
description: "Incident number."
call: "servicenow.get-incident"
with:
number: "{{incident_number}}"
outputParameters:
- name: state
type: string
mapping: "$.result.state"
- name: priority
type: string
mapping: "$.result.priority"
consumes:
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: get-incident
method: GET
Retrieves SharePoint metadata at Dominos.
naftiko: "0.5"
info:
label: "SharePoint File Metadata"
description: "Retrieves SharePoint metadata at Dominos."
tags:
- document-management
- sharepoint
- collaboration
capability:
exposes:
- type: mcp
namespace: sp-docs
port: 8080
tools:
- name: get-file
description: "Look up file at Dominos."
inputParameters:
- name: site_id
in: body
type: string
description: "Site ID."
- name: file_path
in: body
type: string
description: "Path."
call: "sharepoint.get-file"
with:
site_id: "{{site_id}}"
path: "{{file_path}}"
outputParameters:
- name: name
type: string
mapping: "$.name"
- name: size
type: number
mapping: "$.size"
consumes:
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.microsoft_graph_token"
resources:
- name: files
path: "/sites/{{site_id}}/drive/root:/{{path}}"
inputParameters:
- name: site_id
in: path
- name: path
in: path
operations:
- name: get-file
method: GET
Monitors SLAs at Dominos via Datadog and Slack.
naftiko: "0.5"
info:
label: "SLA Monitoring Pipeline"
description: "Monitors SLAs at Dominos via Datadog and Slack."
tags:
- operations
- sla
- datadog
- slack
capability:
exposes:
- type: mcp
namespace: sla-monitor
port: 8080
tools:
- name: check-sla
description: "Monitor SLAs at Dominos."
inputParameters:
- name: service
in: body
type: string
description: "Service."
- name: target
in: body
type: number
description: "SLA target %."
steps:
- name: metrics
type: call
call: "datadog.get-sla"
with:
service: "{{service}}"
- name: check
type: call
call: "analytics.check-sla"
with:
uptime: "{{metrics.uptime}}"
target: "{{target}}"
- name: alert
type: call
call: "slack.post-message"
with:
channel: "#ops"
text: "SLA: {{service}} at {{metrics.uptime}}% (target: {{target}}%)"
- name: log
type: call
call: "servicenow.create-incident"
with:
desc: "SLA breach: {{service}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: metrics
path: "/metrics"
operations:
- name: get-sla
method: GET
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
- type: http
namespace: servicenow
baseUri: "https://dominos.com.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
Checks Snowflake warehouse usage at Dominos.
naftiko: "0.5"
info:
label: "Snowflake Warehouse Usage"
description: "Checks Snowflake warehouse usage at Dominos."
tags:
- data
- snowflake
- analytics
capability:
exposes:
- type: mcp
namespace: sf-usage
port: 8080
tools:
- name: check-warehouse
description: "Check warehouse at Dominos."
inputParameters:
- name: warehouse
in: body
type: string
description: "Warehouse."
call: "snowflake.get-usage"
with:
warehouse: "{{warehouse}}"
outputParameters:
- name: credits
type: number
mapping: "$.data.credits_used"
consumes:
- type: http
namespace: snowflake
baseUri: "https://dominos.com.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: warehouses
path: "/statements"
operations:
- name: get-usage
method: GET
Creates a promotional campaign post on Facebook and Instagram using event or deal details, targeting the store's local delivery area.
naftiko: "0.5"
info:
label: "Social Media Promotion Publisher"
description: "Creates a promotional campaign post on Facebook and Instagram using event or deal details, targeting the store's local delivery area."
tags:
- marketing
- social-media
- facebook
- instagram
capability:
exposes:
- type: mcp
namespace: social-promo
port: 8080
tools:
- name: publish-social-promo
description: "Publish a promotional post to social media platforms."
inputParameters:
- name: promo_text
in: body
type: string
description: "The promotional message text."
- name: image_url
in: body
type: string
description: "URL of the promotional image."
- name: coupon_code
in: body
type: string
description: "The associated coupon code."
steps:
- name: post-facebook
type: call
call: "facebook.create-post"
with:
message: "{{promo_text}} Use code: {{coupon_code}}"
link: "https://www.dominos.com"
image: "{{image_url}}"
- name: post-instagram
type: call
call: "instagram.create-post"
with:
caption: "{{promo_text}} Use code: {{coupon_code}} #dominos #pizza #deal"
image_url: "{{image_url}}"
consumes:
- type: http
namespace: facebook
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.facebook_page_token"
resources:
- name: posts
path: "/$secrets.facebook_page_id/feed"
operations:
- name: create-post
method: POST
- type: http
namespace: instagram
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.instagram_token"
resources:
- name: posts
path: "/$secrets.instagram_account_id/media"
operations:
- name: create-post
method: POST
Checks code quality at Dominos.
naftiko: "0.5"
info:
label: "SonarQube Quality Check"
description: "Checks code quality at Dominos."
tags:
- code-quality
- sonarqube
- devops
capability:
exposes:
- type: mcp
namespace: sq
port: 8080
tools:
- name: check-quality
description: "Check quality at Dominos."
inputParameters:
- name: project
in: body
type: string
description: "Project key."
call: "sonarqube.get-measures"
with:
project: "{{project}}"
outputParameters:
- name: bugs
type: number
mapping: "$.component.measures[0].value"
consumes:
- type: http
namespace: sonarqube
baseUri: "https://sonarqube.dominos.com/api"
authentication:
type: bearer
token: "$secrets.sonarqube_token"
resources:
- name: measures
path: "/measures/component"
operations:
- name: get-measures
method: GET
Searches Splunk at Dominos.
naftiko: "0.5"
info:
label: "Splunk Log Search"
description: "Searches Splunk at Dominos."
tags:
- security
- splunk
- logging
capability:
exposes:
- type: mcp
namespace: splunk-search
port: 8080
tools:
- name: search-logs
description: "Search logs at Dominos."
inputParameters:
- name: query
in: body
type: string
description: "SPL query."
call: "splunk.search"
with:
query: "{{query}}"
outputParameters:
- name: count
type: number
mapping: "$.results.count"
consumes:
- type: http
namespace: splunk
baseUri: "https://splunk.dominos.com:8089/services"
authentication:
type: bearer
token: "$secrets.splunk_token"
resources:
- name: search
path: "/search/jobs"
operations:
- name: search
method: POST
Prepares for a health inspection by pulling temperature logs, cleaning schedules, and employee certification records, consolidating them into a compliance report.
naftiko: "0.5"
info:
label: "Store Health Inspection Prep"
description: "Prepares for a health inspection by pulling temperature logs, cleaning schedules, and employee certification records, consolidating them into a compliance report."
tags:
- food-safety
- compliance
- workday
capability:
exposes:
- type: mcp
namespace: inspection-prep
port: 8080
tools:
- name: prepare-inspection-report
description: "Generate a health inspection preparation report."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: date_range_start
in: body
type: string
description: "Start date for the review period."
- name: date_range_end
in: body
type: string
description: "End date for the review period."
steps:
- name: get-temp-logs
type: call
call: "dominos-compliance.get-temperature-history"
with:
store_id: "{{store_id}}"
start: "{{date_range_start}}"
end: "{{date_range_end}}"
- name: get-certifications
type: call
call: "workday.get-certifications"
with:
location: "{{store_id}}"
consumes:
- type: http
namespace: dominos-compliance
baseUri: "https://api.dominos.com/compliance/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: temp-history
path: "/stores/{{store_id}}/temperature-logs"
inputParameters:
- name: store_id
in: path
operations:
- name: get-temperature-history
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: certifications
path: "/locations/{{location}}/certifications"
inputParameters:
- name: location
in: path
operations:
- name: get-certifications
method: GET
Checks ingredient and supply inventory levels at a Domino's store, returning on-hand quantities, par levels, and items below reorder threshold.
naftiko: "0.5"
info:
label: "Store Inventory Check"
description: "Checks ingredient and supply inventory levels at a Domino's store, returning on-hand quantities, par levels, and items below reorder threshold."
tags:
- inventory
- store-ops
- supply-chain
capability:
exposes:
- type: mcp
namespace: store-inventory
port: 8080
tools:
- name: check-store-inventory
description: "Check ingredient and supply inventory at a store."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: category
in: body
type: string
description: "Inventory category (dough, cheese, toppings, beverages, supplies)."
call: "dominos-inventory.get-levels"
with:
store_id: "{{store_id}}"
category: "{{category}}"
consumes:
- type: http
namespace: dominos-inventory
baseUri: "https://api.dominos.com/inventory/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: inventory
path: "/stores/{{store_id}}/inventory"
inputParameters:
- name: store_id
in: path
operations:
- name: get-levels
method: GET
Finds nearby Domino's store locations based on a postal code or coordinates, returning store details, hours, and available services.
naftiko: "0.5"
info:
label: "Store Locator"
description: "Finds nearby Domino's store locations based on a postal code or coordinates, returning store details, hours, and available services."
tags:
- store-ops
- customer
- ordering
capability:
exposes:
- type: mcp
namespace: store-locator
port: 8080
tools:
- name: find-nearby-stores
description: "Find nearby Domino's stores by postal code."
inputParameters:
- name: postal_code
in: body
type: string
description: "Postal or ZIP code."
- name: service_type
in: body
type: string
description: "Service type filter (delivery, carryout, both)."
call: "dominos-stores.find-by-location"
with:
postal_code: "{{postal_code}}"
service: "{{service_type}}"
consumes:
- type: http
namespace: dominos-stores
baseUri: "https://api.dominos.com/stores/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: locations
path: "/find"
operations:
- name: find-by-location
method: GET
Generates the daily store opening checklist, pulls temperature readings, checks staffing from Workday, and posts the checklist status to Microsoft Teams.
naftiko: "0.5"
info:
label: "Store Opening Checklist"
description: "Generates the daily store opening checklist, pulls temperature readings, checks staffing from Workday, and posts the checklist status to Microsoft Teams."
tags:
- store-ops
- compliance
- workday
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: opening-checklist
port: 8080
tools:
- name: run-opening-checklist
description: "Run the daily store opening checklist."
inputParameters:
- name: store_id
in: body
type: string
description: "The Domino's store identifier."
- name: date
in: body
type: string
description: "The date in YYYY-MM-DD format."
steps:
- name: check-staffing
type: call
call: "workday.get-todays-staff"
with:
location: "{{store_id}}"
date: "{{date}}"
- name: get-temps
type: call
call: "dominos-compliance.get-latest-temps"
with:
store_id: "{{store_id}}"
- name: post-status
type: call
call: "msteams.send-message"
with:
channel_id: "store-{{store_id}}"
text: "Opening checklist {{date}}: Staff on schedule: {{check-staffing.count}}. All temps in range: {{get-temps.all_compliant}}. Store ready to open."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: daily-staff
path: "/locations/{{location}}/daily-staff"
inputParameters:
- name: location
in: path
operations:
- name: get-todays-staff
method: GET
- type: http
namespace: dominos-compliance
baseUri: "https://api.dominos.com/compliance/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: temperatures
path: "/stores/{{store_id}}/temperature-logs/latest"
inputParameters:
- name: store_id
in: path
operations:
- name: get-latest-temps
method: GET
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{channel_id}}/channels/General/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Tracks inbound supply chain deliveries from the commissary to stores, returning shipment status, ETA, and contents manifest.
naftiko: "0.5"
info:
label: "Supply Chain Delivery Tracker"
description: "Tracks inbound supply chain deliveries from the commissary to stores, returning shipment status, ETA, and contents manifest."
tags:
- supply-chain
- tracking
- logistics
capability:
exposes:
- type: mcp
namespace: supply-tracking
port: 8080
tools:
- name: track-supply-delivery
description: "Track an inbound supply delivery from commissary to store."
inputParameters:
- name: delivery_id
in: body
type: string
description: "The supply delivery identifier."
call: "dominos-supply.get-delivery"
with:
delivery_id: "{{delivery_id}}"
consumes:
- type: http
namespace: dominos-supply
baseUri: "https://api.dominos.com/supply-chain/v1"
authentication:
type: bearer
token: "$secrets.dominos_api_key"
resources:
- name: deliveries
path: "/deliveries/{{delivery_id}}"
inputParameters:
- name: delivery_id
in: path
operations:
- name: get-delivery
method: GET
Retrieves Teams activity at Dominos.
naftiko: "0.5"
info:
label: "Teams Channel Activity"
description: "Retrieves Teams activity at Dominos."
tags:
- communications
- microsoft-teams
- analytics
capability:
exposes:
- type: mcp
namespace: teams-activity
port: 8080
tools:
- name: get-activity
description: "Check Teams activity at Dominos."
inputParameters:
- name: team_id
in: body
type: string
description: "Team ID."
- name: channel_id
in: body
type: string
description: "Channel ID."
call: "teams.get-messages"
with:
team_id: "{{team_id}}"
channel_id: "{{channel_id}}"
outputParameters:
- name: count
type: number
mapping: "$.value.length"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.microsoft_graph_token"
resources:
- name: messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: get-messages
method: GET
Checks Terraform workspace at Dominos.
naftiko: "0.5"
info:
label: "Terraform Workspace Check"
description: "Checks Terraform workspace at Dominos."
tags:
- infrastructure
- terraform
- iac
capability:
exposes:
- type: mcp
namespace: tf-ws
port: 8080
tools:
- name: check-ws
description: "Check workspace at Dominos."
inputParameters:
- name: workspace_id
in: body
type: string
description: "Workspace ID."
call: "terraform.get-ws"
with:
workspace_id: "{{workspace_id}}"
outputParameters:
- name: name
type: string
mapping: "$.data.attributes.name"
consumes:
- type: http
namespace: terraform
baseUri: "https://app.terraform.io/api/v2"
authentication:
type: bearer
token: "$secrets.terraform_token"
resources:
- name: workspaces
path: "/workspaces/{{workspace_id}}"
inputParameters:
- name: workspace_id
in: path
operations:
- name: get-ws
method: GET
Checks Vault secret at Dominos.
naftiko: "0.5"
info:
label: "Vault Secret Metadata"
description: "Checks Vault secret at Dominos."
tags:
- security
- vault
- secrets-management
capability:
exposes:
- type: mcp
namespace: vault
port: 8080
tools:
- name: check-secret
description: "Check secret at Dominos."
inputParameters:
- name: path
in: body
type: string
description: "Secret path."
call: "vault.get-metadata"
with:
path: "{{path}}"
outputParameters:
- name: version
type: number
mapping: "$.data.current_version"
consumes:
- type: http
namespace: vault
baseUri: "https://vault.dominos.com/v1"
authentication:
type: bearer
token: "$secrets.vault_token"
resources:
- name: secrets
path: "/secret/metadata/{{path}}"
inputParameters:
- name: path
in: path
operations:
- name: get-metadata
method: GET
Processes invoices at Dominos via OCR, SAP matching, approval, and Oracle recording.
naftiko: "0.5"
info:
label: "Vendor Invoice Processing Pipeline"
description: "Processes invoices at Dominos via OCR, SAP matching, approval, and Oracle recording."
tags:
- finance
- accounts-payable
- sap
- oracle
capability:
exposes:
- type: mcp
namespace: invoice-proc
port: 8080
tools:
- name: process-invoice
description: "Process invoices at Dominos."
inputParameters:
- name: invoice_id
in: body
type: string
description: "Invoice ID."
- name: vendor_id
in: body
type: string
description: "Vendor ID."
steps:
- name: extract
type: call
call: "ocr.extract"
with:
doc: "{{invoice_id}}"
- name: match
type: call
call: "sap.match-po"
with:
vendor: "{{vendor_id}}"
amount: "{{extract.total}}"
- name: approve
type: call
call: "workflow.submit"
with:
invoice: "{{invoice_id}}"
- name: record
type: call
call: "oracle.create-payment"
with:
invoice: "{{invoice_id}}"
consumes:
- type: http
namespace: ocr
baseUri: "https://ocr.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.ocr_token"
resources:
- name: invoices
path: "/extract"
operations:
- name: extract
method: POST
- type: http
namespace: sap
baseUri: "https://sap.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: pos
path: "/match"
operations:
- name: match-po
method: POST
- type: http
namespace: workflow
baseUri: "https://workflow.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.workflow_token"
resources:
- name: approvals
path: "/submit"
operations:
- name: submit
method: POST
- type: http
namespace: oracle
baseUri: "https://oracle.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.oracle_token"
resources:
- name: payments
path: "/payments"
operations:
- name: create-payment
method: POST
Reviews vendors at Dominos.
naftiko: "0.5"
info:
label: "Quarterly Vendor Review Pipeline"
description: "Reviews vendors at Dominos."
tags:
- procurement
- vendor-management
- review
capability:
exposes:
- type: mcp
namespace: vendor-review
port: 8080
tools:
- name: review-vendor
description: "Review vendors at Dominos."
inputParameters:
- name: vendor_id
in: body
type: string
description: "Vendor ID."
- name: quarter
in: body
type: string
description: "Quarter."
steps:
- name: perf
type: call
call: "procurement.get-metrics"
with:
vendor: "{{vendor_id}}"
q: "{{quarter}}"
- name: scorecard
type: call
call: "analytics.scorecard"
with:
data: "{{perf.data}}"
- name: invite
type: call
call: "email.send"
with:
to: "{{perf.contact}}"
subject: "QBR - {{quarter}}"
- name: schedule
type: call
call: "calendar.create-event"
with:
title: "QBR - {{perf.name}}"
consumes:
- type: http
namespace: procurement
baseUri: "https://procurement.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.procurement_token"
resources:
- name: vendors
path: "/vendors/{{vendor}}/metrics"
inputParameters:
- name: vendor
in: path
operations:
- name: get-metrics
method: GET
- type: http
namespace: analytics
baseUri: "https://analytics.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.analytics_token"
resources:
- name: scorecards
path: "/compute"
operations:
- name: scorecard
method: POST
- type: http
namespace: email
baseUri: "https://email.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.email_token"
resources:
- name: messages
path: "/send"
operations:
- name: send
method: POST
- type: http
namespace: calendar
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.microsoft_graph_token"
resources:
- name: events
path: "/users/proc/events"
operations:
- name: create-event
method: POST
Retrieves employee profile from Workday for Dominos.
naftiko: "0.5"
info:
label: "Workday Employee Profile Lookup"
description: "Retrieves employee profile from Workday for Dominos."
tags:
- hr
- workday
- employee-directory
capability:
exposes:
- type: mcp
namespace: workday-profile
port: 8080
tools:
- name: get-employee-profile
description: "Look up Dominos employee in Workday."
inputParameters:
- name: employee_id
in: body
type: string
description: "Employee ID."
call: "workday.get-worker"
with:
employee_id: "{{employee_id}}"
outputParameters:
- name: name
type: string
mapping: "$.worker.name"
- name: title
type: string
mapping: "$.worker.title"
consumes:
- type: http
namespace: workday
baseUri: "https://wd5.dominos.com/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{employee_id}}"
inputParameters:
- name: employee_id
in: path
operations:
- name: get-worker
method: GET
Checks Zendesk ticket at Dominos.
naftiko: "0.5"
info:
label: "Zendesk Ticket Check"
description: "Checks Zendesk ticket at Dominos."
tags:
- support
- zendesk
- ticketing
capability:
exposes:
- type: mcp
namespace: zd-ticket
port: 8080
tools:
- name: check-ticket
description: "Check ticket at Dominos."
inputParameters:
- name: ticket_id
in: body
type: string
description: "Ticket ID."
call: "zendesk.get-ticket"
with:
id: "{{ticket_id}}"
outputParameters:
- name: status
type: string
mapping: "$.ticket.status"
consumes:
- type: http
namespace: zendesk
baseUri: "https://dominos.com.zendesk.com/api/v2"
authentication:
type: bearer
token: "$secrets.zendesk_token"
resources:
- name: tickets
path: "/tickets/{{id}}.json"
inputParameters:
- name: id
in: path
operations:
- name: get-ticket
method: GET