Tiffany & Co. Capabilities
Naftiko 0.5 capability definitions for Tiffany & Co. - 100 capabilities showing integration workflows and service orchestrations.
Manages annual compliance certifications by distributing attestations, tracking completion, and filing results.
naftiko: "0.5"
info:
label: "Annual Compliance Certification Orchestrator"
description: "Manages annual compliance certifications by distributing attestations, tracking completion, and filing results."
tags:
- compliance
- hr
- legal
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: run-annual-compliance-certification-orchestrator
description: "Manages annual compliance certifications by distributing attestations, tracking completion, and filing results."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Annual Compliance Certification Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation.
naftiko: "0.5"
info:
label: "API Lifecycle Management Orchestrator"
description: "Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation."
tags:
- engineering
- api
- operations
capability:
exposes:
- type: mcp
namespace: engineering
port: 8080
tools:
- name: run-api-lifecycle-management-orchestrator
description: "Manages API lifecycle by versioning, deprecating old endpoints, notifying consumers, and updating documentation."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed API Lifecycle Management Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Checks capacity and queue status at an artisan workshop.
naftiko: "0.5"
info:
label: "Artisan Workshop Capacity"
description: "Checks capacity and queue status at an artisan workshop."
tags:
- manufacturing
- operations
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: get-artisan
description: "Checks capacity and queue status at an artisan workshop."
inputParameters:
- name: entity_id
in: body
type: string
description: "The artisan workshop capacity identifier."
call: "manufacturing-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: manufacturing-api
baseUri: "https://api.tiffany-and-co.com/manufacturing/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: artisan
path: "/artisan/workshop/capacity/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-artisan
method: GET
Retrieves upcoming brand ambassador event schedule.
naftiko: "0.5"
info:
label: "Brand Ambassador Event Schedule"
description: "Retrieves upcoming brand ambassador event schedule."
tags:
- marketing
- events
capability:
exposes:
- type: mcp
namespace: marketing
port: 8080
tools:
- name: get-brand
description: "Retrieves upcoming brand ambassador event schedule."
inputParameters:
- name: entity_id
in: body
type: string
description: "The brand ambassador event schedule identifier."
call: "marketing-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: marketing-api
baseUri: "https://api.tiffany-and-co.com/marketing/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: brand
path: "/brand/ambassador/event/schedule/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-brand
method: GET
Retrieves a Confluence wiki page.
naftiko: "0.5"
info:
label: "Confluence Page Viewer"
description: "Retrieves a Confluence wiki page."
tags:
- collaboration
- confluence
capability:
exposes:
- type: mcp
namespace: collaboration
port: 8080
tools:
- name: get-confluence
description: "Retrieves a Confluence wiki page."
inputParameters:
- name: entity_id
in: body
type: string
description: "The confluence page viewer identifier."
call: "collaboration-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: collaboration-api
baseUri: "https://api.tiffany-and-co.com/collaboration/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: confluence
path: "/confluence/page/viewer/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-confluence
method: GET
Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters.
naftiko: "0.5"
info:
label: "Cross-Functional Project Kickoff Orchestrator"
description: "Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters."
tags:
- project-management
- collaboration
- operations
capability:
exposes:
- type: mcp
namespace: project-management
port: 8080
tools:
- name: run-cross-functional-project-kickoff-orchestrator
description: "Kicks off cross-functional projects by creating workspaces, scheduling meetings, and distributing project charters."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Cross-Functional Project Kickoff Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Queries customers with upcoming purchase anniversaries from Snowflake, generates personalized recommendations, creates Salesforce tasks for associates, and sends anniversary emails.
naftiko: "0.5"
info:
label: "Customer Anniversary Outreach"
description: "Queries customers with upcoming purchase anniversaries from Snowflake, generates personalized recommendations, creates Salesforce tasks for associates, and sends anniversary emails."
tags:
- crm
- marketing
- salesforce
- snowflake
- microsoft-outlook
- personalization
capability:
exposes:
- type: mcp
namespace: anniversary-outreach
port: 8080
tools:
- name: send-anniversary-outreach
description: "Identify anniversary customers and send personalized communications."
inputParameters:
- name: days_ahead
in: body
type: integer
description: "Days ahead to look for anniversaries."
steps:
- name: find-anniversaries
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT customer_id, email, name, original_product, purchase_date FROM CRM.PURCHASE_ANNIVERSARIES WHERE anniversary_date BETWEEN CURRENT_DATE AND DATEADD(day, {{days_ahead}}, CURRENT_DATE)"
- name: create-tasks
type: call
call: "salesforce.create-record"
with:
object: "Task"
Subject: "Anniversary outreach - {{find-anniversaries.row_count}} customers"
Description: "Customers with upcoming purchase anniversaries identified."
- name: send-emails
type: call
call: "outlook.send-email"
with:
to: "{{find-anniversaries.data}}"
subject: "Tiffany & Co. - Celebrating your special moment"
body: "A year ago, you chose something beautiful from Tiffany. We would love to help you celebrate again. Visit us to discover new treasures."
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Handles customer data privacy requests by locating records, processing deletions, and confirming compliance.
naftiko: "0.5"
info:
label: "Customer Data Privacy Request Handler"
description: "Handles customer data privacy requests by locating records, processing deletions, and confirming compliance."
tags:
- compliance
- privacy
- customer-service
capability:
exposes:
- type: mcp
namespace: compliance
port: 8080
tools:
- name: run-customer-data-privacy-request-handler
description: "Handles customer data privacy requests by locating records, processing deletions, and confirming compliance."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Customer Data Privacy Request Handler for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Creates a post-purchase feedback survey in Salesforce and sends the survey link to the customer via email.
naftiko: "0.5"
info:
label: "Customer Feedback Collector"
description: "Creates a post-purchase feedback survey in Salesforce and sends the survey link to the customer via email."
tags:
- customer-service
- feedback
- salesforce
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: feedback
port: 8080
tools:
- name: send-feedback-survey
description: "Create feedback survey and send to customer."
inputParameters:
- name: order_id
in: body
type: string
description: "Order ID."
- name: customer_email
in: body
type: string
description: "Customer email."
- name: sf_contact_id
in: body
type: string
description: "Salesforce contact ID."
steps:
- name: create-survey
type: call
call: "salesforce.create-record"
with:
object: "Survey__c"
Contact__c: "{{sf_contact_id}}"
Order__c: "{{order_id}}"
Status__c: "Sent"
- name: send-survey
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Tiffany & Co. - Tell us about your experience"
body: "We hope you love your purchase. Please share your feedback: {{create-survey.survey_url}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations.
naftiko: "0.5"
info:
label: "Customer Journey Mapping Orchestrator"
description: "Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations."
tags:
- customer-experience
- analytics
- product-management
capability:
exposes:
- type: mcp
namespace: customer-experience
port: 8080
tools:
- name: run-customer-journey-mapping-orchestrator
description: "Maps customer journeys by aggregating touchpoint data, identifying friction points, and generating improvement recommendations."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Customer Journey Mapping Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves a customer's loyalty points balance and tier status from the CRM. Used by store associates for clienteling.
naftiko: "0.5"
info:
label: "Customer Loyalty Points Lookup"
description: "Retrieves a customer's loyalty points balance and tier status from the CRM. Used by store associates for clienteling."
tags:
- crm
- loyalty
- salesforce
capability:
exposes:
- type: mcp
namespace: loyalty
port: 8080
tools:
- name: get-loyalty-status
description: "Retrieve loyalty points and tier for a customer."
inputParameters:
- name: contact_id
in: body
type: string
description: "Salesforce Contact ID."
call: "salesforce.get-loyalty"
with:
contact_id: "{{contact_id}}"
outputParameters:
- name: points_balance
type: integer
mapping: "$.Loyalty_Points__c"
- name: tier
type: string
mapping: "$.Loyalty_Tier__c"
- name: lifetime_spend
type: number
mapping: "$.Lifetime_Spend__c"
consumes:
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contacts
path: "/sobjects/Contact/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-loyalty
method: GET
When a new order is placed on the e-commerce platform, validates inventory in SAP, creates a fulfillment task in the warehouse system, updates Salesforce with the order, and sends a confirmation email to the customer.
naftiko: "0.5"
info:
label: "Customer Order Fulfillment Pipeline"
description: "When a new order is placed on the e-commerce platform, validates inventory in SAP, creates a fulfillment task in the warehouse system, updates Salesforce with the order, and sends a confirmation email to the customer."
tags:
- retail
- e-commerce
- sap
- salesforce
- microsoft-outlook
- order-management
capability:
exposes:
- type: mcp
namespace: order-fulfillment
port: 8080
tools:
- name: fulfill-order
description: "Orchestrate order fulfillment from inventory check through shipping and customer notification."
inputParameters:
- name: order_id
in: body
type: string
description: "E-commerce order ID."
- name: sku
in: body
type: string
description: "Product SKU."
- name: quantity
in: body
type: integer
description: "Order quantity."
- name: customer_email
in: body
type: string
description: "Customer email."
- name: sf_contact_id
in: body
type: string
description: "Salesforce contact ID."
steps:
- name: check-inventory
type: call
call: "sap.check-inventory"
with:
material_number: "{{sku}}"
plant: "TF01"
- name: create-fulfillment
type: call
call: "warehouse.create-order"
with:
order_id: "{{order_id}}"
sku: "{{sku}}"
quantity: "{{quantity}}"
- name: update-crm
type: call
call: "salesforce.create-record"
with:
object: "Order__c"
Contact__c: "{{sf_contact_id}}"
Order_Number__c: "{{order_id}}"
Status__c: "Processing"
- name: send-confirmation
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Tiffany & Co. - Order Confirmation #{{order_id}}"
body: "Thank you for your order. Your order #{{order_id}} is being prepared. We will notify you when it ships."
consumes:
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_MATERIAL_STOCK_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: stock
path: "/A_MatlStkInAcctMod"
inputParameters:
- name: $filter
in: query
operations:
- name: check-inventory
method: GET
- type: http
namespace: warehouse
baseUri: "https://api.tiffany.com/warehouse/v1"
authentication:
type: bearer
token: "$secrets.warehouse_token"
resources:
- name: orders
path: "/fulfillment-orders"
operations:
- name: create-order
method: POST
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Creates a repair request for a Tiffany product: logs the request, generates a repair order in the workshop system, and sends instructions to the customer.
naftiko: "0.5"
info:
label: "Customer Repair Request Handler"
description: "Creates a repair request for a Tiffany product: logs the request, generates a repair order in the workshop system, and sends instructions to the customer."
tags:
- retail
- repairs
- customer-service
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: repairs
port: 8080
tools:
- name: create-repair-request
description: "Create a product repair request and notify the customer."
inputParameters:
- name: customer_email
in: body
type: string
description: "Customer email."
- name: product_description
in: body
type: string
description: "Product description."
- name: issue
in: body
type: string
description: "Description of the issue."
- name: store_id
in: body
type: string
description: "Store where item was dropped off."
steps:
- name: create-order
type: call
call: "workshop.create-repair-order"
with:
product: "{{product_description}}"
issue: "{{issue}}"
store_id: "{{store_id}}"
- name: notify-customer
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Tiffany & Co. - Repair Request Received"
body: "Your repair request has been created. Reference: {{create-order.repair_id}}. Estimated completion: {{create-order.estimated_completion}}."
consumes:
- type: http
namespace: workshop
baseUri: "https://api.tiffany.com/workshop/v1"
authentication:
type: bearer
token: "$secrets.workshop_token"
resources:
- name: repairs
path: "/repair-orders"
operations:
- name: create-repair-order
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Creates a Salesforce case for a customer inquiry, assigns to the appropriate queue, and sends an acknowledgement email.
naftiko: "0.5"
info:
label: "Customer Service Case Creator"
description: "Creates a Salesforce case for a customer inquiry, assigns to the appropriate queue, and sends an acknowledgement email."
tags:
- customer-service
- salesforce
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: customer-service
port: 8080
tools:
- name: create-service-case
description: "Create a customer service case and send acknowledgement."
inputParameters:
- name: customer_email
in: body
type: string
description: "Customer email."
- name: subject
in: body
type: string
description: "Case subject."
- name: description
in: body
type: string
description: "Case description."
- name: category
in: body
type: string
description: "Case category."
steps:
- name: create-case
type: call
call: "salesforce.create-case"
with:
Subject: "{{subject}}"
Description: "{{description}}"
Origin: "Web"
Type: "{{category}}"
- name: send-ack
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Tiffany & Co. - We received your inquiry"
body: "Thank you for reaching out. Your case #{{create-case.CaseNumber}} has been created. Our team will respond within 24 hours."
consumes:
- type: http
namespace: salesforce
baseUri: "https://tiffany.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: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Retrieves a customer's wish list from the e-commerce platform and logs it in Salesforce for clienteling purposes.
naftiko: "0.5"
info:
label: "Customer Wish List Manager"
description: "Retrieves a customer's wish list from the e-commerce platform and logs it in Salesforce for clienteling purposes."
tags:
- e-commerce
- crm
- salesforce
- personalization
capability:
exposes:
- type: mcp
namespace: wish-list
port: 8080
tools:
- name: sync-wish-list
description: "Retrieve customer wish list and sync to Salesforce."
inputParameters:
- name: customer_id
in: body
type: string
description: "E-commerce customer ID."
- name: sf_contact_id
in: body
type: string
description: "Salesforce contact ID."
steps:
- name: get-wishlist
type: call
call: "ecommerce.get-wishlist"
with:
customer_id: "{{customer_id}}"
- name: update-crm
type: call
call: "salesforce.update-contact"
with:
contact_id: "{{sf_contact_id}}"
Wish_List__c: "{{get-wishlist.items}}"
consumes:
- type: http
namespace: ecommerce
baseUri: "https://api.tiffany.com/ecommerce/v1"
authentication:
type: bearer
token: "$secrets.ecommerce_token"
resources:
- name: wishlists
path: "/customers/{{customer_id}}/wishlist"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-wishlist
method: GET
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contacts
path: "/sobjects/Contact/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: update-contact
method: PATCH
Queries store foot traffic data from Snowflake and sends a daily summary to store managers via Microsoft Teams.
naftiko: "0.5"
info:
label: "Daily Store Traffic Report"
description: "Queries store foot traffic data from Snowflake and sends a daily summary to store managers via Microsoft Teams."
tags:
- retail
- analytics
- snowflake
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: store-traffic
port: 8080
tools:
- name: send-traffic-report
description: "Query store traffic data and notify managers."
inputParameters:
- name: store_id
in: body
type: string
description: "Store ID."
- name: manager_email
in: body
type: string
description: "Store manager email."
steps:
- name: query-traffic
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT hour, visitor_count, conversion_rate FROM RETAIL.STORE_TRAFFIC WHERE store_id = '{{store_id}}' AND date = CURRENT_DATE"
- name: notify-manager
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{manager_email}}"
text: "Daily traffic for store {{store_id}}: {{query-traffic.data}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports.
naftiko: "0.5"
info:
label: "Data Governance Review Orchestrator"
description: "Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports."
tags:
- data-governance
- compliance
- analytics
capability:
exposes:
- type: mcp
namespace: data-governance
port: 8080
tools:
- name: run-data-governance-review-orchestrator
description: "Reviews data governance compliance by auditing access controls, classifying data, and generating compliance reports."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Data Governance Review Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves diamond grading certificate by stone ID.
naftiko: "0.5"
info:
label: "Diamond Grading Certificate Lookup"
description: "Retrieves diamond grading certificate by stone ID."
tags:
- product-management
- quality
capability:
exposes:
- type: mcp
namespace: product-management
port: 8080
tools:
- name: get-diamond
description: "Retrieves diamond grading certificate by stone ID."
inputParameters:
- name: entity_id
in: body
type: string
description: "The diamond grading certificate lookup identifier."
call: "product-management-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: product-management-api
baseUri: "https://api.tiffany-and-co.com/product-management/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: diamond
path: "/diamond/grading/certificate/lookup/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-diamond
method: GET
Creates a marketing campaign in Salesforce Marketing Cloud, segments the audience from Snowflake, schedules email delivery, and tracks campaign metrics.
naftiko: "0.5"
info:
label: "Digital Marketing Campaign Orchestrator"
description: "Creates a marketing campaign in Salesforce Marketing Cloud, segments the audience from Snowflake, schedules email delivery, and tracks campaign metrics."
tags:
- marketing
- salesforce
- snowflake
- e-commerce
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: marketing-campaigns
port: 8080
tools:
- name: launch-marketing-campaign
description: "Create campaign, segment audience, and schedule delivery."
inputParameters:
- name: campaign_name
in: body
type: string
description: "Campaign name."
- name: collection
in: body
type: string
description: "Product collection to promote."
- name: segment_query
in: body
type: string
description: "SQL query for audience segmentation."
steps:
- name: segment-audience
type: call
call: "snowflake.execute-query"
with:
statement: "{{segment_query}}"
- name: create-campaign
type: call
call: "salesforce.create-record"
with:
object: "Campaign"
Name: "{{campaign_name}}"
Type: "Email"
Status: "Planned"
Collection__c: "{{collection}}"
- name: schedule-send
type: call
call: "marketing-cloud.schedule-email"
with:
campaign_id: "{{create-campaign.id}}"
audience: "{{segment-audience.data}}"
collection: "{{collection}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: marketing-cloud
baseUri: "https://tiffany.rest.marketingcloudapis.com"
authentication:
type: bearer
token: "$secrets.marketing_cloud_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: schedule-email
method: POST
Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks.
naftiko: "0.5"
info:
label: "Digital Transformation Progress Orchestrator"
description: "Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks."
tags:
- strategy
- analytics
- project-management
capability:
exposes:
- type: mcp
namespace: strategy
port: 8080
tools:
- name: run-digital-transformation-progress-orchestrator
description: "Tracks digital transformation progress by aggregating initiative metrics, reporting milestones, and alerting on risks."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Digital Transformation Progress Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Executes disaster recovery tests by failing over systems, validating recovery, and documenting results.
naftiko: "0.5"
info:
label: "Disaster Recovery Test Orchestrator"
description: "Executes disaster recovery tests by failing over systems, validating recovery, and documenting results."
tags:
- infrastructure
- operations
- compliance
capability:
exposes:
- type: mcp
namespace: infrastructure
port: 8080
tools:
- name: run-disaster-recovery-test-orchestrator
description: "Executes disaster recovery tests by failing over systems, validating recovery, and documenting results."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Disaster Recovery Test Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Queries abandoned carts from Snowflake, creates Salesforce follow-up tasks, and sends personalized recovery emails to customers.
naftiko: "0.5"
info:
label: "E-Commerce Abandoned Cart Recovery"
description: "Queries abandoned carts from Snowflake, creates Salesforce follow-up tasks, and sends personalized recovery emails to customers."
tags:
- e-commerce
- marketing
- snowflake
- salesforce
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: cart-recovery
port: 8080
tools:
- name: recover-abandoned-carts
description: "Identify abandoned carts and send recovery communications."
inputParameters:
- name: hours_threshold
in: body
type: integer
description: "Hours since cart was last active."
steps:
- name: find-abandoned
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT cart_id, customer_email, product_names, cart_total FROM ECOMMERCE.ABANDONED_CARTS WHERE hours_since_active >= {{hours_threshold}} AND recovery_sent = false"
- name: create-tasks
type: call
call: "salesforce.create-record"
with:
object: "Task"
Subject: "Abandoned cart recovery - {{find-abandoned.row_count}} carts"
Description: "Abandoned carts older than {{hours_threshold}} hours identified."
- name: send-recovery
type: call
call: "outlook.send-email"
with:
to: "{{find-abandoned.data}}"
subject: "Tiffany & Co. - You left something beautiful behind"
body: "We noticed you were admiring some of our pieces. Your selections are still available. Complete your purchase and enjoy the Tiffany experience."
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Validates a promotional code for an e-commerce order and returns discount details.
naftiko: "0.5"
info:
label: "E-Commerce Promo Code Validator"
description: "Validates a promotional code for an e-commerce order and returns discount details."
tags:
- e-commerce
- promotions
- retail
capability:
exposes:
- type: mcp
namespace: promotions
port: 8080
tools:
- name: validate-promo-code
description: "Validate a promotional code."
inputParameters:
- name: promo_code
in: body
type: string
description: "Promotional code."
- name: order_total
in: body
type: number
description: "Order total for validation."
call: "ecommerce.validate-promo"
with:
code: "{{promo_code}}"
total: "{{order_total}}"
outputParameters:
- name: valid
type: boolean
mapping: "$.isValid"
- name: discount_amount
type: number
mapping: "$.discountAmount"
- name: discount_type
type: string
mapping: "$.discountType"
consumes:
- type: http
namespace: ecommerce
baseUri: "https://api.tiffany.com/ecommerce/v1"
authentication:
type: bearer
token: "$secrets.ecommerce_token"
resources:
- name: promotions
path: "/promotions/validate"
operations:
- name: validate-promo
method: POST
Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews.
naftiko: "0.5"
info:
label: "Employee Offboarding Orchestrator"
description: "Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews."
tags:
- hr
- identity
- operations
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: run-employee-offboarding-orchestrator
description: "Processes employee offboarding by revoking access, returning equipment, and conducting exit interviews."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Employee Offboarding Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
When a new Tiffany employee is created in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "When a new Tiffany employee is created in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Orchestrate new employee onboarding across ServiceNow, SharePoint, and Teams."
inputParameters:
- name: workday_employee_id
in: body
type: string
description: "Workday worker ID."
- name: start_date
in: body
type: string
description: "Start date."
- name: department
in: body
type: string
description: "Department."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{workday_employee_id}}"
- name: open-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "New hire onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
description: "Onboarding for {{get-employee.full_name}} starting {{start_date}} in {{department}}."
- name: provision-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "hr_onboarding_site"
folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
- name: send-welcome
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{get-employee.work_email}}"
text: "Welcome to Tiffany & Co., {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://tiffany.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
operations:
- name: create-folder
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Processes a custom engraving request: validates the product, creates the engraving work order, updates the order timeline, and notifies the customer of the expected completion.
naftiko: "0.5"
info:
label: "Engraving Order Processor"
description: "Processes a custom engraving request: validates the product, creates the engraving work order, updates the order timeline, and notifies the customer of the expected completion."
tags:
- retail
- customization
- engraving
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: engraving
port: 8080
tools:
- name: process-engraving
description: "Create an engraving work order and notify the customer."
inputParameters:
- name: order_id
in: body
type: string
description: "Parent order ID."
- name: sku
in: body
type: string
description: "Product SKU."
- name: engraving_text
in: body
type: string
description: "Text to engrave."
- name: font
in: body
type: string
description: "Engraving font style."
- name: customer_email
in: body
type: string
description: "Customer email."
steps:
- name: create-work-order
type: call
call: "workshop.create-engraving-order"
with:
order_id: "{{order_id}}"
sku: "{{sku}}"
text: "{{engraving_text}}"
font: "{{font}}"
- name: update-order-timeline
type: call
call: "orders.update-timeline"
with:
order_id: "{{order_id}}"
estimated_completion: "{{create-work-order.estimated_completion}}"
- name: notify-customer
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Tiffany & Co. - Engraving in Progress"
body: "Your engraving order is being prepared. Text: '{{engraving_text}}'. Estimated completion: {{create-work-order.estimated_completion}}."
consumes:
- type: http
namespace: workshop
baseUri: "https://api.tiffany.com/workshop/v1"
authentication:
type: bearer
token: "$secrets.workshop_token"
resources:
- name: engraving
path: "/engraving-orders"
operations:
- name: create-engraving-order
method: POST
- type: http
namespace: orders
baseUri: "https://api.tiffany.com/orders/v1"
authentication:
type: bearer
token: "$secrets.orders_token"
resources:
- name: orders
path: "/orders/{{order_id}}/timeline"
inputParameters:
- name: order_id
in: path
operations:
- name: update-timeline
method: PATCH
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI.
naftiko: "0.5"
info:
label: "Executive Dashboard Refresh Orchestrator"
description: "Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI."
tags:
- analytics
- power-bi
- business
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: run-executive-dashboard-refresh-orchestrator
description: "Refreshes executive dashboards by pulling data from multiple sources, transforming metrics, and updating Power BI."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Executive Dashboard Refresh Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves the GIA certification details for a diamond or gemstone by certificate number, logs the verification in Snowflake, and updates the product record in SAP.
naftiko: "0.5"
info:
label: "Gemstone Certification Tracker"
description: "Retrieves the GIA certification details for a diamond or gemstone by certificate number, logs the verification in Snowflake, and updates the product record in SAP."
tags:
- supply-chain
- certification
- quality
- snowflake
- sap
capability:
exposes:
- type: mcp
namespace: certification
port: 8080
tools:
- name: verify-gemstone-cert
description: "Verify GIA gemstone certification and update product records."
inputParameters:
- name: certificate_number
in: body
type: string
description: "GIA certificate number."
- name: sku
in: body
type: string
description: "Product SKU."
steps:
- name: get-cert
type: call
call: "certification.verify-gia"
with:
certificate_number: "{{certificate_number}}"
- name: log-verification
type: call
call: "snowflake.execute-query"
with:
statement: "INSERT INTO SUPPLY_CHAIN.CERT_VERIFICATIONS (sku, cert_number, carat, clarity, color, cut, verified_date) VALUES ('{{sku}}', '{{certificate_number}}', {{get-cert.carat}}, '{{get-cert.clarity}}', '{{get-cert.color}}', '{{get-cert.cut}}', CURRENT_TIMESTAMP)"
- name: update-sap
type: call
call: "sap.update-material"
with:
material_number: "{{sku}}"
cert_number: "{{certificate_number}}"
cert_verified: "true"
consumes:
- type: http
namespace: certification
baseUri: "https://api.tiffany.com/certification/v1"
authentication:
type: bearer
token: "$secrets.certification_token"
resources:
- name: gia
path: "/gia/verify"
inputParameters:
- name: certificate_number
in: query
operations:
- name: verify-gia
method: GET
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_PRODUCT_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: materials
path: "/A_Product('{{material_number}}')"
inputParameters:
- name: material_number
in: path
operations:
- name: update-material
method: PATCH
Checks the remaining balance on a Tiffany gift card.
naftiko: "0.5"
info:
label: "Gift Card Balance Checker"
description: "Checks the remaining balance on a Tiffany gift card."
tags:
- retail
- gift-card
- e-commerce
capability:
exposes:
- type: mcp
namespace: gift-cards
port: 8080
tools:
- name: check-gift-card-balance
description: "Check gift card balance."
inputParameters:
- name: card_number
in: body
type: string
description: "Gift card number."
call: "payments.check-gift-card"
with:
card_number: "{{card_number}}"
outputParameters:
- name: balance
type: number
mapping: "$.balance"
- name: currency
type: string
mapping: "$.currency"
- name: expiration_date
type: string
mapping: "$.expirationDate"
consumes:
- type: http
namespace: payments
baseUri: "https://api.tiffany.com/payments/v1"
authentication:
type: bearer
token: "$secrets.payments_token"
resources:
- name: gift-cards
path: "/gift-cards/{{card_number}}/balance"
inputParameters:
- name: card_number
in: path
operations:
- name: check-gift-card
method: GET
Creates a new gift registry for a customer, adds selected items from the catalog, publishes to the website, and sends a share link to the customer.
naftiko: "0.5"
info:
label: "Gift Registry Creator"
description: "Creates a new gift registry for a customer, adds selected items from the catalog, publishes to the website, and sends a share link to the customer."
tags:
- retail
- e-commerce
- gift-registry
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: gift-registry
port: 8080
tools:
- name: create-gift-registry
description: "Create a gift registry, add items, and share with the customer."
inputParameters:
- name: customer_name
in: body
type: string
description: "Customer name."
- name: event_type
in: body
type: string
description: "Event type (wedding, birthday, etc.)."
- name: event_date
in: body
type: string
description: "Event date."
- name: items
in: body
type: array
description: "List of product SKUs."
- name: customer_email
in: body
type: string
description: "Customer email."
steps:
- name: create-registry
type: call
call: "registry.create"
with:
customer_name: "{{customer_name}}"
event_type: "{{event_type}}"
event_date: "{{event_date}}"
- name: add-items
type: call
call: "registry.add-items"
with:
registry_id: "{{create-registry.registry_id}}"
items: "{{items}}"
- name: send-share-link
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Tiffany & Co. - Your Gift Registry is Ready"
body: "Your {{event_type}} registry has been created. Share link: {{create-registry.share_url}}. {{add-items.item_count}} items added."
consumes:
- type: http
namespace: registry
baseUri: "https://api.tiffany.com/registry/v1"
authentication:
type: bearer
token: "$secrets.registry_token"
resources:
- name: registries
path: "/registries"
operations:
- name: create
method: POST
- name: items
path: "/registries/{{registry_id}}/items"
inputParameters:
- name: registry_id
in: path
operations:
- name: add-items
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Queries Google Analytics for website traffic metrics including page views, sessions, and bounce rate, and emails the report to the digital marketing team.
naftiko: "0.5"
info:
label: "Google Analytics Website Report"
description: "Queries Google Analytics for website traffic metrics including page views, sessions, and bounce rate, and emails the report to the digital marketing team."
tags:
- e-commerce
- analytics
- google-analytics
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: web-analytics
port: 8080
tools:
- name: generate-web-report
description: "Query website analytics and email the report."
inputParameters:
- name: date_range
in: body
type: string
description: "Report date range."
- name: team_email
in: body
type: string
description: "Digital marketing team email."
steps:
- name: get-analytics
type: call
call: "ga.get-report"
with:
date_range: "{{date_range}}"
metrics: "sessions,pageviews,bounceRate"
- name: email-report
type: call
call: "outlook.send-email"
with:
to: "{{team_email}}"
subject: "Tiffany.com Traffic Report - {{date_range}}"
body: "Sessions: {{get-analytics.sessions}}, Page views: {{get-analytics.pageviews}}, Bounce rate: {{get-analytics.bounceRate}}%."
consumes:
- type: http
namespace: ga
baseUri: "https://analyticsdata.googleapis.com/v1beta"
authentication:
type: bearer
token: "$secrets.ga_token"
resources:
- name: reports
path: "/properties/{{property_id}}:runReport"
operations:
- name: get-report
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Retrieves a file from Google Drive.
naftiko: "0.5"
info:
label: "Google Drive File Viewer"
description: "Retrieves a file from Google Drive."
tags:
- collaboration
- google-drive
capability:
exposes:
- type: mcp
namespace: collaboration
port: 8080
tools:
- name: get-google
description: "Retrieves a file from Google Drive."
inputParameters:
- name: entity_id
in: body
type: string
description: "The google drive file viewer identifier."
call: "collaboration-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: collaboration-api
baseUri: "https://api.tiffany-and-co.com/collaboration/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: google
path: "/google/drive/file/viewer/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-google
method: GET
Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests.
naftiko: "0.5"
info:
label: "Infrastructure Capacity Planning Orchestrator"
description: "Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests."
tags:
- infrastructure
- planning
- finance
capability:
exposes:
- type: mcp
namespace: infrastructure
port: 8080
tools:
- name: run-infrastructure-capacity-planning-orchestrator
description: "Plans infrastructure capacity by analyzing utilization trends, modeling growth, and generating procurement requests."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Infrastructure Capacity Planning Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Queries low-stock items from Snowflake, creates SAP purchase requisitions for replenishment, and notifies the supply chain team via Slack.
naftiko: "0.5"
info:
label: "Inventory Replenishment Pipeline"
description: "Queries low-stock items from Snowflake, creates SAP purchase requisitions for replenishment, and notifies the supply chain team via Slack."
tags:
- supply-chain
- inventory
- sap
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: replenishment
port: 8080
tools:
- name: trigger-replenishment
description: "Identify low-stock items, create purchase requisitions, and notify supply chain."
inputParameters:
- name: threshold
in: body
type: integer
description: "Minimum stock threshold."
- name: slack_channel
in: body
type: string
description: "Slack channel for notifications."
steps:
- name: find-low-stock
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT sku, product_name, current_stock, reorder_quantity FROM RETAIL.INVENTORY WHERE current_stock < {{threshold}}"
- name: create-requisitions
type: call
call: "sap.create-purchase-requisition"
with:
items: "{{find-low-stock.data}}"
- name: notify-team
type: call
call: "slack.post-message"
with:
channel: "{{slack_channel}}"
text: "Replenishment triggered for {{find-low-stock.row_count}} items below threshold of {{threshold}}. Purchase requisitions created."
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_PURCHASEREQ_PROCESS_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: requisitions
path: "/A_PurchaseRequisitionHeader"
operations:
- name: create-purchase-requisition
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams.
naftiko: "0.5"
info:
label: "IT Change Management Orchestrator"
description: "Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams."
tags:
- it
- servicenow
- operations
capability:
exposes:
- type: mcp
namespace: it
port: 8080
tools:
- name: run-it-change-management-orchestrator
description: "Manages IT changes by reviewing requests, scheduling implementation windows, and notifying affected teams."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed IT Change Management Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves a Jira issue by key. Used by IT and project teams.
naftiko: "0.5"
info:
label: "Jira Issue Viewer"
description: "Retrieves a Jira issue by key. Used by IT and project teams."
tags:
- project-management
- jira
capability:
exposes:
- type: mcp
namespace: pm-lookup
port: 8080
tools:
- name: get-jira-issue
description: "Look up a Jira issue by key."
inputParameters:
- name: issue_key
in: body
type: string
description: "Jira issue key."
call: "jira.get-issue"
with:
issue_key: "{{issue_key}}"
outputParameters:
- name: summary
type: string
mapping: "$.fields.summary"
- name: status
type: string
mapping: "$.fields.status.name"
- name: assignee
type: string
mapping: "$.fields.assignee.displayName"
consumes:
- type: http
namespace: jira
baseUri: "https://tiffany.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: issues
path: "/issue/{{issue_key}}"
inputParameters:
- name: issue_key
in: path
operations:
- name: get-issue
method: GET
Retrieves a Jira ticket by issue key.
naftiko: "0.5"
info:
label: "Jira Ticket Viewer"
description: "Retrieves a Jira ticket by issue key."
tags:
- engineering
- jira
capability:
exposes:
- type: mcp
namespace: engineering
port: 8080
tools:
- name: get-jira
description: "Retrieves a Jira ticket by issue key."
inputParameters:
- name: entity_id
in: body
type: string
description: "The jira ticket viewer identifier."
call: "engineering-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: engineering-api
baseUri: "https://api.tiffany-and-co.com/engineering/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: jira
path: "/jira/ticket/viewer/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-jira
method: GET
Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates.
naftiko: "0.5"
info:
label: "Knowledge Base Refresh Orchestrator"
description: "Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates."
tags:
- knowledge-management
- collaboration
- operations
capability:
exposes:
- type: mcp
namespace: knowledge-management
port: 8080
tools:
- name: run-knowledge-base-refresh-orchestrator
description: "Refreshes the knowledge base by identifying outdated articles, routing for review, and publishing updates."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Knowledge Base Refresh Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Creates a special luxury packaging request for a high-value order, assigns to the packaging team, and updates the order status.
naftiko: "0.5"
info:
label: "Luxury Packaging Request"
description: "Creates a special luxury packaging request for a high-value order, assigns to the packaging team, and updates the order status."
tags:
- retail
- customization
- packaging
capability:
exposes:
- type: mcp
namespace: luxury-packaging
port: 8080
tools:
- name: request-luxury-packaging
description: "Create luxury packaging request for a high-value order."
inputParameters:
- name: order_id
in: body
type: string
description: "Order ID."
- name: packaging_type
in: body
type: string
description: "Packaging type (signature-blue, gift-wrap, presentation-box)."
- name: gift_message
in: body
type: string
description: "Optional gift message."
steps:
- name: create-request
type: call
call: "warehouse.create-packaging-request"
with:
order_id: "{{order_id}}"
type: "{{packaging_type}}"
message: "{{gift_message}}"
- name: update-order
type: call
call: "orders.update-timeline"
with:
order_id: "{{order_id}}"
packaging_status: "{{create-request.status}}"
consumes:
- type: http
namespace: warehouse
baseUri: "https://api.tiffany.com/warehouse/v1"
authentication:
type: bearer
token: "$secrets.warehouse_token"
resources:
- name: packaging
path: "/packaging-requests"
operations:
- name: create-packaging-request
method: POST
- type: http
namespace: orders
baseUri: "https://api.tiffany.com/orders/v1"
authentication:
type: bearer
token: "$secrets.orders_token"
resources:
- name: orders
path: "/orders/{{order_id}}/timeline"
inputParameters:
- name: order_id
in: path
operations:
- name: update-timeline
method: PATCH
Orchestrates luxury retail workflow 1 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 1"
description: "Orchestrates luxury retail workflow 1 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-001
description: "Orchestrates luxury retail workflow 1 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 1 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates luxury retail workflow 2 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 2"
description: "Orchestrates luxury retail workflow 2 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-002
description: "Orchestrates luxury retail workflow 2 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 2 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves luxury retail operational data for workflow 3.
naftiko: "0.5"
info:
label: "Luxury Retail Data Query 3"
description: "Retrieves luxury retail operational data for workflow 3."
tags:
- luxury
- operations
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: get-data-3
description: "Query luxury retail data for workflow 3."
inputParameters:
- name: entity_id
in: body
type: string
description: "The entity identifier."
call: "luxury-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: luxury-api
baseUri: "https://api.tiffany-and-co.com/luxury-retail/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: data
path: "/data/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-data-3
method: GET
Orchestrates luxury retail workflow 4 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 4"
description: "Orchestrates luxury retail workflow 4 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-004
description: "Orchestrates luxury retail workflow 4 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 4 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates luxury retail workflow 5 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 5"
description: "Orchestrates luxury retail workflow 5 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-005
description: "Orchestrates luxury retail workflow 5 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 5 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves luxury retail operational data for workflow 6.
naftiko: "0.5"
info:
label: "Luxury Retail Data Query 6"
description: "Retrieves luxury retail operational data for workflow 6."
tags:
- luxury
- operations
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: get-data-6
description: "Query luxury retail data for workflow 6."
inputParameters:
- name: entity_id
in: body
type: string
description: "The entity identifier."
call: "luxury-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: luxury-api
baseUri: "https://api.tiffany-and-co.com/luxury-retail/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: data
path: "/data/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-data-6
method: GET
Orchestrates luxury retail workflow 7 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 7"
description: "Orchestrates luxury retail workflow 7 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-007
description: "Orchestrates luxury retail workflow 7 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 7 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates luxury retail workflow 8 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 8"
description: "Orchestrates luxury retail workflow 8 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-008
description: "Orchestrates luxury retail workflow 8 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 8 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves luxury retail operational data for workflow 9.
naftiko: "0.5"
info:
label: "Luxury Retail Data Query 9"
description: "Retrieves luxury retail operational data for workflow 9."
tags:
- luxury
- operations
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: get-data-9
description: "Query luxury retail data for workflow 9."
inputParameters:
- name: entity_id
in: body
type: string
description: "The entity identifier."
call: "luxury-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: luxury-api
baseUri: "https://api.tiffany-and-co.com/luxury-retail/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: data
path: "/data/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-data-9
method: GET
Orchestrates luxury retail workflow 10 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 10"
description: "Orchestrates luxury retail workflow 10 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-010
description: "Orchestrates luxury retail workflow 10 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 10 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates luxury retail workflow 11 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 11"
description: "Orchestrates luxury retail workflow 11 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-011
description: "Orchestrates luxury retail workflow 11 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 11 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves luxury retail operational data for workflow 12.
naftiko: "0.5"
info:
label: "Luxury Retail Data Query 12"
description: "Retrieves luxury retail operational data for workflow 12."
tags:
- luxury
- operations
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: get-data-12
description: "Query luxury retail data for workflow 12."
inputParameters:
- name: entity_id
in: body
type: string
description: "The entity identifier."
call: "luxury-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: luxury-api
baseUri: "https://api.tiffany-and-co.com/luxury-retail/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: data
path: "/data/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-data-12
method: GET
Orchestrates luxury retail workflow 13 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 13"
description: "Orchestrates luxury retail workflow 13 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-013
description: "Orchestrates luxury retail workflow 13 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 13 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Orchestrates luxury retail workflow 14 by coordinating across systems, validating data, and sending notifications.
naftiko: "0.5"
info:
label: "Luxury Retail Workflow 14"
description: "Orchestrates luxury retail workflow 14 by coordinating across systems, validating data, and sending notifications."
tags:
- luxury
- operations
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: run-luxury-retail-workflow-014
description: "Orchestrates luxury retail workflow 14 by coordinating across systems, validating data, and sending notifications."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Luxury Retail Workflow 14 for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves luxury retail operational data for workflow 15.
naftiko: "0.5"
info:
label: "Luxury Retail Data Query 15"
description: "Retrieves luxury retail operational data for workflow 15."
tags:
- luxury
- operations
capability:
exposes:
- type: mcp
namespace: luxury
port: 8080
tools:
- name: get-data-15
description: "Query luxury retail data for workflow 15."
inputParameters:
- name: entity_id
in: body
type: string
description: "The entity identifier."
call: "luxury-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: luxury-api
baseUri: "https://api.tiffany-and-co.com/luxury-retail/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: data
path: "/data/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-data-15
method: GET
Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports.
naftiko: "0.5"
info:
label: "Marketing Campaign Performance Orchestrator"
description: "Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports."
tags:
- marketing
- analytics
- finance
capability:
exposes:
- type: mcp
namespace: marketing
port: 8080
tools:
- name: run-marketing-campaign-performance-orchestrator
description: "Evaluates marketing campaign performance by aggregating metrics across channels and generating ROI reports."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Marketing Campaign Performance Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Sends an email via Microsoft Outlook. Used for customer and internal notifications.
naftiko: "0.5"
info:
label: "Microsoft Outlook Email Sender"
description: "Sends an email via Microsoft Outlook. Used for customer and internal notifications."
tags:
- notification
- microsoft-outlook
- email
capability:
exposes:
- type: mcp
namespace: email-sender
port: 8080
tools:
- name: send-email
description: "Send an email via Outlook."
inputParameters:
- name: to
in: body
type: string
description: "Recipient."
- name: subject
in: body
type: string
description: "Subject."
- name: body
in: body
type: string
description: "Body."
call: "outlook.send-email"
with:
to: "{{to}}"
subject: "{{subject}}"
body: "{{body}}"
outputParameters:
- name: message_id
type: string
mapping: "$.id"
consumes:
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Sends a message to a Microsoft Teams channel.
naftiko: "0.5"
info:
label: "Microsoft Teams Message Sender"
description: "Sends a message to a Microsoft Teams channel."
tags:
- communications
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: communications
port: 8080
tools:
- name: get-microsoft
description: "Sends a message to a Microsoft Teams channel."
inputParameters:
- name: entity_id
in: body
type: string
description: "The microsoft teams message sender identifier."
call: "communications-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: communications-api
baseUri: "https://api.tiffany-and-co.com/communications/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: microsoft
path: "/microsoft/teams/message/sender/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-microsoft
method: GET
Retrieves the current status of a customer order including processing state, shipping details, and estimated delivery.
naftiko: "0.5"
info:
label: "Order Status Lookup"
description: "Retrieves the current status of a customer order including processing state, shipping details, and estimated delivery."
tags:
- retail
- e-commerce
- order-management
capability:
exposes:
- type: mcp
namespace: order-inquiry
port: 8080
tools:
- name: get-order-status
description: "Look up current order status by order ID."
inputParameters:
- name: order_id
in: body
type: string
description: "Order ID."
call: "orders.get-order"
with:
order_id: "{{order_id}}"
outputParameters:
- name: status
type: string
mapping: "$.status"
- name: tracking_number
type: string
mapping: "$.trackingNumber"
- name: estimated_delivery
type: string
mapping: "$.estimatedDelivery"
- name: total_amount
type: number
mapping: "$.totalAmount"
consumes:
- type: http
namespace: orders
baseUri: "https://api.tiffany.com/orders/v1"
authentication:
type: bearer
token: "$secrets.orders_token"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order
method: GET
Triggers a Power BI dataset refresh.
naftiko: "0.5"
info:
label: "Power BI Dashboard Refresher"
description: "Triggers a Power BI dataset refresh."
tags:
- analytics
- power-bi
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: get-power
description: "Triggers a Power BI dataset refresh."
inputParameters:
- name: entity_id
in: body
type: string
description: "The power bi dashboard refresher identifier."
call: "analytics-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: analytics-api
baseUri: "https://api.tiffany-and-co.com/analytics/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: power
path: "/power/bi/dashboard/refresher/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-power
method: GET
Triggers a refresh on a Power BI dataset. Used to keep dashboards current.
naftiko: "0.5"
info:
label: "Power BI Dataset Refresher"
description: "Triggers a refresh on a Power BI dataset. Used to keep dashboards current."
tags:
- analytics
- power-bi
- reporting
capability:
exposes:
- type: mcp
namespace: bi-refresh
port: 8080
tools:
- name: refresh-pbi-dataset
description: "Trigger a Power BI dataset refresh."
inputParameters:
- name: dataset_id
in: body
type: string
description: "Power BI dataset ID."
call: "powerbi.refresh-dataset"
with:
dataset_id: "{{dataset_id}}"
outputParameters:
- name: request_id
type: string
mapping: "$.requestId"
consumes:
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: dataset_id
in: path
operations:
- name: refresh-dataset
method: POST
Retrieves current spot prices for precious metals (gold, silver, platinum) from the commodity pricing service. Used by procurement and pricing teams.
naftiko: "0.5"
info:
label: "Precious Metal Price Lookup"
description: "Retrieves current spot prices for precious metals (gold, silver, platinum) from the commodity pricing service. Used by procurement and pricing teams."
tags:
- supply-chain
- pricing
- commodities
capability:
exposes:
- type: mcp
namespace: commodity-prices
port: 8080
tools:
- name: get-metal-price
description: "Look up current spot price for a precious metal."
inputParameters:
- name: metal
in: body
type: string
description: "Metal type (gold, silver, platinum)."
- name: currency
in: body
type: string
description: "Currency code."
call: "pricing.get-spot-price"
with:
metal: "{{metal}}"
currency: "{{currency}}"
outputParameters:
- name: spot_price
type: number
mapping: "$.spotPrice"
- name: unit
type: string
mapping: "$.unit"
- name: timestamp
type: string
mapping: "$.timestamp"
consumes:
- type: http
namespace: pricing
baseUri: "https://api.tiffany.com/pricing/v1"
authentication:
type: bearer
token: "$secrets.pricing_token"
resources:
- name: spot-prices
path: "/metals/spot"
inputParameters:
- name: metal
in: query
- name: currency
in: query
operations:
- name: get-spot-price
method: GET
Retrieves current precious metal spot prices.
naftiko: "0.5"
info:
label: "Precious Metal Spot Price"
description: "Retrieves current precious metal spot prices."
tags:
- pricing
- finance
capability:
exposes:
- type: mcp
namespace: pricing
port: 8080
tools:
- name: get-precious
description: "Retrieves current precious metal spot prices."
inputParameters:
- name: entity_id
in: body
type: string
description: "The precious metal spot price identifier."
call: "pricing-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: pricing-api
baseUri: "https://api.tiffany-and-co.com/pricing/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: precious
path: "/precious/metal/spot/price/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-precious
method: GET
Retrieves current pricing for a product by SKU and market from the pricing service.
naftiko: "0.5"
info:
label: "Price List Viewer"
description: "Retrieves current pricing for a product by SKU and market from the pricing service."
tags:
- retail
- pricing
- product-catalog
capability:
exposes:
- type: mcp
namespace: pricing
port: 8080
tools:
- name: get-product-price
description: "Retrieve current pricing for a product by market."
inputParameters:
- name: sku
in: body
type: string
description: "Product SKU."
- name: market
in: body
type: string
description: "Market code (US, EU, APAC)."
call: "pricing.get-price"
with:
sku: "{{sku}}"
market: "{{market}}"
outputParameters:
- name: retail_price
type: number
mapping: "$.retailPrice"
- name: currency
type: string
mapping: "$.currency"
- name: effective_date
type: string
mapping: "$.effectiveDate"
consumes:
- type: http
namespace: pricing
baseUri: "https://api.tiffany.com/pricing/v1"
authentication:
type: bearer
token: "$secrets.pricing_token"
resources:
- name: prices
path: "/products/{{sku}}/price"
inputParameters:
- name: sku
in: path
- name: market
in: query
operations:
- name: get-price
method: GET
Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports.
naftiko: "0.5"
info:
label: "Procurement Spend Analysis Orchestrator"
description: "Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports."
tags:
- procurement
- analytics
- finance
capability:
exposes:
- type: mcp
namespace: procurement
port: 8080
tools:
- name: run-procurement-spend-analysis-orchestrator
description: "Analyzes procurement spend by categorizing purchases, identifying savings opportunities, and generating reports."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Procurement Spend Analysis Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Retrieves product details from the product catalog including name, description, price, and available collections. Used by store associates and the e-commerce platform.
naftiko: "0.5"
info:
label: "Product Catalog Viewer"
description: "Retrieves product details from the product catalog including name, description, price, and available collections. Used by store associates and the e-commerce platform."
tags:
- retail
- product-catalog
- e-commerce
capability:
exposes:
- type: mcp
namespace: product-catalog
port: 8080
tools:
- name: get-product
description: "Retrieve product details by SKU."
inputParameters:
- name: sku
in: body
type: string
description: "Product SKU."
call: "catalog.get-product"
with:
sku: "{{sku}}"
outputParameters:
- name: name
type: string
mapping: "$.productName"
- name: description
type: string
mapping: "$.description"
- name: price
type: number
mapping: "$.retailPrice"
- name: collection
type: string
mapping: "$.collectionName"
- name: material
type: string
mapping: "$.material"
consumes:
- type: http
namespace: catalog
baseUri: "https://api.tiffany.com/catalog/v1"
authentication:
type: bearer
token: "$secrets.catalog_token"
resources:
- name: products
path: "/products/{{sku}}"
inputParameters:
- name: sku
in: path
operations:
- name: get-product
method: GET
Lists products in a specific Tiffany collection with names, prices, and availability.
naftiko: "0.5"
info:
label: "Product Collection Browser"
description: "Lists products in a specific Tiffany collection with names, prices, and availability."
tags:
- retail
- product-catalog
- collections
capability:
exposes:
- type: mcp
namespace: collection-browser
port: 8080
tools:
- name: browse-collection
description: "List products in a collection."
inputParameters:
- name: collection_name
in: body
type: string
description: "Collection name."
call: "catalog.get-collection"
with:
collection: "{{collection_name}}"
outputParameters:
- name: products
type: array
mapping: "$.products"
- name: count
type: integer
mapping: "$.totalCount"
consumes:
- type: http
namespace: catalog
baseUri: "https://api.tiffany.com/catalog/v1"
authentication:
type: bearer
token: "$secrets.catalog_token"
resources:
- name: collections
path: "/collections/{{collection}}/products"
inputParameters:
- name: collection
in: path
operations:
- name: get-collection
method: GET
Checks the current inventory level for a product SKU across all locations in SAP. Used by store associates and e-commerce teams.
naftiko: "0.5"
info:
label: "Product Inventory Lookup"
description: "Checks the current inventory level for a product SKU across all locations in SAP. Used by store associates and e-commerce teams."
tags:
- retail
- inventory
- sap
capability:
exposes:
- type: mcp
namespace: inventory-inquiry
port: 8080
tools:
- name: check-inventory
description: "Look up current inventory for a product SKU across locations."
inputParameters:
- name: sku
in: body
type: string
description: "Product SKU."
call: "sap.get-stock"
with:
material_number: "{{sku}}"
outputParameters:
- name: total_stock
type: integer
mapping: "$.totalStock"
- name: available
type: integer
mapping: "$.availableStock"
- name: locations
type: array
mapping: "$.stockByLocation"
consumes:
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_MATERIAL_STOCK_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: stock
path: "/A_MatlStkInAcctMod"
inputParameters:
- name: $filter
in: query
operations:
- name: get-stock
method: GET
Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders.
naftiko: "0.5"
info:
label: "Quarterly Business Review Orchestrator"
description: "Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders."
tags:
- analytics
- business
- sharepoint
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: run-quarterly-business-review-orchestrator
description: "Generates quarterly business reviews by aggregating KPIs from multiple systems, creating presentations, and distributing to stakeholders."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Quarterly Business Review Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Queries supplier compliance data from Snowflake for Kimberley Process and Responsible Jewellery Council certifications, generates an audit report, and uploads to SharePoint.
naftiko: "0.5"
info:
label: "Responsible Sourcing Compliance Tracker"
description: "Queries supplier compliance data from Snowflake for Kimberley Process and Responsible Jewellery Council certifications, generates an audit report, and uploads to SharePoint."
tags:
- supply-chain
- compliance
- sustainability
- snowflake
- sharepoint
capability:
exposes:
- type: mcp
namespace: responsible-sourcing
port: 8080
tools:
- name: generate-sourcing-report
description: "Generate responsible sourcing compliance report."
inputParameters:
- name: report_period
in: body
type: string
description: "Reporting period."
- name: sharepoint_site
in: body
type: string
description: "SharePoint site ID."
steps:
- name: query-compliance
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT supplier_id, supplier_name, kp_certified, rjc_certified, last_audit_date, compliance_status FROM SUPPLY_CHAIN.SUPPLIER_COMPLIANCE WHERE report_period = '{{report_period}}'"
- name: upload-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "{{sharepoint_site}}"
folder_path: "ResponsibleSourcing"
file_name: "sourcing_compliance_{{report_period}}.json"
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
Processes a customer return: validates the original order, creates a return authorization, updates inventory in SAP, refunds through the payment gateway, and sends confirmation to the customer.
naftiko: "0.5"
info:
label: "Return and Exchange Processor"
description: "Processes a customer return: validates the original order, creates a return authorization, updates inventory in SAP, refunds through the payment gateway, and sends confirmation to the customer."
tags:
- retail
- returns
- sap
- payments
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: returns
port: 8080
tools:
- name: process-return
description: "Process a product return from authorization through refund and notification."
inputParameters:
- name: order_id
in: body
type: string
description: "Original order ID."
- name: sku
in: body
type: string
description: "Product SKU being returned."
- name: reason
in: body
type: string
description: "Return reason."
- name: customer_email
in: body
type: string
description: "Customer email."
steps:
- name: validate-order
type: call
call: "orders.get-order"
with:
order_id: "{{order_id}}"
- name: create-rma
type: call
call: "orders.create-return"
with:
order_id: "{{order_id}}"
sku: "{{sku}}"
reason: "{{reason}}"
- name: update-inventory
type: call
call: "sap.post-goods-receipt"
with:
material_number: "{{sku}}"
quantity: "1"
movement_type: "651"
- name: process-refund
type: call
call: "payments.process-refund"
with:
order_id: "{{order_id}}"
amount: "{{validate-order.total_amount}}"
- name: send-confirmation
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Tiffany & Co. - Return Confirmation"
body: "Your return for order #{{order_id}} has been processed. RMA: {{create-rma.rma_number}}. Refund of ${{validate-order.total_amount}} will be processed within 5-7 business days."
consumes:
- type: http
namespace: orders
baseUri: "https://api.tiffany.com/orders/v1"
authentication:
type: bearer
token: "$secrets.orders_token"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order
method: GET
- name: returns
path: "/returns"
operations:
- name: create-return
method: POST
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_MATERIAL_DOCUMENT_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: goods-receipt
path: "/A_MaterialDocumentHeader"
operations:
- name: post-goods-receipt
method: POST
- type: http
namespace: payments
baseUri: "https://api.tiffany.com/payments/v1"
authentication:
type: bearer
token: "$secrets.payments_token"
resources:
- name: refunds
path: "/refunds"
operations:
- name: process-refund
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Retrieves a Salesforce account by account ID.
naftiko: "0.5"
info:
label: "Salesforce Account Viewer"
description: "Retrieves a Salesforce account by account ID."
tags:
- sales
- salesforce
capability:
exposes:
- type: mcp
namespace: sales
port: 8080
tools:
- name: get-salesforce
description: "Retrieves a Salesforce account by account ID."
inputParameters:
- name: entity_id
in: body
type: string
description: "The salesforce account viewer identifier."
call: "sales-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: sales-api
baseUri: "https://api.tiffany-and-co.com/sales/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: salesforce
path: "/salesforce/account/viewer/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-salesforce
method: GET
Retrieves a Salesforce marketing campaign by ID with status, budget, and response metrics.
naftiko: "0.5"
info:
label: "Salesforce Campaign Viewer"
description: "Retrieves a Salesforce marketing campaign by ID with status, budget, and response metrics."
tags:
- marketing
- salesforce
capability:
exposes:
- type: mcp
namespace: campaign-viewer
port: 8080
tools:
- name: get-campaign
description: "Retrieve a Salesforce campaign by ID."
inputParameters:
- name: campaign_id
in: body
type: string
description: "Salesforce Campaign ID."
call: "salesforce.get-campaign"
with:
campaign_id: "{{campaign_id}}"
outputParameters:
- name: name
type: string
mapping: "$.Name"
- name: status
type: string
mapping: "$.Status"
- name: budget
type: number
mapping: "$.BudgetedCost"
consumes:
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: campaigns
path: "/sobjects/Campaign/{{campaign_id}}"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-campaign
method: GET
Retrieves a Salesforce contact record by ID. Used by store associates and customer service.
naftiko: "0.5"
info:
label: "Salesforce Contact Viewer"
description: "Retrieves a Salesforce contact record by ID. Used by store associates and customer service."
tags:
- crm
- salesforce
capability:
exposes:
- type: mcp
namespace: crm-viewer
port: 8080
tools:
- name: get-contact
description: "Retrieve a Salesforce contact by ID."
inputParameters:
- name: contact_id
in: body
type: string
description: "Salesforce Contact ID."
call: "salesforce.get-contact"
with:
contact_id: "{{contact_id}}"
outputParameters:
- name: name
type: string
mapping: "$.Name"
- name: email
type: string
mapping: "$.Email"
- name: phone
type: string
mapping: "$.Phone"
- name: lifetime_spend
type: number
mapping: "$.Lifetime_Spend__c"
consumes:
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contacts
path: "/sobjects/Contact/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-contact
method: GET
Retrieves material master data from SAP by material number including description, weight, and material group.
naftiko: "0.5"
info:
label: "SAP Material Master Viewer"
description: "Retrieves material master data from SAP by material number including description, weight, and material group."
tags:
- supply-chain
- sap
- product-data
capability:
exposes:
- type: mcp
namespace: material-master
port: 8080
tools:
- name: get-material
description: "Retrieve SAP material master data."
inputParameters:
- name: material_number
in: body
type: string
description: "SAP material number."
call: "sap.get-material"
with:
material_number: "{{material_number}}"
outputParameters:
- name: description
type: string
mapping: "$.d.MaterialDescription"
- name: material_group
type: string
mapping: "$.d.MaterialGroup"
- name: weight
type: number
mapping: "$.d.GrossWeight"
consumes:
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_PRODUCT_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: products
path: "/A_Product('{{material_number}}')"
inputParameters:
- name: material_number
in: path
operations:
- name: get-material
method: GET
Looks up a SAP purchase order by number and returns status, vendor, and value. Used by procurement.
naftiko: "0.5"
info:
label: "SAP Purchase Order Status"
description: "Looks up a SAP purchase order by number and returns status, vendor, and value. Used by procurement."
tags:
- supply-chain
- sap
- procurement
capability:
exposes:
- type: mcp
namespace: po-inquiry
port: 8080
tools:
- name: get-purchase-order
description: "Look up SAP purchase order by number."
inputParameters:
- name: po_number
in: body
type: string
description: "SAP purchase order number."
call: "sap.get-po"
with:
po_number: "{{po_number}}"
outputParameters:
- name: status
type: string
mapping: "$.d.OverallStatus"
- name: vendor
type: string
mapping: "$.d.Supplier.CompanyName"
- name: total_value
type: string
mapping: "$.d.TotalAmount"
consumes:
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/MM_PUR_PO_MAINT_V2_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: purchase-orders
path: "/A_PurchaseOrder('{{po_number}}')"
inputParameters:
- name: po_number
in: path
operations:
- name: get-po
method: GET
Retrieves the list of active vendors from SAP filtered by material group. Used by procurement.
naftiko: "0.5"
info:
label: "SAP Vendor List Viewer"
description: "Retrieves the list of active vendors from SAP filtered by material group. Used by procurement."
tags:
- supply-chain
- sap
- procurement
capability:
exposes:
- type: mcp
namespace: vendor-list
port: 8080
tools:
- name: list-vendors
description: "List active vendors from SAP."
inputParameters:
- name: material_group
in: body
type: string
description: "Material group filter."
call: "sap.list-vendors"
with:
material_group: "{{material_group}}"
outputParameters:
- name: vendors
type: array
mapping: "$.d.results"
- name: count
type: integer
mapping: "$.d.__count"
consumes:
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_BUSINESS_PARTNER"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: vendors
path: "/A_Supplier"
inputParameters:
- name: $filter
in: query
operations:
- name: list-vendors
method: GET
Orchestrates a new collection launch: updates the product catalog, creates marketing assets in Salesforce, publishes to the e-commerce platform, and announces to store teams via Microsoft Teams.
naftiko: "0.5"
info:
label: "Seasonal Collection Launch Pipeline"
description: "Orchestrates a new collection launch: updates the product catalog, creates marketing assets in Salesforce, publishes to the e-commerce platform, and announces to store teams via Microsoft Teams."
tags:
- retail
- e-commerce
- salesforce
- microsoft-teams
- product-catalog
capability:
exposes:
- type: mcp
namespace: collection-launch
port: 8080
tools:
- name: launch-collection
description: "Orchestrate a new collection launch across catalog, marketing, e-commerce, and stores."
inputParameters:
- name: collection_name
in: body
type: string
description: "Collection name."
- name: launch_date
in: body
type: string
description: "Launch date."
- name: product_skus
in: body
type: array
description: "List of product SKUs in the collection."
- name: teams_webhook
in: body
type: string
description: "Teams webhook for store announcements."
steps:
- name: update-catalog
type: call
call: "catalog.publish-collection"
with:
collection_name: "{{collection_name}}"
skus: "{{product_skus}}"
launch_date: "{{launch_date}}"
- name: create-campaign
type: call
call: "salesforce.create-record"
with:
object: "Campaign"
Name: "{{collection_name}} Launch"
Type: "Product Launch"
StartDate: "{{launch_date}}"
- name: announce-stores
type: call
call: "msteams.send-message"
with:
webhook_url: "{{teams_webhook}}"
text: "New collection '{{collection_name}}' launching {{launch_date}}. {{update-catalog.product_count}} pieces. Prepare store displays."
consumes:
- type: http
namespace: catalog
baseUri: "https://api.tiffany.com/catalog/v1"
authentication:
type: bearer
token: "$secrets.catalog_token"
resources:
- name: collections
path: "/collections"
operations:
- name: publish-collection
method: POST
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: msteams
baseUri: "{{webhook_url}}"
authentication:
type: none
resources:
- name: webhook
path: ""
operations:
- name: send-message
method: POST
Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation.
naftiko: "0.5"
info:
label: "Security Audit Orchestrator"
description: "Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation."
tags:
- security
- servicenow
- compliance
capability:
exposes:
- type: mcp
namespace: security
port: 8080
tools:
- name: run-security-audit-orchestrator
description: "Conducts security audits by scanning systems, documenting findings in ServiceNow, and tracking remediation."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Security Audit Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Creates a new incident in ServiceNow.
naftiko: "0.5"
info:
label: "ServiceNow Incident Creator"
description: "Creates a new incident in ServiceNow."
tags:
- it
- servicenow
capability:
exposes:
- type: mcp
namespace: it
port: 8080
tools:
- name: get-servicenow
description: "Creates a new incident in ServiceNow."
inputParameters:
- name: entity_id
in: body
type: string
description: "The servicenow incident creator identifier."
call: "it-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: it-api
baseUri: "https://api.tiffany-and-co.com/it/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: servicenow
path: "/servicenow/incident/creator/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-servicenow
method: GET
Retrieves a ServiceNow incident by number. Used by IT and operations.
naftiko: "0.5"
info:
label: "ServiceNow Incident Viewer"
description: "Retrieves a ServiceNow incident by number. Used by IT and operations."
tags:
- incident-management
- servicenow
capability:
exposes:
- type: mcp
namespace: incident-lookup
port: 8080
tools:
- name: get-incident
description: "Look up a ServiceNow incident by number."
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: short_description
type: string
mapping: "$.result.short_description"
- name: assigned_to
type: string
mapping: "$.result.assigned_to.display_value"
consumes:
- type: http
namespace: servicenow
baseUri: "https://tiffany.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
inputParameters:
- name: sysparm_query
in: query
operations:
- name: get-incident
method: GET
Uploads a file to SharePoint. Used for report and document archival.
naftiko: "0.5"
info:
label: "SharePoint File Uploader"
description: "Uploads a file to SharePoint. Used for report and document archival."
tags:
- document-management
- sharepoint
capability:
exposes:
- type: mcp
namespace: doc-upload
port: 8080
tools:
- name: upload-to-sharepoint
description: "Upload a file to SharePoint."
inputParameters:
- name: site_id
in: body
type: string
description: "SharePoint site ID."
- name: folder_path
in: body
type: string
description: "Folder path."
- name: file_name
in: body
type: string
description: "File name."
call: "sharepoint.upload-file"
with:
site_id: "{{site_id}}"
folder_path: "{{folder_path}}"
file_name: "{{file_name}}"
outputParameters:
- name: web_url
type: string
mapping: "$.webUrl"
consumes:
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
Sends a notification to a Slack channel.
naftiko: "0.5"
info:
label: "Slack Notification Publisher"
description: "Sends a notification to a Slack channel."
tags:
- communications
- slack
capability:
exposes:
- type: mcp
namespace: communications
port: 8080
tools:
- name: get-slack
description: "Sends a notification to a Slack channel."
inputParameters:
- name: entity_id
in: body
type: string
description: "The slack notification publisher identifier."
call: "communications-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: communications-api
baseUri: "https://api.tiffany-and-co.com/communications/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: slack
path: "/slack/notification/publisher/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-slack
method: GET
Sends a message to a Slack channel. Used across Tiffany operations for alerts.
naftiko: "0.5"
info:
label: "Slack Notification Sender"
description: "Sends a message to a Slack channel. Used across Tiffany operations for alerts."
tags:
- notification
- slack
- messaging
capability:
exposes:
- type: mcp
namespace: notifications
port: 8080
tools:
- name: send-slack-message
description: "Send a message to a Slack channel."
inputParameters:
- name: channel
in: body
type: string
description: "Slack channel."
- name: text
in: body
type: string
description: "Message text."
call: "slack.post-message"
with:
channel: "{{channel}}"
text: "{{text}}"
outputParameters:
- name: ts
type: string
mapping: "$.ts"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Runs an analytics query against the Snowflake data warehouse.
naftiko: "0.5"
info:
label: "Snowflake Analytics Query"
description: "Runs an analytics query against the Snowflake data warehouse."
tags:
- analytics
- snowflake
capability:
exposes:
- type: mcp
namespace: analytics
port: 8080
tools:
- name: get-snowflake
description: "Runs an analytics query against the Snowflake data warehouse."
inputParameters:
- name: entity_id
in: body
type: string
description: "The snowflake analytics query identifier."
call: "analytics-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: analytics-api
baseUri: "https://api.tiffany-and-co.com/analytics/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: snowflake
path: "/snowflake/analytics/query/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-snowflake
method: GET
Executes a SQL query against Tiffany's Snowflake data warehouse and returns results.
naftiko: "0.5"
info:
label: "Snowflake Query Runner"
description: "Executes a SQL query against Tiffany's Snowflake data warehouse and returns results."
tags:
- analytics
- snowflake
capability:
exposes:
- type: mcp
namespace: data-query
port: 8080
tools:
- name: run-snowflake-query
description: "Execute a SQL query on Snowflake and return results."
inputParameters:
- name: statement
in: body
type: string
description: "SQL statement."
call: "snowflake.execute-query"
with:
statement: "{{statement}}"
outputParameters:
- name: data
type: array
mapping: "$.data"
- name: row_count
type: integer
mapping: "$.resultSetMetaData.numRows"
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
Books a private consultation appointment at a Tiffany store, creates a Salesforce activity, and sends a confirmation to the customer and store associate.
naftiko: "0.5"
info:
label: "Store Appointment Scheduler"
description: "Books a private consultation appointment at a Tiffany store, creates a Salesforce activity, and sends a confirmation to the customer and store associate."
tags:
- retail
- crm
- salesforce
- microsoft-outlook
- appointments
capability:
exposes:
- type: mcp
namespace: appointments
port: 8080
tools:
- name: book-appointment
description: "Book a store appointment and notify all parties."
inputParameters:
- name: customer_name
in: body
type: string
description: "Customer name."
- name: customer_email
in: body
type: string
description: "Customer email."
- name: store_id
in: body
type: string
description: "Store location ID."
- name: date_time
in: body
type: string
description: "Appointment date and time."
- name: purpose
in: body
type: string
description: "Purpose (engagement, gift, etc.)."
- name: associate_email
in: body
type: string
description: "Store associate email."
steps:
- name: create-appointment
type: call
call: "scheduling.book-appointment"
with:
store_id: "{{store_id}}"
date_time: "{{date_time}}"
customer_name: "{{customer_name}}"
purpose: "{{purpose}}"
- name: create-sf-event
type: call
call: "salesforce.create-record"
with:
object: "Event"
Subject: "Store appointment: {{customer_name}} - {{purpose}}"
StartDateTime: "{{date_time}}"
Location: "Store {{store_id}}"
- name: confirm-customer
type: call
call: "outlook.send-email"
with:
to: "{{customer_email}}"
subject: "Tiffany & Co. - Appointment Confirmed"
body: "Your private consultation at store {{store_id}} is confirmed for {{date_time}}. Purpose: {{purpose}}. We look forward to seeing you."
- name: notify-associate
type: call
call: "outlook.send-email"
with:
to: "{{associate_email}}"
subject: "Upcoming appointment: {{customer_name}}"
body: "You have an appointment with {{customer_name}} on {{date_time}}. Purpose: {{purpose}}."
consumes:
- type: http
namespace: scheduling
baseUri: "https://api.tiffany.com/scheduling/v1"
authentication:
type: bearer
token: "$secrets.scheduling_token"
resources:
- name: appointments
path: "/appointments"
operations:
- name: book-appointment
method: POST
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: send-mail
path: "/me/sendMail"
operations:
- name: send-email
method: POST
Initiates an inventory transfer between stores in SAP, updates stock levels, and notifies both the sending and receiving store managers via Microsoft Teams.
naftiko: "0.5"
info:
label: "Store Inventory Transfer Pipeline"
description: "Initiates an inventory transfer between stores in SAP, updates stock levels, and notifies both the sending and receiving store managers via Microsoft Teams."
tags:
- retail
- inventory
- sap
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: inventory-transfer
port: 8080
tools:
- name: transfer-inventory
description: "Transfer inventory between stores and notify managers."
inputParameters:
- name: sku
in: body
type: string
description: "Product SKU."
- name: from_store
in: body
type: string
description: "Source store/plant ID."
- name: to_store
in: body
type: string
description: "Destination store/plant ID."
- name: quantity
in: body
type: integer
description: "Quantity to transfer."
- name: sender_email
in: body
type: string
description: "Sending manager email."
- name: receiver_email
in: body
type: string
description: "Receiving manager email."
steps:
- name: create-transfer
type: call
call: "sap.create-stock-transfer"
with:
material: "{{sku}}"
from_plant: "{{from_store}}"
to_plant: "{{to_store}}"
quantity: "{{quantity}}"
- name: notify-sender
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{sender_email}}"
text: "Stock transfer initiated: {{quantity}} units of {{sku}} to store {{to_store}}. Transfer: {{create-transfer.transfer_id}}."
- name: notify-receiver
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{receiver_email}}"
text: "Incoming stock transfer: {{quantity}} units of {{sku}} from store {{from_store}}. Transfer: {{create-transfer.transfer_id}}."
consumes:
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_MATERIAL_DOCUMENT_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: transfers
path: "/A_MaterialDocumentHeader"
operations:
- name: create-stock-transfer
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Queries daily store sales data from Snowflake, refreshes the Power BI retail dashboard, and sends a sales summary to regional directors via Microsoft Teams.
naftiko: "0.5"
info:
label: "Store Sales Dashboard Refresh"
description: "Queries daily store sales data from Snowflake, refreshes the Power BI retail dashboard, and sends a sales summary to regional directors via Microsoft Teams."
tags:
- retail
- analytics
- snowflake
- power-bi
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: sales-analytics
port: 8080
tools:
- name: refresh-sales-dashboard
description: "Refresh store sales dashboard and notify regional directors."
inputParameters:
- name: region
in: body
type: string
description: "Sales region."
- name: pbi_dataset_id
in: body
type: string
description: "Power BI dataset ID."
- name: teams_webhook
in: body
type: string
description: "Teams webhook URL."
steps:
- name: query-sales
type: call
call: "snowflake.execute-query"
with:
statement: "SELECT store_id, total_revenue, transaction_count, avg_ticket FROM RETAIL.DAILY_SALES WHERE region = '{{region}}' AND date = CURRENT_DATE"
- name: refresh-pbi
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "{{pbi_dataset_id}}"
- name: notify-directors
type: call
call: "msteams.send-message"
with:
webhook_url: "{{teams_webhook}}"
text: "Daily sales dashboard refreshed for region {{region}}. {{query-sales.row_count}} stores reporting."
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: dataset_id
in: path
operations:
- name: refresh-dataset
method: POST
- type: http
namespace: msteams
baseUri: "{{webhook_url}}"
authentication:
type: none
resources:
- name: webhook
path: ""
operations:
- name: send-message
method: POST
Evaluates a gemstone supplier by pulling quality metrics from SAP, running compliance checks, logging results in Snowflake, and notifying the procurement team via Slack.
naftiko: "0.5"
info:
label: "Supplier Quality Assessment Pipeline"
description: "Evaluates a gemstone supplier by pulling quality metrics from SAP, running compliance checks, logging results in Snowflake, and notifying the procurement team via Slack."
tags:
- supply-chain
- quality
- sap
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: supplier-quality
port: 8080
tools:
- name: assess-supplier-quality
description: "Evaluate supplier quality, log metrics, and notify procurement."
inputParameters:
- name: supplier_id
in: body
type: string
description: "SAP supplier/vendor ID."
- name: evaluation_period
in: body
type: string
description: "Evaluation period."
- name: slack_channel
in: body
type: string
description: "Slack channel for procurement team."
steps:
- name: get-quality-metrics
type: call
call: "sap.get-supplier-quality"
with:
supplier_id: "{{supplier_id}}"
period: "{{evaluation_period}}"
- name: log-assessment
type: call
call: "snowflake.execute-query"
with:
statement: "INSERT INTO SUPPLY_CHAIN.SUPPLIER_ASSESSMENTS (supplier_id, period, quality_score, defect_rate) VALUES ('{{supplier_id}}', '{{evaluation_period}}', {{get-quality-metrics.quality_score}}, {{get-quality-metrics.defect_rate}})"
- name: notify-procurement
type: call
call: "slack.post-message"
with:
channel: "{{slack_channel}}"
text: "Supplier {{supplier_id}} assessment for {{evaluation_period}}: Quality score: {{get-quality-metrics.quality_score}}, Defect rate: {{get-quality-metrics.defect_rate}}%."
consumes:
- type: http
namespace: sap
baseUri: "https://tiffany-sap.s4hana.cloud/sap/opu/odata/sap/API_SUPPLIER_EVALUATION_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: evaluations
path: "/A_SupplierEvaluation"
inputParameters:
- name: $filter
in: query
operations:
- name: get-supplier-quality
method: GET
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Tracks a supply chain shipment by tracking number, returns current status and estimated delivery, and logs transit events to Snowflake.
naftiko: "0.5"
info:
label: "Supply Chain Shipment Tracker"
description: "Tracks a supply chain shipment by tracking number, returns current status and estimated delivery, and logs transit events to Snowflake."
tags:
- supply-chain
- shipping
- snowflake
capability:
exposes:
- type: mcp
namespace: shipment-tracking
port: 8080
tools:
- name: track-shipment
description: "Track a shipment and log transit events."
inputParameters:
- name: tracking_number
in: body
type: string
description: "Carrier tracking number."
- name: carrier
in: body
type: string
description: "Shipping carrier name."
steps:
- name: get-status
type: call
call: "shipping.track"
with:
tracking_number: "{{tracking_number}}"
carrier: "{{carrier}}"
- name: log-event
type: call
call: "snowflake.execute-query"
with:
statement: "INSERT INTO SUPPLY_CHAIN.SHIPMENT_EVENTS (tracking_number, status, location, timestamp) VALUES ('{{tracking_number}}', '{{get-status.status}}', '{{get-status.current_location}}', CURRENT_TIMESTAMP)"
consumes:
- type: http
namespace: shipping
baseUri: "https://api.tiffany.com/shipping/v1"
authentication:
type: bearer
token: "$secrets.shipping_token"
resources:
- name: tracking
path: "/track"
inputParameters:
- name: tracking_number
in: query
- name: carrier
in: query
operations:
- name: track
method: GET
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports.
naftiko: "0.5"
info:
label: "Sustainability Metrics Collection Orchestrator"
description: "Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports."
tags:
- sustainability
- analytics
- compliance
capability:
exposes:
- type: mcp
namespace: sustainability
port: 8080
tools:
- name: run-sustainability-metrics-collection-orchestrator
description: "Collects sustainability metrics by gathering environmental data, calculating carbon footprint, and publishing ESG reports."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Sustainability Metrics Collection Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans.
naftiko: "0.5"
info:
label: "Third Party Risk Assessment Orchestrator"
description: "Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans."
tags:
- risk
- procurement
- compliance
capability:
exposes:
- type: mcp
namespace: risk
port: 8080
tools:
- name: run-third-party-risk-assessment-orchestrator
description: "Assesses third-party risks by collecting vendor questionnaires, scoring responses, and tracking remediation plans."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Third Party Risk Assessment Orchestrator for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign.
naftiko: "0.5"
info:
label: "Vendor Contract Renewal Pipeline"
description: "Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign."
tags:
- procurement
- legal
- docusign
capability:
exposes:
- type: mcp
namespace: procurement
port: 8080
tools:
- name: run-vendor-contract-renewal-pipeline
description: "Manages vendor contract renewals by reviewing terms, routing for legal approval, and executing via DocuSign."
inputParameters:
- name: request_id
in: body
type: string
description: "The unique request identifier."
steps:
- name: step-1
type: call
call: "primary-api.initiate"
with:
request_id: "{{request_id}}"
- name: step-2
type: call
call: "secondary-api.process"
with:
request_id: "{{request_id}}"
data: "{{step-1.result}}"
- name: notify
type: call
call: "notification-api.send"
with:
channel: "operations"
message: "Completed Vendor Contract Renewal Pipeline for request {{request_id}}."
consumes:
- type: http
namespace: primary-api
baseUri: "https://api.tiffany-and-co.com/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: primary
path: "/process"
operations:
- name: initiate
method: POST
- type: http
namespace: secondary-api
baseUri: "https://api.tiffany-and-co.com/v2"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: secondary
path: "/execute"
operations:
- name: process
method: POST
- type: http
namespace: notification-api
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/notifications"
operations:
- name: send
method: POST
When a VIP client visits a store, retrieves their CRM profile from Salesforce, pulls purchase history, prepares personalized recommendations, and notifies the store manager via Microsoft Teams.
naftiko: "0.5"
info:
label: "VIP Client Engagement Orchestrator"
description: "When a VIP client visits a store, retrieves their CRM profile from Salesforce, pulls purchase history, prepares personalized recommendations, and notifies the store manager via Microsoft Teams."
tags:
- retail
- crm
- salesforce
- microsoft-teams
- vip
- personalization
capability:
exposes:
- type: mcp
namespace: vip-engagement
port: 8080
tools:
- name: prepare-vip-visit
description: "Prepare a VIP client visit with profile, history, and recommendations."
inputParameters:
- name: sf_contact_id
in: body
type: string
description: "Salesforce contact ID for the VIP client."
- name: store_id
in: body
type: string
description: "Store location ID."
- name: manager_email
in: body
type: string
description: "Store manager email."
steps:
- name: get-profile
type: call
call: "salesforce.get-contact"
with:
contact_id: "{{sf_contact_id}}"
- name: get-purchase-history
type: call
call: "salesforce.get-purchase-history"
with:
contact_id: "{{sf_contact_id}}"
- name: get-recommendations
type: call
call: "recommendations.generate"
with:
customer_profile: "{{get-profile}}"
purchase_history: "{{get-purchase-history.purchases}}"
- name: notify-manager
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{manager_email}}"
text: "VIP client {{get-profile.Name}} arriving at store {{store_id}}. Lifetime spend: ${{get-profile.Lifetime_Spend__c}}. Recommended: {{get-recommendations.top_items}}."
consumes:
- type: http
namespace: salesforce
baseUri: "https://tiffany.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contacts
path: "/sobjects/Contact/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-contact
method: GET
- name: purchase-history
path: "/sobjects/Contact/{{contact_id}}/Purchases__r"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-purchase-history
method: GET
- type: http
namespace: recommendations
baseUri: "https://api.tiffany.com/recommendations/v1"
authentication:
type: bearer
token: "$secrets.recommendations_token"
resources:
- name: generate
path: "/generate"
operations:
- name: generate
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Retrieves purchase history for a VIP client.
naftiko: "0.5"
info:
label: "VIP Client Purchase History"
description: "Retrieves purchase history for a VIP client."
tags:
- customer-service
- crm
capability:
exposes:
- type: mcp
namespace: customer-service
port: 8080
tools:
- name: get-vip
description: "Retrieves purchase history for a VIP client."
inputParameters:
- name: entity_id
in: body
type: string
description: "The vip client purchase history identifier."
call: "customer-service-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: customer-service-api
baseUri: "https://api.tiffany-and-co.com/customer-service/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: vip
path: "/vip/client/purchase/history/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-vip
method: GET
Distributes new visual merchandising guidelines to all stores: uploads the guide to SharePoint, creates Jira tasks for store managers, and announces via Microsoft Teams.
naftiko: "0.5"
info:
label: "Visual Merchandising Update Pipeline"
description: "Distributes new visual merchandising guidelines to all stores: uploads the guide to SharePoint, creates Jira tasks for store managers, and announces via Microsoft Teams."
tags:
- retail
- merchandising
- sharepoint
- jira
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: visual-merch
port: 8080
tools:
- name: distribute-vm-guide
description: "Upload merchandising guide, create tasks, and announce to stores."
inputParameters:
- name: guide_title
in: body
type: string
description: "Guide title."
- name: sharepoint_site
in: body
type: string
description: "SharePoint site ID."
- name: teams_webhook
in: body
type: string
description: "Teams webhook for stores."
steps:
- name: upload-guide
type: call
call: "sharepoint.upload-file"
with:
site_id: "{{sharepoint_site}}"
folder_path: "VisualMerchandising"
file_name: "{{guide_title}}.pdf"
- name: create-task
type: call
call: "jira.create-issue"
with:
project_key: "RETAIL"
summary: "Implement VM Guide: {{guide_title}}"
issue_type: "Task"
- name: announce
type: call
call: "msteams.send-message"
with:
webhook_url: "{{teams_webhook}}"
text: "New visual merchandising guide: {{guide_title}}. Available on SharePoint. Jira task: {{create-task.key}}."
consumes:
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}/{{file_name}}:/content"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
- name: file_name
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: jira
baseUri: "https://tiffany.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
- type: http
namespace: msteams
baseUri: "{{webhook_url}}"
authentication:
type: none
resources:
- name: webhook
path: ""
operations:
- name: send-message
method: POST
Generates a shipping label for an order via the shipping API and returns the tracking number and label URL.
naftiko: "0.5"
info:
label: "Warehouse Shipping Label Generator"
description: "Generates a shipping label for an order via the shipping API and returns the tracking number and label URL."
tags:
- supply-chain
- shipping
- e-commerce
capability:
exposes:
- type: mcp
namespace: shipping-labels
port: 8080
tools:
- name: generate-shipping-label
description: "Generate a shipping label for an order."
inputParameters:
- name: order_id
in: body
type: string
description: "Order ID."
- name: carrier
in: body
type: string
description: "Shipping carrier."
- name: service_level
in: body
type: string
description: "Service level (express, standard)."
call: "shipping.create-label"
with:
order_id: "{{order_id}}"
carrier: "{{carrier}}"
service: "{{service_level}}"
outputParameters:
- name: tracking_number
type: string
mapping: "$.trackingNumber"
- name: label_url
type: string
mapping: "$.labelUrl"
consumes:
- type: http
namespace: shipping
baseUri: "https://api.tiffany.com/shipping/v1"
authentication:
type: bearer
token: "$secrets.shipping_token"
resources:
- name: labels
path: "/labels"
operations:
- name: create-label
method: POST
Queries e-commerce site search analytics from Snowflake including top searches, zero-result queries, and conversion rates.
naftiko: "0.5"
info:
label: "Website Search Analytics"
description: "Queries e-commerce site search analytics from Snowflake including top searches, zero-result queries, and conversion rates."
tags:
- e-commerce
- analytics
- snowflake
capability:
exposes:
- type: mcp
namespace: search-analytics
port: 8080
tools:
- name: get-search-analytics
description: "Retrieve site search analytics from Snowflake."
inputParameters:
- name: date_range
in: body
type: string
description: "Date range (e.g., last_7d)."
call: "snowflake.execute-query"
with:
statement: "SELECT search_term, search_count, click_rate, conversion_rate FROM ECOMMERCE.SEARCH_ANALYTICS WHERE period = '{{date_range}}' ORDER BY search_count DESC LIMIT 50"
outputParameters:
- name: data
type: array
mapping: "$.data"
consumes:
- type: http
namespace: snowflake
baseUri: "https://tiffany.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
Retrieves employee details from Workday by worker ID.
naftiko: "0.5"
info:
label: "Workday Employee Lookup"
description: "Retrieves employee details from Workday by worker ID."
tags:
- hr
- workday
capability:
exposes:
- type: mcp
namespace: hr-directory
port: 8080
tools:
- name: get-employee
description: "Look up employee from Workday."
inputParameters:
- name: worker_id
in: body
type: string
description: "Workday worker ID."
call: "workday.get-worker"
with:
worker_id: "{{worker_id}}"
outputParameters:
- name: full_name
type: string
mapping: "$.fullName"
- name: department
type: string
mapping: "$.department"
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
Retrieves employee profile from Workday.
naftiko: "0.5"
info:
label: "Workday Employee Profile"
description: "Retrieves employee profile from Workday."
tags:
- hr
- workday
capability:
exposes:
- type: mcp
namespace: hr
port: 8080
tools:
- name: get-workday
description: "Retrieves employee profile from Workday."
inputParameters:
- name: entity_id
in: body
type: string
description: "The workday employee profile identifier."
call: "hr-api.get-data"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: hr-api
baseUri: "https://api.tiffany-and-co.com/hr/v1"
authentication:
type: bearer
token: "$secrets.tiffany_and_co_api_token"
resources:
- name: workday
path: "/workday/employee/profile/{{entity_id}}"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-workday
method: GET