Reckitt Benckiser Capabilities
Naftiko 0.5 capability definitions for Reckitt Benckiser - 100 capabilities showing integration workflows and service orchestrations.
Runs a report in Adobe Analytics for a specified report suite and date range, returning page views, visits, and unique visitors.
naftiko: "0.5"
info:
label: "Adobe Analytics Report"
description: "Runs a report in Adobe Analytics for a specified report suite and date range, returning page views, visits, and unique visitors."
tags:
- analytics
- digital-marketing
- adobe-analytics
capability:
exposes:
- type: mcp
namespace: analytics-adobe
port: 8080
tools:
- name: run-report
description: "Run an Adobe Analytics report for a report suite and date range. Returns page views, visits, and unique visitors."
inputParameters:
- name: report_suite_id
in: body
type: string
description: "The Adobe Analytics report suite ID."
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD format."
call: "adobe-analytics.get-report"
with:
rsid: "{{report_suite_id}}"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
consumes:
- type: http
namespace: adobe-analytics
baseUri: "https://analytics.adobe.io/api/reckitt"
authentication:
type: bearer
token: "$secrets.adobe_analytics_token"
resources:
- name: reports
path: "/reports"
operations:
- name: get-report
method: POST
Retrieves a user profile from Azure Active Directory by UPN, returning display name, job title, department, and group memberships.
naftiko: "0.5"
info:
label: "Azure Active Directory User Lookup"
description: "Retrieves a user profile from Azure Active Directory by UPN, returning display name, job title, department, and group memberships."
tags:
- identity
- directory
- azure-active-directory
capability:
exposes:
- type: mcp
namespace: identity-aad
port: 8080
tools:
- name: get-user
description: "Look up an Azure AD user by UPN. Returns display name, job title, department, and group memberships."
inputParameters:
- name: user_upn
in: body
type: string
description: "The user principal name (email)."
call: "aad.get-user"
with:
upn: "{{user_upn}}"
consumes:
- type: http
namespace: aad
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: users
path: "/users/{{upn}}"
inputParameters:
- name: upn
in: path
operations:
- name: get-user
method: GET
Retrieves the latest build status for a given Azure DevOps pipeline, returning build result, duration, and triggered-by info.
naftiko: "0.5"
info:
label: "Azure DevOps Build Status"
description: "Retrieves the latest build status for a given Azure DevOps pipeline, returning build result, duration, and triggered-by info."
tags:
- devops
- ci-cd
- azure-devops
capability:
exposes:
- type: mcp
namespace: devops-builds
port: 8080
tools:
- name: get-build-status
description: "Get the latest build status for an Azure DevOps pipeline. Returns result, duration, and source branch."
inputParameters:
- name: project
in: body
type: string
description: "The Azure DevOps project name."
- name: pipeline_id
in: body
type: string
description: "The pipeline definition ID."
call: "azuredevops.get-builds"
with:
project: "{{project}}"
pipeline_id: "{{pipeline_id}}"
consumes:
- type: http
namespace: azuredevops
baseUri: "https://dev.azure.com/reckitt"
authentication:
type: basic
username: ""
password: "$secrets.azure_devops_pat"
resources:
- name: builds
path: "/{{project}}/_apis/build/builds?definitions={{pipeline_id}}&$top=1&api-version=7.0"
inputParameters:
- name: project
in: path
- name: pipeline_id
in: path
operations:
- name: get-builds
method: GET
Creates a new folder in Box under a specified parent and returns the folder URL and ID.
naftiko: "0.5"
info:
label: "Box Folder Provisioning"
description: "Creates a new folder in Box under a specified parent and returns the folder URL and ID."
tags:
- collaboration
- storage
- box
capability:
exposes:
- type: mcp
namespace: storage-box
port: 8080
tools:
- name: create-folder
description: "Create a new Box folder under a parent folder. Returns folder ID and URL."
inputParameters:
- name: folder_name
in: body
type: string
description: "The name of the new folder."
- name: parent_folder_id
in: body
type: string
description: "The parent folder ID in Box."
call: "box.create-folder"
with:
name: "{{folder_name}}"
parent_id: "{{parent_folder_id}}"
consumes:
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: folders
path: "/folders"
operations:
- name: create-folder
method: POST
Orchestrates brand campaign performance pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Brand Campaign Performance Pipeline"
description: "Orchestrates brand campaign performance pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- brand
- reckitt
- reckitt
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: brand
port: 8080
tools:
- name: brand-campaign-performance-pipeline
description: "Orchestrates brand campaign performance pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "reckitt.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/brand"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/brand"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/brand"
operations:
- name: execute-3
method: POST
Retrieves brand equity score lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Brand Equity Score Lookup"
description: "Retrieves brand equity score lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- brand
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: brand
port: 8080
tools:
- name: brand-equity-score-lookup
description: "Retrieves brand equity score lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.brand-equity-score-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/brand/equity/score/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: brand-equity-score-lookup
method: GET
Retrieves brand market share lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Brand Market Share Lookup"
description: "Retrieves brand market share lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- brand
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: brand
port: 8080
tools:
- name: brand-market-share-lookup
description: "Retrieves brand market share lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.brand-market-share-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/brand/market/share/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: brand-market-share-lookup
method: GET
Orchestrates brand reputation monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Brand Reputation Monitoring Pipeline"
description: "Orchestrates brand reputation monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- brand
- reckitt
- sap
- teams
- jira
capability:
exposes:
- type: mcp
namespace: brand
port: 8080
tools:
- name: brand-reputation-monitoring-pipeline
description: "Orchestrates brand reputation monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sap.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/brand"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/brand"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/brand"
operations:
- name: execute-3
method: POST
Orchestrates brand social listening pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Brand Social Listening Pipeline"
description: "Orchestrates brand social listening pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- brand
- reckitt
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: brand
port: 8080
tools:
- name: brand-social-listening-pipeline
description: "Orchestrates brand social listening pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/brand"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/brand"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/brand"
operations:
- name: execute-3
method: POST
Retrieves DNS records for a Cloudflare zone by record type, returning record names, values, and TTL.
naftiko: "0.5"
info:
label: "Cloudflare DNS Record Lookup"
description: "Retrieves DNS records for a Cloudflare zone by record type, returning record names, values, and TTL."
tags:
- infrastructure
- dns
- cloudflare
capability:
exposes:
- type: mcp
namespace: infra-dns
port: 8080
tools:
- name: get-dns-records
description: "List DNS records for a Cloudflare zone filtered by record type. Returns record name, content, and TTL."
inputParameters:
- name: zone_id
in: body
type: string
description: "The Cloudflare zone ID."
- name: record_type
in: body
type: string
description: "The DNS record type (A, CNAME, MX, etc.)."
call: "cloudflare.list-dns-records"
with:
zone_id: "{{zone_id}}"
type: "{{record_type}}"
consumes:
- type: http
namespace: cloudflare
baseUri: "https://api.cloudflare.com/client/v4"
authentication:
type: bearer
token: "$secrets.cloudflare_token"
resources:
- name: dns-records
path: "/zones/{{zone_id}}/dns_records?type={{type}}"
inputParameters:
- name: zone_id
in: path
- name: type
in: path
operations:
- name: list-dns-records
method: GET
Searches Confluence for articles matching a query string and returns page titles, excerpts, and links.
naftiko: "0.5"
info:
label: "Confluence Knowledge Base Search"
description: "Searches Confluence for articles matching a query string and returns page titles, excerpts, and links."
tags:
- knowledge-management
- collaboration
- confluence
capability:
exposes:
- type: mcp
namespace: knowledge-base
port: 8080
tools:
- name: search-articles
description: "Search Confluence for knowledge base articles. Returns page titles, excerpts, and URLs."
inputParameters:
- name: query
in: body
type: string
description: "The search query string."
call: "confluence.search"
with:
cql: "text ~ '{{query}}'"
consumes:
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: search
path: "/search?cql={{cql}}"
inputParameters:
- name: cql
in: path
operations:
- name: search
method: GET
When a consumer complaint arrives in Zendesk, enriches it with Salesforce customer data, creates a quality investigation in SAP, and escalates to the brand team in Microsoft Teams.
naftiko: "0.5"
info:
label: "Consumer Complaint Orchestrator"
description: "When a consumer complaint arrives in Zendesk, enriches it with Salesforce customer data, creates a quality investigation in SAP, and escalates to the brand team in Microsoft Teams."
tags:
- customer-service
- quality
- zendesk
- salesforce
- sap
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: customer-complaints
port: 8080
tools:
- name: process-complaint
description: "Given a Zendesk ticket ID, enrich with Salesforce data, create a SAP quality notification, and alert the brand team."
inputParameters:
- name: ticket_id
in: body
type: string
description: "The Zendesk complaint ticket ID."
steps:
- name: get-ticket
type: call
call: "zendesk.get-ticket"
with:
ticket_id: "{{ticket_id}}"
- name: get-customer
type: call
call: "salesforce.get-account"
with:
email: "{{get-ticket.requester_email}}"
- name: create-quality-notification
type: call
call: "sap.create-quality-notification"
with:
notification_type: "Q1"
description: "Consumer complaint: {{get-ticket.subject}}"
material_number: "{{get-ticket.custom_fields.product_sku}}"
- name: alert-brand-team
type: call
call: "msteams.send-channel-message"
with:
team_id: "brand_quality"
channel: "Complaints"
text: "Consumer complaint: {{get-ticket.subject}}. Customer: {{get-customer.Name}}. Product: {{get-ticket.custom_fields.product_sku}}. SAP notification: {{create-quality-notification.notification_id}}. Zendesk: {{ticket_id}}."
consumes:
- type: http
namespace: zendesk
baseUri: "https://reckitt.zendesk.com/api/v2"
authentication:
type: basic
username: "$secrets.zendesk_user"
password: "$secrets.zendesk_api_token"
resources:
- name: tickets
path: "/tickets/{{ticket_id}}"
inputParameters:
- name: ticket_id
in: path
operations:
- name: get-ticket
method: GET
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/parameterizedSearch/?q={{email}}&sobject=Account"
inputParameters:
- name: email
in: path
operations:
- name: get-account
method: GET
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/sap/opu/odata/sap/QM_NOTIFICATION_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: notifications
path: "/QualityNotifications"
operations:
- name: create-quality-notification
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel
in: path
operations:
- name: send-channel-message
method: POST
Retrieves consumer complaint status data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Consumer Complaint Status"
description: "Retrieves consumer complaint status data from the Reckitt consumer health and hygiene products systems."
tags:
- consumer
- reckitt
- status
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-complaint-status
description: "Retrieves consumer complaint status data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.consumer-complaint-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/consumer/complaint/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: consumer-complaint-status
method: GET
Orchestrates consumer complaint trending pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Consumer Complaint Trending Pipeline"
description: "Orchestrates consumer complaint trending pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- consumer
- reckitt
- confluence
- datadog
- reckitt
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-complaint-trending-pipeline
description: "Orchestrates consumer complaint trending pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "confluence.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "datadog.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "reckitt.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/consumer"
operations:
- name: execute-1
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/consumer"
operations:
- name: execute-2
method: POST
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/consumer"
operations:
- name: execute-3
method: POST
Orchestrates consumer health claim validation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Consumer Health Claim Validation Pipeline"
description: "Orchestrates consumer health claim validation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- consumer
- reckitt
- snowflake
- slack
- sap
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-health-claim-validation-pipeline
description: "Orchestrates consumer health claim validation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sap.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/consumer"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/consumer"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/consumer"
operations:
- name: execute-3
method: POST
Orchestrates consumer insight mining pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Consumer Insight Mining Pipeline"
description: "Orchestrates consumer insight mining pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- consumer
- reckitt
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-insight-mining-pipeline
description: "Orchestrates consumer insight mining pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/consumer"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/consumer"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/consumer"
operations:
- name: execute-3
method: POST
Orchestrates consumer loyalty program pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Consumer Loyalty Program Pipeline"
description: "Orchestrates consumer loyalty program pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- consumer
- reckitt
- confluence
- datadog
- reckitt
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-loyalty-program-pipeline
description: "Orchestrates consumer loyalty program pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "confluence.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "datadog.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "reckitt.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/consumer"
operations:
- name: execute-1
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/consumer"
operations:
- name: execute-2
method: POST
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/consumer"
operations:
- name: execute-3
method: POST
Retrieves consumer panel data lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Consumer Panel Data Lookup"
description: "Retrieves consumer panel data lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- consumer
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-panel-data-lookup
description: "Retrieves consumer panel data lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.consumer-panel-data-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/consumer/panel/data/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: consumer-panel-data-lookup
method: GET
Retrieves consumer satisfaction score lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Consumer Satisfaction Score Lookup"
description: "Retrieves consumer satisfaction score lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- consumer
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-satisfaction-score-lookup
description: "Retrieves consumer satisfaction score lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.consumer-satisfaction-score-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/consumer/satisfaction/score/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: consumer-satisfaction-score-lookup
method: GET
Orchestrates consumer segmentation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Consumer Segmentation Pipeline"
description: "Orchestrates consumer segmentation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- consumer
- reckitt
- jira
- confluence
- datadog
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-segmentation-pipeline
description: "Orchestrates consumer segmentation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "confluence.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "datadog.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/consumer"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/consumer"
operations:
- name: execute-2
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/consumer"
operations:
- name: execute-3
method: POST
Orchestrates consumer trend forecasting pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Consumer Trend Forecasting Pipeline"
description: "Orchestrates consumer trend forecasting pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- consumer
- reckitt
- slack
- sap
- teams
capability:
exposes:
- type: mcp
namespace: consumer
port: 8080
tools:
- name: consumer-trend-forecasting-pipeline
description: "Orchestrates consumer trend forecasting pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sap.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/consumer"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/consumer"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/consumer"
operations:
- name: execute-3
method: POST
Aggregates marketing performance from Google Analytics, Google Ads, Facebook Ads, and LinkedIn into a single summary, then posts the digest to a Microsoft Teams channel.
naftiko: "0.5"
info:
label: "Cross-Channel Marketing Performance Orchestrator"
description: "Aggregates marketing performance from Google Analytics, Google Ads, Facebook Ads, and LinkedIn into a single summary, then posts the digest to a Microsoft Teams channel."
tags:
- marketing
- analytics
- google-analytics
- google-ads
- facebook-ads
- linkedin
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: marketing-performance
port: 8080
tools:
- name: generate-performance-digest
description: "Aggregate marketing performance data from multiple channels and post a summary to Microsoft Teams."
inputParameters:
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD format."
steps:
- name: get-ga-data
type: call
call: "ga.run-report"
with:
property_id: "$secrets.ga_property_id"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
- name: get-google-ads
type: call
call: "googleads.search-stream"
with:
customer_id: "$secrets.google_ads_customer_id"
query: "SELECT metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM campaign WHERE segments.date BETWEEN '{{start_date}}' AND '{{end_date}}'"
- name: get-fb-ads
type: call
call: "fbads.get-account-insights"
with:
date_start: "{{start_date}}"
date_end: "{{end_date}}"
- name: get-linkedin
type: call
call: "linkedin.get-account-analytics"
with:
start_date: "{{start_date}}"
end_date: "{{end_date}}"
- name: post-digest
type: call
call: "msteams.send-channel-message"
with:
team_id: "marketing_team"
channel: "Performance"
text: "Marketing Digest {{start_date}} to {{end_date}}: GA sessions: {{get-ga-data.totals.sessions}}. Google Ads clicks: {{get-google-ads.total_clicks}}. FB reach: {{get-fb-ads.reach}}. LinkedIn impressions: {{get-linkedin.impressions}}."
consumes:
- type: http
namespace: ga
baseUri: "https://analyticsdata.googleapis.com/v1beta"
authentication:
type: bearer
token: "$secrets.google_analytics_token"
resources:
- name: reports
path: "/properties/{{property_id}}:runReport"
inputParameters:
- name: property_id
in: path
operations:
- name: run-report
method: POST
- type: http
namespace: googleads
baseUri: "https://googleads.googleapis.com/v15"
authentication:
type: bearer
token: "$secrets.google_ads_token"
resources:
- name: search
path: "/customers/{{customer_id}}/googleAds:searchStream"
inputParameters:
- name: customer_id
in: path
operations:
- name: search-stream
method: POST
- type: http
namespace: fbads
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.meta_access_token"
resources:
- name: account-insights
path: "/act_{{ad_account_id}}/insights"
operations:
- name: get-account-insights
method: GET
- type: http
namespace: linkedin
baseUri: "https://api.linkedin.com/rest"
authentication:
type: bearer
token: "$secrets.linkedin_token"
resources:
- name: analytics
path: "/adAnalytics?q=analytics&dateRange.start.year={{start_year}}&dateRange.end.year={{end_year}}"
operations:
- name: get-account-analytics
method: GET
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel
in: path
operations:
- name: send-channel-message
method: POST
Queries Datadog for the current health status of a monitored service, returning uptime, error rate, and active alerts.
naftiko: "0.5"
info:
label: "Datadog Service Health Check"
description: "Queries Datadog for the current health status of a monitored service, returning uptime, error rate, and active alerts."
tags:
- monitoring
- observability
- datadog
capability:
exposes:
- type: mcp
namespace: ops-monitoring
port: 8080
tools:
- name: get-service-health
description: "Query Datadog for a service health summary including uptime, error rate, and active monitor alerts."
inputParameters:
- name: service_name
in: body
type: string
description: "The Datadog service name tag."
call: "datadog.get-monitors"
with:
service_name: "{{service_name}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: monitors
path: "/monitor?tag=service:{{service_name}}"
inputParameters:
- name: service_name
in: path
operations:
- name: get-monitors
method: GET
Orchestrates distribution network optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Distribution Network Optimization Pipeline"
description: "Orchestrates distribution network optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- distribution
- reckitt
- teams
- jira
- confluence
capability:
exposes:
- type: mcp
namespace: distribution
port: 8080
tools:
- name: distribution-network-optimization-pipeline
description: "Orchestrates distribution network optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/distribution"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/distribution"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/distribution"
operations:
- name: execute-3
method: POST
Retrieves distributor order status data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Distributor Order Status"
description: "Retrieves distributor order status data from the Reckitt consumer health and hygiene products systems."
tags:
- distributor
- reckitt
- status
capability:
exposes:
- type: mcp
namespace: distributor
port: 8080
tools:
- name: distributor-order-status
description: "Retrieves distributor order status data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.distributor-order-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/distributor/order/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: distributor-order-status
method: GET
Retrieves the status of a DocuSign envelope including signer status, completion date, and document details.
naftiko: "0.5"
info:
label: "DocuSign Envelope Status"
description: "Retrieves the status of a DocuSign envelope including signer status, completion date, and document details."
tags:
- legal
- contracts
- docusign
capability:
exposes:
- type: mcp
namespace: legal-docusign
port: 8080
tools:
- name: get-envelope-status
description: "Look up a DocuSign envelope by ID. Returns signer status, sent date, and completion details."
inputParameters:
- name: envelope_id
in: body
type: string
description: "The DocuSign envelope ID."
call: "docusign.get-envelope"
with:
envelope_id: "{{envelope_id}}"
consumes:
- type: http
namespace: docusign
baseUri: "https://na4.docusign.net/restapi/v2.1/accounts/{{account_id}}"
authentication:
type: bearer
token: "$secrets.docusign_token"
inputParameters:
- name: account_id
in: path
value: "$secrets.docusign_account_id"
resources:
- name: envelopes
path: "/envelopes/{{envelope_id}}"
inputParameters:
- name: envelope_id
in: path
operations:
- name: get-envelope
method: GET
Queries Dynatrace for service-level performance data including response time, failure rate, and throughput.
naftiko: "0.5"
info:
label: "Dynatrace Service Performance"
description: "Queries Dynatrace for service-level performance data including response time, failure rate, and throughput."
tags:
- monitoring
- apm
- dynatrace
capability:
exposes:
- type: mcp
namespace: ops-dynatrace
port: 8080
tools:
- name: get-service-metrics
description: "Query Dynatrace for a service entity's performance metrics. Returns response time, failure rate, and throughput."
inputParameters:
- name: entity_id
in: body
type: string
description: "The Dynatrace service entity ID."
call: "dynatrace.get-entity-metrics"
with:
entity_id: "{{entity_id}}"
consumes:
- type: http
namespace: dynatrace
baseUri: "https://reckitt.live.dynatrace.com/api/v2"
authentication:
type: bearer
token: "$secrets.dynatrace_token"
resources:
- name: metrics
path: "/metrics/query?metricSelector=builtin:service.response.time,builtin:service.errors.total.rate&entitySelector=entityId({{entity_id}})"
inputParameters:
- name: entity_id
in: path
operations:
- name: get-entity-metrics
method: GET
Orchestrates e commerce content optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "E Commerce Content Optimization Pipeline"
description: "Orchestrates e commerce content optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- e
- reckitt
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: e
port: 8080
tools:
- name: e-commerce-content-optimization-pipeline
description: "Orchestrates e commerce content optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/e"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/e"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/e"
operations:
- name: execute-3
method: POST
When a BigCommerce order is placed, checks SAP inventory, creates a shipment in SAP, updates the BigCommerce order status, and notifies the customer via WhatsApp.
naftiko: "0.5"
info:
label: "E-Commerce Fulfillment Orchestrator"
description: "When a BigCommerce order is placed, checks SAP inventory, creates a shipment in SAP, updates the BigCommerce order status, and notifies the customer via WhatsApp."
tags:
- e-commerce
- fulfillment
- bigcommerce
- sap
- whatsapp
- supply-chain
capability:
exposes:
- type: mcp
namespace: ecommerce-fulfillment
port: 8080
tools:
- name: fulfill-order
description: "Given a BigCommerce order ID, check SAP inventory, create a shipment, update order status, and notify the customer via WhatsApp."
inputParameters:
- name: order_id
in: body
type: string
description: "The BigCommerce order ID."
steps:
- name: get-order
type: call
call: "bigcommerce.get-order"
with:
order_id: "{{order_id}}"
- name: check-inventory
type: call
call: "sap.check-stock"
with:
material_number: "{{get-order.line_items[0].sku}}"
plant: "{{get-order.shipping_warehouse}}"
- name: create-shipment
type: call
call: "sap.create-delivery"
with:
sales_order: "{{get-order.erp_reference}}"
shipping_address: "{{get-order.shipping_address}}"
- name: update-order-status
type: call
call: "bigcommerce.update-order"
with:
order_id: "{{order_id}}"
status: "shipped"
tracking_number: "{{create-shipment.tracking_number}}"
- name: notify-customer
type: call
call: "whatsapp.send-message"
with:
phone_number: "{{get-order.customer_phone}}"
message: "Your Reckitt order #{{order_id}} has been shipped! Tracking: {{create-shipment.tracking_number}}"
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/{{store_hash}}/v2"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order
method: GET
- name: update-order
method: PUT
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/sap/opu/odata/sap/API_OUTBOUND_DELIVERY_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: stock
path: "/A_MaterialStock(Material='{{material_number}}',Plant='{{plant}}')"
inputParameters:
- name: material_number
in: path
- name: plant
in: path
operations:
- name: check-stock
method: GET
- name: deliveries
path: "/A_OutbDeliveryHeader"
operations:
- name: create-delivery
method: POST
- type: http
namespace: whatsapp
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.whatsapp_token"
resources:
- name: messages
path: "/{{phone_number_id}}/messages"
operations:
- name: send-message
method: POST
Retrieves an order from BigCommerce by order ID and returns shipping status, line items, and customer information.
naftiko: "0.5"
info:
label: "E-Commerce Order Status Lookup"
description: "Retrieves an order from BigCommerce by order ID and returns shipping status, line items, and customer information."
tags:
- e-commerce
- orders
- bigcommerce
capability:
exposes:
- type: mcp
namespace: ecommerce-orders
port: 8080
tools:
- name: get-order-status
description: "Look up a BigCommerce order by ID. Returns order status, shipping details, line items, and customer info."
inputParameters:
- name: order_id
in: body
type: string
description: "The BigCommerce order ID."
call: "bigcommerce.get-order"
with:
order_id: "{{order_id}}"
consumes:
- type: http
namespace: bigcommerce
baseUri: "https://api.bigcommerce.com/stores/{{store_hash}}/v2"
authentication:
type: bearer
token: "$secrets.bigcommerce_token"
inputParameters:
- name: store_hash
in: path
value: "$secrets.bigcommerce_store_hash"
resources:
- name: orders
path: "/orders/{{order_id}}"
inputParameters:
- name: order_id
in: path
operations:
- name: get-order
method: GET
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder for the employee, and sends a Microsoft Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder for the employee, and sends a Microsoft Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Given a Workday employee ID and start date, orchestrate the full onboarding sequence across ServiceNow, SharePoint, and Microsoft Teams."
inputParameters:
- name: workday_employee_id
in: body
type: string
description: "The Workday worker ID for the new hire."
- name: start_date
in: body
type: string
description: "The employee start date in YYYY-MM-DD format."
- name: department
in: body
type: string
description: "The department or business unit the new hire is joining."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{workday_employee_id}}"
- name: open-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "New hire onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
assigned_group: "IT_Onboarding"
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 Reckitt, {{get-employee.first_name}}! Your IT onboarding ticket is {{open-ticket.number}}. Documents are ready at {{provision-folder.url}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://reckitt.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
Retrieves submitted expense reports from SAP Concur, validates against Workday cost center data, and opens a ServiceNow task for finance review when policy exceptions are detected.
naftiko: "0.5"
info:
label: "Expense Report Processing"
description: "Retrieves submitted expense reports from SAP Concur, validates against Workday cost center data, and opens a ServiceNow task for finance review when policy exceptions are detected."
tags:
- finance
- expense
- concur
- sap-concur
- workday
- servicenow
capability:
exposes:
- type: mcp
namespace: finance-expense
port: 8080
tools:
- name: review-expense-report
description: "Given a Concur expense report ID and employee ID, fetch the report details, validate the cost center against Workday, and flag any policy violations to ServiceNow."
inputParameters:
- name: expense_report_id
in: body
type: string
description: "The SAP Concur expense report ID."
- name: employee_id
in: body
type: string
description: "The Workday employee ID of the expense submitter."
steps:
- name: get-expense-report
type: call
call: "concur.get-expense-report"
with:
report_id: "{{expense_report_id}}"
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
- name: open-review-task
type: call
call: "servicenow.create-task"
with:
short_description: "Expense policy review: {{get-expense-report.report_name}} — {{get-employee.full_name}}"
description: "Report {{expense_report_id}} total: {{get-expense-report.total_amount}} {{get-expense-report.currency}}. Cost center: {{get-employee.cost_center}}."
assigned_group: "Finance_Audit"
category: "expense_review"
consumes:
- type: http
namespace: concur
baseUri: "https://us.api.concursolutions.com/api/v3.0"
authentication:
type: bearer
token: "$secrets.concur_token"
resources:
- name: expense-reports
path: "/expense/reports/{{report_id}}"
inputParameters:
- name: report_id
in: path
operations:
- name: get-expense-report
method: GET
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/task"
operations:
- name: create-task
method: POST
Retrieves Facebook Ads campaign insights including reach, impressions, spend, and cost per result.
naftiko: "0.5"
info:
label: "Facebook Ads Campaign Report"
description: "Retrieves Facebook Ads campaign insights including reach, impressions, spend, and cost per result."
tags:
- marketing
- advertising
- facebook-ads
capability:
exposes:
- type: mcp
namespace: marketing-facebook
port: 8080
tools:
- name: get-fb-campaign-insights
description: "Retrieve Facebook Ads campaign insights by campaign ID. Returns reach, impressions, spend, and cost per result."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The Facebook Ads campaign ID."
- name: date_preset
in: body
type: string
description: "Date preset (e.g. last_7d, last_30d)."
call: "fbads.get-insights"
with:
campaign_id: "{{campaign_id}}"
date_preset: "{{date_preset}}"
consumes:
- type: http
namespace: fbads
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.meta_access_token"
resources:
- name: insights
path: "/{{campaign_id}}/insights?date_preset={{date_preset}}"
inputParameters:
- name: campaign_id
in: path
- name: date_preset
in: path
operations:
- name: get-insights
method: GET
Retrieves the latest CI/CD pipeline status from GitLab for a given project, returning status, duration, and stages.
naftiko: "0.5"
info:
label: "GitLab Pipeline Status"
description: "Retrieves the latest CI/CD pipeline status from GitLab for a given project, returning status, duration, and stages."
tags:
- devops
- ci-cd
- gitlab
capability:
exposes:
- type: mcp
namespace: devops-gitlab
port: 8080
tools:
- name: get-pipeline-status
description: "Get the latest GitLab CI/CD pipeline status for a project. Returns status, duration, and stage details."
inputParameters:
- name: project_id
in: body
type: string
description: "The GitLab project ID."
call: "gitlab.get-pipelines"
with:
project_id: "{{project_id}}"
consumes:
- type: http
namespace: gitlab
baseUri: "https://gitlab.reckitt.com/api/v4"
authentication:
type: bearer
token: "$secrets.gitlab_token"
resources:
- name: pipelines
path: "/projects/{{project_id}}/pipelines?per_page=1"
inputParameters:
- name: project_id
in: path
operations:
- name: get-pipelines
method: GET
Retrieves Google Ads campaign performance data including impressions, clicks, cost, and conversions for a specified date range.
naftiko: "0.5"
info:
label: "Google Ads Performance Snapshot"
description: "Retrieves Google Ads campaign performance data including impressions, clicks, cost, and conversions for a specified date range."
tags:
- marketing
- advertising
- google-ads
capability:
exposes:
- type: mcp
namespace: marketing-ads
port: 8080
tools:
- name: get-ads-performance
description: "Retrieve Google Ads campaign performance for a date range. Returns impressions, clicks, cost, and conversions."
inputParameters:
- name: customer_id
in: body
type: string
description: "The Google Ads customer ID."
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD format."
call: "googleads.search-stream"
with:
customer_id: "{{customer_id}}"
query: "SELECT campaign.name, metrics.impressions, metrics.clicks, metrics.cost_micros, metrics.conversions FROM campaign WHERE segments.date BETWEEN '{{start_date}}' AND '{{end_date}}'"
consumes:
- type: http
namespace: googleads
baseUri: "https://googleads.googleapis.com/v15"
authentication:
type: bearer
token: "$secrets.google_ads_token"
resources:
- name: search
path: "/customers/{{customer_id}}/googleAds:searchStream"
inputParameters:
- name: customer_id
in: path
operations:
- name: search-stream
method: POST
Pulls campaign performance metrics from Google Analytics for a specified date range and returns sessions, conversions, and revenue data.
naftiko: "0.5"
info:
label: "Google Analytics Campaign Report"
description: "Pulls campaign performance metrics from Google Analytics for a specified date range and returns sessions, conversions, and revenue data."
tags:
- marketing
- analytics
- google-analytics
capability:
exposes:
- type: mcp
namespace: marketing-analytics
port: 8080
tools:
- name: get-campaign-report
description: "Retrieve Google Analytics campaign metrics for a date range. Returns sessions, bounce rate, conversions, and revenue."
inputParameters:
- name: property_id
in: body
type: string
description: "The Google Analytics 4 property ID."
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD format."
call: "ga.run-report"
with:
property_id: "{{property_id}}"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
consumes:
- type: http
namespace: ga
baseUri: "https://analyticsdata.googleapis.com/v1beta"
authentication:
type: bearer
token: "$secrets.google_analytics_token"
resources:
- name: reports
path: "/properties/{{property_id}}:runReport"
inputParameters:
- name: property_id
in: path
operations:
- name: run-report
method: POST
Uploads a file to a specified Google Drive folder and returns the file ID and shareable link.
naftiko: "0.5"
info:
label: "Google Drive File Upload"
description: "Uploads a file to a specified Google Drive folder and returns the file ID and shareable link."
tags:
- collaboration
- storage
- google-drive
capability:
exposes:
- type: mcp
namespace: storage-gdrive
port: 8080
tools:
- name: upload-file
description: "Upload a file to a Google Drive folder. Returns file ID and shareable link."
inputParameters:
- name: folder_id
in: body
type: string
description: "The Google Drive folder ID."
- name: file_name
in: body
type: string
description: "The name for the uploaded file."
- name: content_type
in: body
type: string
description: "The MIME type of the file."
call: "gdrive.upload-file"
with:
folder_id: "{{folder_id}}"
name: "{{file_name}}"
mimeType: "{{content_type}}"
consumes:
- type: http
namespace: gdrive
baseUri: "https://www.googleapis.com/upload/drive/v3"
authentication:
type: bearer
token: "$secrets.google_drive_token"
resources:
- name: files
path: "/files?uploadType=multipart"
operations:
- name: upload-file
method: POST
Retrieves a HubSpot CRM contact by email address, returning lifecycle stage, deal associations, and marketing engagement data.
naftiko: "0.5"
info:
label: "HubSpot Contact Lookup"
description: "Retrieves a HubSpot CRM contact by email address, returning lifecycle stage, deal associations, and marketing engagement data."
tags:
- marketing
- crm
- hubspot
capability:
exposes:
- type: mcp
namespace: marketing-crm
port: 8080
tools:
- name: get-contact
description: "Look up a HubSpot contact by email. Returns lifecycle stage, deal associations, and recent activity."
inputParameters:
- name: email
in: body
type: string
description: "The contact email address."
call: "hubspot.get-contact-by-email"
with:
email: "{{email}}"
consumes:
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/objects/contacts/{{email}}?idProperty=email"
inputParameters:
- name: email
in: path
operations:
- name: get-contact-by-email
method: GET
When SAP inventory drops below threshold, creates a purchase requisition in SAP Ariba, notifies the procurement team via Microsoft Teams, and logs the event in ServiceNow.
naftiko: "0.5"
info:
label: "Inventory Replenishment Orchestrator"
description: "When SAP inventory drops below threshold, creates a purchase requisition in SAP Ariba, notifies the procurement team via Microsoft Teams, and logs the event in ServiceNow."
tags:
- supply-chain
- inventory
- sap
- sap-ariba
- microsoft-teams
- servicenow
capability:
exposes:
- type: mcp
namespace: supply-chain-replenishment
port: 8080
tools:
- name: trigger-replenishment
description: "Given a material number and plant code, check inventory, create an Ariba requisition, notify procurement, and log in ServiceNow."
inputParameters:
- name: material_number
in: body
type: string
description: "The SAP material number."
- name: plant_code
in: body
type: string
description: "The plant code where stock is low."
- name: reorder_quantity
in: body
type: number
description: "The quantity to reorder."
steps:
- name: check-stock
type: call
call: "sap.check-stock"
with:
material_number: "{{material_number}}"
plant: "{{plant_code}}"
- name: create-requisition
type: call
call: "ariba.create-requisition"
with:
material: "{{material_number}}"
quantity: "{{reorder_quantity}}"
plant: "{{plant_code}}"
description: "Auto-replenishment for {{material_number}} at plant {{plant_code}}"
- name: notify-procurement
type: call
call: "msteams.send-channel-message"
with:
team_id: "procurement_team"
channel: "Replenishment"
text: "Auto-replenishment triggered: {{material_number}} at plant {{plant_code}}. Quantity: {{reorder_quantity}}. Ariba requisition: {{create-requisition.requisition_id}}."
- name: log-event
type: call
call: "servicenow.create-task"
with:
short_description: "Inventory replenishment: {{material_number}} at {{plant_code}}"
description: "Stock level: {{check-stock.available_quantity}}. Reorder: {{reorder_quantity}}. Requisition: {{create-requisition.requisition_id}}."
category: "inventory_replenishment"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/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(Material='{{material_number}}',Plant='{{plant}}')"
inputParameters:
- name: material_number
in: path
- name: plant
in: path
operations:
- name: check-stock
method: GET
- type: http
namespace: ariba
baseUri: "https://openapi.ariba.com/api/purchase-req/v1"
authentication:
type: bearer
token: "$secrets.ariba_token"
resources:
- name: requisitions
path: "/requisitions"
operations:
- name: create-requisition
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel
in: path
operations:
- name: send-channel-message
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: tasks
path: "/table/task"
operations:
- name: create-task
method: POST
When an employee leaves in Workday, deactivates their Azure AD account, closes open ServiceNow tickets, revokes Box access, and logs the offboarding in Microsoft Teams.
naftiko: "0.5"
info:
label: "IT Asset Lifecycle Orchestrator"
description: "When an employee leaves in Workday, deactivates their Azure AD account, closes open ServiceNow tickets, revokes Box access, and logs the offboarding in Microsoft Teams."
tags:
- hr
- offboarding
- workday
- azure-active-directory
- servicenow
- box
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-offboarding
port: 8080
tools:
- name: offboard-employee
description: "Given a Workday employee ID, deactivate Azure AD, close ServiceNow tickets, revoke Box access, and notify via Teams."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday employee ID of the departing employee."
- name: last_day
in: body
type: string
description: "The employee's last working day in YYYY-MM-DD format."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
- name: disable-ad-account
type: call
call: "aad.disable-user"
with:
upn: "{{get-employee.work_email}}"
- name: close-tickets
type: call
call: "servicenow.close-user-tickets"
with:
caller_id: "{{get-employee.work_email}}"
close_notes: "Employee offboarding: {{get-employee.full_name}} last day {{last_day}}"
- name: revoke-box-access
type: call
call: "box.remove-collaborator"
with:
user_email: "{{get-employee.work_email}}"
- name: notify-hr
type: call
call: "msteams.send-message"
with:
recipient_upn: "hr-team@reckitt.com"
text: "Offboarding complete for {{get-employee.full_name}} ({{employee_id}}). AD disabled, tickets closed, Box access revoked. Last day: {{last_day}}."
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: aad
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: users
path: "/users/{{upn}}"
inputParameters:
- name: upn
in: path
operations:
- name: disable-user
method: PATCH
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident?sysparm_query=caller_id={{caller_id}}^state!=7"
inputParameters:
- name: caller_id
in: path
operations:
- name: close-user-tickets
method: PATCH
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: collaborations
path: "/collaborations"
operations:
- name: remove-collaborator
method: DELETE
- 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 LinkedIn advertising campaign performance metrics including impressions, clicks, and spend.
naftiko: "0.5"
info:
label: "LinkedIn Campaign Performance"
description: "Retrieves LinkedIn advertising campaign performance metrics including impressions, clicks, and spend."
tags:
- marketing
- advertising
- linkedin
capability:
exposes:
- type: mcp
namespace: marketing-linkedin
port: 8080
tools:
- name: get-linkedin-campaign
description: "Retrieve LinkedIn campaign performance by campaign ID. Returns impressions, clicks, spend, and engagement rate."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The LinkedIn campaign ID."
call: "linkedin.get-campaign-analytics"
with:
campaign_id: "{{campaign_id}}"
consumes:
- type: http
namespace: linkedin
baseUri: "https://api.linkedin.com/rest"
authentication:
type: bearer
token: "$secrets.linkedin_token"
resources:
- name: campaign-analytics
path: "/adAnalytics?q=analytics&campaigns=urn:li:sponsoredCampaign:{{campaign_id}}"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-campaign-analytics
method: GET
Retrieves email campaign performance metrics from MailChimp including open rate, click rate, and bounce rate.
naftiko: "0.5"
info:
label: "MailChimp Email Campaign Metrics"
description: "Retrieves email campaign performance metrics from MailChimp including open rate, click rate, and bounce rate."
tags:
- marketing
- email
- mailchimp
capability:
exposes:
- type: mcp
namespace: marketing-email
port: 8080
tools:
- name: get-campaign-metrics
description: "Retrieve MailChimp campaign metrics by campaign ID. Returns open rate, click rate, bounce rate, and total recipients."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The MailChimp campaign ID."
call: "mailchimp.get-campaign-report"
with:
campaign_id: "{{campaign_id}}"
consumes:
- type: http
namespace: mailchimp
baseUri: "https://us1.api.mailchimp.com/3.0"
authentication:
type: basic
username: "anystring"
password: "$secrets.mailchimp_api_key"
resources:
- name: reports
path: "/reports/{{campaign_id}}"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-campaign-report
method: GET
Retrieves manufacturing batch record lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Manufacturing Batch Record Lookup"
description: "Retrieves manufacturing batch record lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- manufacturing
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: manufacturing-batch-record-lookup
description: "Retrieves manufacturing batch record lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.manufacturing-batch-record-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/manufacturing/batch/record/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: manufacturing-batch-record-lookup
method: GET
Orchestrates manufacturing batch release pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Manufacturing Batch Release Pipeline"
description: "Orchestrates manufacturing batch release pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- manufacturing
- reckitt
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: manufacturing-batch-release-pipeline
description: "Orchestrates manufacturing batch release pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/manufacturing"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/manufacturing"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/manufacturing"
operations:
- name: execute-3
method: POST
Orchestrates manufacturing energy optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Manufacturing Energy Optimization Pipeline"
description: "Orchestrates manufacturing energy optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- manufacturing
- reckitt
- teams
- jira
- confluence
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: manufacturing-energy-optimization-pipeline
description: "Orchestrates manufacturing energy optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/manufacturing"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/manufacturing"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/manufacturing"
operations:
- name: execute-3
method: POST
Orchestrates manufacturing equipment maintenance pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Manufacturing Equipment Maintenance Pipeline"
description: "Orchestrates manufacturing equipment maintenance pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- manufacturing
- reckitt
- jira
- confluence
- datadog
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: manufacturing-equipment-maintenance-pipeline
description: "Orchestrates manufacturing equipment maintenance pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "confluence.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "datadog.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/manufacturing"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/manufacturing"
operations:
- name: execute-2
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/manufacturing"
operations:
- name: execute-3
method: POST
Orchestrates manufacturing line changeover pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Manufacturing Line Changeover Pipeline"
description: "Orchestrates manufacturing line changeover pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- manufacturing
- reckitt
- reckitt
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: manufacturing-line-changeover-pipeline
description: "Orchestrates manufacturing line changeover pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "reckitt.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/manufacturing"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/manufacturing"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/manufacturing"
operations:
- name: execute-3
method: POST
When a quality deviation is detected in SAP, creates a ServiceNow incident, notifies the plant quality team via Microsoft Teams, and logs the event in Datadog.
naftiko: "0.5"
info:
label: "Manufacturing Quality Alert Orchestrator"
description: "When a quality deviation is detected in SAP, creates a ServiceNow incident, notifies the plant quality team via Microsoft Teams, and logs the event in Datadog."
tags:
- manufacturing
- quality
- sap
- servicenow
- microsoft-teams
- datadog
capability:
exposes:
- type: mcp
namespace: mfg-quality
port: 8080
tools:
- name: raise-quality-alert
description: "Given a SAP quality notification ID, create a ServiceNow incident, alert the quality team in Microsoft Teams, and send an event to Datadog."
inputParameters:
- name: notification_id
in: body
type: string
description: "The SAP quality notification ID."
- name: plant_code
in: body
type: string
description: "The manufacturing plant code."
steps:
- name: get-notification
type: call
call: "sap.get-quality-notification"
with:
notification_id: "{{notification_id}}"
- name: create-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Quality deviation at plant {{plant_code}}: {{get-notification.description}}"
category: "quality"
assigned_group: "Plant_Quality_{{plant_code}}"
priority: "2"
- name: notify-team
type: call
call: "msteams.send-channel-message"
with:
team_id: "quality_{{plant_code}}"
channel: "Alerts"
text: "Quality Alert: {{get-notification.description}} at plant {{plant_code}}. ServiceNow: {{create-incident.number}}. Material: {{get-notification.material_number}}."
- name: log-event
type: call
call: "datadog.send-event"
with:
title: "Quality deviation: {{notification_id}}"
text: "Plant {{plant_code}}, material {{get-notification.material_number}}, incident {{create-incident.number}}"
tags: "plant:{{plant_code}},type:quality"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/sap/opu/odata/sap/QM_NOTIFICATION_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: notifications
path: "/QualityNotifications('{{notification_id}}')"
inputParameters:
- name: notification_id
in: path
operations:
- name: get-quality-notification
method: GET
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel
in: path
operations:
- name: send-channel-message
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: events
path: "/events"
operations:
- name: send-event
method: POST
Orchestrates manufacturing quality deviation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Manufacturing Quality Deviation Pipeline"
description: "Orchestrates manufacturing quality deviation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- manufacturing
- reckitt
- snowflake
- slack
- sap
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: manufacturing-quality-deviation-pipeline
description: "Orchestrates manufacturing quality deviation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sap.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/manufacturing"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/manufacturing"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/manufacturing"
operations:
- name: execute-3
method: POST
Orchestrates manufacturing waste reduction pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Manufacturing Waste Reduction Pipeline"
description: "Orchestrates manufacturing waste reduction pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- manufacturing
- reckitt
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: manufacturing
port: 8080
tools:
- name: manufacturing-waste-reduction-pipeline
description: "Orchestrates manufacturing waste reduction pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/manufacturing"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/manufacturing"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/manufacturing"
operations:
- name: execute-3
method: POST
Sends an email notification via Microsoft Outlook/Graph API to a specified recipient.
naftiko: "0.5"
info:
label: "Microsoft Outlook Email Notification"
description: "Sends an email notification via Microsoft Outlook/Graph API to a specified recipient."
tags:
- communications
- email
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: comms-email
port: 8080
tools:
- name: send-email
description: "Send an email via Microsoft Graph. Specify recipient, subject, and body."
inputParameters:
- name: to_email
in: body
type: string
description: "The recipient email address."
- name: subject
in: body
type: string
description: "The email subject."
- name: body
in: body
type: string
description: "The email body content."
call: "outlook.send-mail"
with:
to: "{{to_email}}"
subject: "{{subject}}"
body: "{{body}}"
consumes:
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: mail
path: "/me/sendMail"
operations:
- name: send-mail
method: POST
Sends a message to a Microsoft Teams channel, used by workflows to push notifications and alerts.
naftiko: "0.5"
info:
label: "Microsoft Teams Channel Message"
description: "Sends a message to a Microsoft Teams channel, used by workflows to push notifications and alerts."
tags:
- collaboration
- messaging
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: comms-teams
port: 8080
tools:
- name: send-channel-message
description: "Send a message to a Microsoft Teams channel by team and channel ID."
inputParameters:
- name: team_id
in: body
type: string
description: "The Microsoft Teams team ID."
- name: channel_id
in: body
type: string
description: "The channel ID within the team."
- name: message
in: body
type: string
description: "The message content."
call: "msteams.post-channel-message"
with:
team_id: "{{team_id}}"
channel_id: "{{channel_id}}"
text: "{{message}}"
consumes:
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: post-channel-message
method: POST
Orchestrates new product development pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "New Product Development Pipeline"
description: "Orchestrates new product development pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- new
- reckitt
- reckitt
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: new
port: 8080
tools:
- name: new-product-development-pipeline
description: "Orchestrates new product development pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "reckitt.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/new"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/new"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/new"
operations:
- name: execute-3
method: POST
Queries New Relic for application performance metrics including response time, throughput, and error rate.
naftiko: "0.5"
info:
label: "New Relic Application Performance"
description: "Queries New Relic for application performance metrics including response time, throughput, and error rate."
tags:
- monitoring
- apm
- new-relic
capability:
exposes:
- type: mcp
namespace: ops-apm
port: 8080
tools:
- name: get-app-performance
description: "Query New Relic for application performance. Returns response time, throughput, and error rate."
inputParameters:
- name: app_id
in: body
type: string
description: "The New Relic application ID."
call: "newrelic.get-app-metrics"
with:
app_id: "{{app_id}}"
consumes:
- type: http
namespace: newrelic
baseUri: "https://api.newrelic.com/v2"
authentication:
type: apiKey
key: "$secrets.newrelic_api_key"
resources:
- name: applications
path: "/applications/{{app_id}}/metrics/data.json"
inputParameters:
- name: app_id
in: path
operations:
- name: get-app-metrics
method: GET
Retrieves a journal entry from Oracle Cloud ERP by journal ID, returning header details, line amounts, and posting status.
naftiko: "0.5"
info:
label: "Oracle Cloud ERP Journal Entry"
description: "Retrieves a journal entry from Oracle Cloud ERP by journal ID, returning header details, line amounts, and posting status."
tags:
- finance
- erp
- oracle-cloud
capability:
exposes:
- type: mcp
namespace: finance-oracle
port: 8080
tools:
- name: get-journal-entry
description: "Look up an Oracle Cloud ERP journal entry by ID. Returns header info, line amounts, and posting status."
inputParameters:
- name: journal_id
in: body
type: string
description: "The Oracle Cloud journal entry ID."
call: "oracle.get-journal"
with:
journal_id: "{{journal_id}}"
consumes:
- type: http
namespace: oracle
baseUri: "https://reckitt.oraclecloud.com/fscmRestApi/resources/v1"
authentication:
type: basic
username: "$secrets.oracle_cloud_user"
password: "$secrets.oracle_cloud_password"
resources:
- name: journals
path: "/journals/{{journal_id}}"
inputParameters:
- name: journal_id
in: path
operations:
- name: get-journal
method: GET
Triggers a dataset refresh in Power BI and returns the refresh status for supply chain and finance reporting dashboards.
naftiko: "0.5"
info:
label: "Power BI Dashboard Refresh"
description: "Triggers a dataset refresh in Power BI and returns the refresh status for supply chain and finance reporting dashboards."
tags:
- analytics
- reporting
- power-bi
capability:
exposes:
- type: mcp
namespace: bi-reporting
port: 8080
tools:
- name: refresh-dataset
description: "Trigger a Power BI dataset refresh by dataset ID and return the current refresh status."
inputParameters:
- name: dataset_id
in: body
type: string
description: "The Power BI dataset ID."
- name: group_id
in: body
type: string
description: "The Power BI workspace (group) ID."
call: "powerbi.trigger-refresh"
with:
dataset_id: "{{dataset_id}}"
group_id: "{{group_id}}"
consumes:
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/groups/{{group_id}}/datasets/{{dataset_id}}/refreshes"
inputParameters:
- name: group_id
in: path
- name: dataset_id
in: path
operations:
- name: trigger-refresh
method: POST
Orchestrates product cost optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Product Cost Optimization Pipeline"
description: "Orchestrates product cost optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- product
- reckitt
- snowflake
- slack
- sap
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-cost-optimization-pipeline
description: "Orchestrates product cost optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sap.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/product"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/product"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/product"
operations:
- name: execute-3
method: POST
Orchestrates product counterfeit detection pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Product Counterfeit Detection Pipeline"
description: "Orchestrates product counterfeit detection pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- product
- reckitt
- datadog
- reckitt
- salesforce
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-counterfeit-detection-pipeline
description: "Orchestrates product counterfeit detection pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "datadog.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "reckitt.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/product"
operations:
- name: execute-1
method: POST
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/product"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/product"
operations:
- name: execute-3
method: POST
Orchestrates product formulation change pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Product Formulation Change Pipeline"
description: "Orchestrates product formulation change pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- product
- reckitt
- sap
- teams
- jira
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-formulation-change-pipeline
description: "Orchestrates product formulation change pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sap.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/product"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/product"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/product"
operations:
- name: execute-3
method: POST
Retrieves product formulation lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Product Formulation Lookup"
description: "Retrieves product formulation lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- product
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-formulation-lookup
description: "Retrieves product formulation lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.product-formulation-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/product/formulation/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: product-formulation-lookup
method: GET
Orchestrates product launch readiness pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Product Launch Readiness Pipeline"
description: "Orchestrates product launch readiness pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- product
- reckitt
- confluence
- datadog
- reckitt
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-launch-readiness-pipeline
description: "Orchestrates product launch readiness pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "confluence.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "datadog.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "reckitt.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/product"
operations:
- name: execute-1
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/product"
operations:
- name: execute-2
method: POST
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/product"
operations:
- name: execute-3
method: POST
Orchestrates product lifecycle management pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Product Lifecycle Management Pipeline"
description: "Orchestrates product lifecycle management pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- product
- reckitt
- snowflake
- slack
- sap
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-lifecycle-management-pipeline
description: "Orchestrates product lifecycle management pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sap.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/product"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/product"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/product"
operations:
- name: execute-3
method: POST
Retrieves product packaging specification data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Product Packaging Specification"
description: "Retrieves product packaging specification data from the Reckitt consumer health and hygiene products systems."
tags:
- product
- reckitt
- specification
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-packaging-specification
description: "Retrieves product packaging specification data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.product-packaging-specification"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/product/packaging/specification/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: product-packaging-specification
method: GET
Initiates a product recall workflow by logging in SAP, creating a ServiceNow major incident, notifying leadership via Microsoft Teams, and updating the customer communication in Zendesk.
naftiko: "0.5"
info:
label: "Product Recall Notification Orchestrator"
description: "Initiates a product recall workflow by logging in SAP, creating a ServiceNow major incident, notifying leadership via Microsoft Teams, and updating the customer communication in Zendesk."
tags:
- quality
- recall
- sap
- servicenow
- microsoft-teams
- zendesk
capability:
exposes:
- type: mcp
namespace: quality-recall
port: 8080
tools:
- name: initiate-recall
description: "Given a material number and batch, initiate a product recall across SAP, ServiceNow, Microsoft Teams, and Zendesk."
inputParameters:
- name: material_number
in: body
type: string
description: "The SAP material number being recalled."
- name: batch_number
in: body
type: string
description: "The production batch number."
- name: recall_reason
in: body
type: string
description: "The reason for the recall."
steps:
- name: create-sap-notification
type: call
call: "sap.create-quality-notification"
with:
material_number: "{{material_number}}"
batch: "{{batch_number}}"
notification_type: "Q3"
description: "Product recall: {{recall_reason}}"
- name: create-major-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Product recall: {{material_number}} batch {{batch_number}}"
priority: "1"
category: "product_recall"
assigned_group: "Quality_Crisis"
description: "Recall reason: {{recall_reason}}. SAP notification: {{create-sap-notification.notification_id}}."
- name: notify-leadership
type: call
call: "msteams.send-channel-message"
with:
team_id: "executive_team"
channel: "Crisis"
text: "PRODUCT RECALL: Material {{material_number}}, batch {{batch_number}}. Reason: {{recall_reason}}. Incident: {{create-major-incident.number}}."
- name: create-zendesk-macro
type: call
call: "zendesk.create-ticket"
with:
subject: "Product Recall Notice: {{material_number}}"
description: "We are initiating a voluntary recall for batch {{batch_number}} of product {{material_number}}. Reason: {{recall_reason}}."
type: "task"
priority: "urgent"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/sap/opu/odata/sap/QM_NOTIFICATION_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: notifications
path: "/QualityNotifications"
operations:
- name: create-quality-notification
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel
in: path
operations:
- name: send-channel-message
method: POST
- type: http
namespace: zendesk
baseUri: "https://reckitt.zendesk.com/api/v2"
authentication:
type: basic
username: "$secrets.zendesk_user"
password: "$secrets.zendesk_api_token"
resources:
- name: tickets
path: "/tickets"
operations:
- name: create-ticket
method: POST
Orchestrates product regulatory approval pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Product Regulatory Approval Pipeline"
description: "Orchestrates product regulatory approval pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- product
- reckitt
- jira
- confluence
- datadog
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-regulatory-approval-pipeline
description: "Orchestrates product regulatory approval pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "confluence.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "datadog.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/product"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/product"
operations:
- name: execute-2
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/product"
operations:
- name: execute-3
method: POST
Retrieves product regulatory status data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Product Regulatory Status"
description: "Retrieves product regulatory status data from the Reckitt consumer health and hygiene products systems."
tags:
- product
- reckitt
- status
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-regulatory-status
description: "Retrieves product regulatory status data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.product-regulatory-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/product/regulatory/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: product-regulatory-status
method: GET
Retrieves product safety data sheet lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Product Safety Data Sheet Lookup"
description: "Retrieves product safety data sheet lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- product
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-safety-data-sheet-lookup
description: "Retrieves product safety data sheet lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.product-safety-data-sheet-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/product/safety/data/sheet/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: product-safety-data-sheet-lookup
method: GET
Retrieves product shelf life lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Product Shelf Life Lookup"
description: "Retrieves product shelf life lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- product
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: product
port: 8080
tools:
- name: product-shelf-life-lookup
description: "Retrieves product shelf life lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.product-shelf-life-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/product/shelf/life/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: product-shelf-life-lookup
method: GET
When a production line goes down, logs the event in SAP, creates a ServiceNow P1 incident, notifies the plant manager via Microsoft Teams, and records the downtime in Datadog.
naftiko: "0.5"
info:
label: "Production Line Downtime Orchestrator"
description: "When a production line goes down, logs the event in SAP, creates a ServiceNow P1 incident, notifies the plant manager via Microsoft Teams, and records the downtime in Datadog."
tags:
- manufacturing
- production
- sap
- servicenow
- microsoft-teams
- datadog
capability:
exposes:
- type: mcp
namespace: mfg-downtime
port: 8080
tools:
- name: report-downtime
description: "Given a plant code and production line ID, log the downtime event across SAP, ServiceNow, Microsoft Teams, and Datadog."
inputParameters:
- name: plant_code
in: body
type: string
description: "The manufacturing plant code."
- name: line_id
in: body
type: string
description: "The production line identifier."
- name: reason
in: body
type: string
description: "The downtime reason code."
steps:
- name: log-sap-event
type: call
call: "sap.create-maintenance-order"
with:
plant: "{{plant_code}}"
equipment: "{{line_id}}"
description: "Unplanned downtime: {{reason}}"
order_type: "PM01"
- name: create-p1-incident
type: call
call: "servicenow.create-incident"
with:
short_description: "Production line {{line_id}} down at plant {{plant_code}}"
priority: "1"
category: "production_downtime"
assigned_group: "Plant_Maintenance_{{plant_code}}"
description: "Line {{line_id}} is down. Reason: {{reason}}. SAP order: {{log-sap-event.order_number}}."
- name: notify-plant-manager
type: call
call: "msteams.send-channel-message"
with:
team_id: "plant_{{plant_code}}"
channel: "Production"
text: "ALERT: Line {{line_id}} is DOWN. Reason: {{reason}}. Incident: {{create-p1-incident.number}}. SAP order: {{log-sap-event.order_number}}."
- name: record-metric
type: call
call: "datadog.send-event"
with:
title: "Production downtime: {{line_id}} at {{plant_code}}"
text: "Reason: {{reason}}, Incident: {{create-p1-incident.number}}"
alert_type: "error"
tags: "plant:{{plant_code}},line:{{line_id}}"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/sap/opu/odata/sap/API_MAINTORDER"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: maintenance-orders
path: "/MaintenanceOrder"
operations:
- name: create-maintenance-order
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel
in: path
operations:
- name: send-channel-message
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
resources:
- name: events
path: "/events"
operations:
- name: send-event
method: POST
Orchestrates raw material price hedging pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Raw Material Price Hedging Pipeline"
description: "Orchestrates raw material price hedging pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- raw
- reckitt
- slack
- sap
- teams
capability:
exposes:
- type: mcp
namespace: raw
port: 8080
tools:
- name: raw-material-price-hedging-pipeline
description: "Orchestrates raw material price hedging pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sap.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/raw"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/raw"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/raw"
operations:
- name: execute-3
method: POST
Orchestrates raw material sourcing optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Raw Material Sourcing Optimization Pipeline"
description: "Orchestrates raw material sourcing optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- raw
- reckitt
- datadog
- reckitt
- salesforce
capability:
exposes:
- type: mcp
namespace: raw
port: 8080
tools:
- name: raw-material-sourcing-optimization-pipeline
description: "Orchestrates raw material sourcing optimization pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "datadog.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "reckitt.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/raw"
operations:
- name: execute-1
method: POST
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/raw"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/raw"
operations:
- name: execute-3
method: POST
Retrieves raw material specification lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Raw Material Specification Lookup"
description: "Retrieves raw material specification lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- raw
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: raw
port: 8080
tools:
- name: raw-material-specification-lookup
description: "Retrieves raw material specification lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.raw-material-specification-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/raw/material/specification/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: raw-material-specification-lookup
method: GET
When a regulatory change is detected, creates a Confluence page with the change summary, opens a ServiceNow change request, and notifies the compliance team via Microsoft Teams.
naftiko: "0.5"
info:
label: "Regulatory Compliance Document Workflow"
description: "When a regulatory change is detected, creates a Confluence page with the change summary, opens a ServiceNow change request, and notifies the compliance team via Microsoft Teams."
tags:
- compliance
- regulatory
- confluence
- servicenow
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: compliance-regulatory
port: 8080
tools:
- name: process-regulatory-change
description: "Given a regulatory change reference and description, create a Confluence page, open a ServiceNow change request, and alert the compliance team."
inputParameters:
- name: regulation_ref
in: body
type: string
description: "The regulatory reference identifier."
- name: change_summary
in: body
type: string
description: "Summary of the regulatory change."
- name: effective_date
in: body
type: string
description: "Effective date in YYYY-MM-DD format."
steps:
- name: create-page
type: call
call: "confluence.create-page"
with:
space_key: "COMPLIANCE"
title: "Regulatory Change: {{regulation_ref}} — Effective {{effective_date}}"
body: "{{change_summary}}"
- name: open-change-request
type: call
call: "servicenow.create-change-request"
with:
short_description: "Regulatory change: {{regulation_ref}}"
description: "{{change_summary}}. Effective date: {{effective_date}}. Confluence: {{create-page.url}}"
category: "regulatory_compliance"
assigned_group: "Compliance_Team"
- name: notify-team
type: call
call: "msteams.send-channel-message"
with:
team_id: "compliance_team"
channel: "Regulatory"
text: "New regulatory change: {{regulation_ref}} effective {{effective_date}}. Change request: {{open-change-request.number}}. Details: {{create-page.url}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: pages
path: "/content"
operations:
- name: create-page
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: change-requests
path: "/table/change_request"
operations:
- name: create-change-request
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{team_id}}/channels/{{channel}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel
in: path
operations:
- name: send-channel-message
method: POST
Retrieves retail distribution coverage lookup data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Retail Distribution Coverage Lookup"
description: "Retrieves retail distribution coverage lookup data from the Reckitt consumer health and hygiene products systems."
tags:
- retail
- reckitt
- lookup
capability:
exposes:
- type: mcp
namespace: retail
port: 8080
tools:
- name: retail-distribution-coverage-lookup
description: "Retrieves retail distribution coverage lookup data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.retail-distribution-coverage-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/retail/distribution/coverage/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: retail-distribution-coverage-lookup
method: GET
Orchestrates retail execution monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Retail Execution Monitoring Pipeline"
description: "Orchestrates retail execution monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- retail
- reckitt
- slack
- sap
- teams
capability:
exposes:
- type: mcp
namespace: retail
port: 8080
tools:
- name: retail-execution-monitoring-pipeline
description: "Orchestrates retail execution monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sap.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/retail"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/retail"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/retail"
operations:
- name: execute-3
method: POST
Orchestrates retailer compliance audit pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Retailer Compliance Audit Pipeline"
description: "Orchestrates retailer compliance audit pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- retailer
- reckitt
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: retailer
port: 8080
tools:
- name: retailer-compliance-audit-pipeline
description: "Orchestrates retailer compliance audit pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/retailer"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/retailer"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/retailer"
operations:
- name: execute-3
method: POST
Orchestrates retailer joint business planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Retailer Joint Business Planning Pipeline"
description: "Orchestrates retailer joint business planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- retailer
- reckitt
- sap
- teams
- jira
capability:
exposes:
- type: mcp
namespace: retailer
port: 8080
tools:
- name: retailer-joint-business-planning-pipeline
description: "Orchestrates retailer joint business planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sap.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/retailer"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/retailer"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/retailer"
operations:
- name: execute-3
method: POST
Retrieves a Salesforce lead record by ID, returning contact info, lead source, status, and assigned owner.
naftiko: "0.5"
info:
label: "Salesforce Lead Lookup"
description: "Retrieves a Salesforce lead record by ID, returning contact info, lead source, status, and assigned owner."
tags:
- sales
- crm
- salesforce
capability:
exposes:
- type: mcp
namespace: sales-crm
port: 8080
tools:
- name: get-lead
description: "Look up a Salesforce lead by ID. Returns name, email, company, lead source, status, and owner."
inputParameters:
- name: lead_id
in: body
type: string
description: "The Salesforce lead record ID."
call: "salesforce.get-lead"
with:
lead_id: "{{lead_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: leads
path: "/sobjects/Lead/{{lead_id}}"
inputParameters:
- name: lead_id
in: path
operations:
- name: get-lead
method: GET
When a SAP Ariba requisition exceeds a spend threshold, routes for manager approval via Workday and notifies the requestor in Microsoft Teams.
naftiko: "0.5"
info:
label: "SAP Ariba Requisition Approval Pipeline"
description: "When a SAP Ariba requisition exceeds a spend threshold, routes for manager approval via Workday and notifies the requestor in Microsoft Teams."
tags:
- procurement
- ariba
- sap-ariba
- workday
- microsoft-teams
- approval
capability:
exposes:
- type: mcp
namespace: procurement-approval
port: 8080
tools:
- name: route-requisition-approval
description: "Given an Ariba requisition ID and requestor employee ID, check amount, resolve approver from Workday, and notify via Microsoft Teams."
inputParameters:
- name: requisition_id
in: body
type: string
description: "The SAP Ariba requisition identifier."
- name: requestor_employee_id
in: body
type: string
description: "The Workday employee ID of the requestor."
- name: spend_amount
in: body
type: number
description: "The total spend amount on the requisition."
steps:
- name: get-requisition
type: call
call: "ariba.get-requisition"
with:
requisition_id: "{{requisition_id}}"
- name: get-requestor
type: call
call: "workday.get-worker"
with:
worker_id: "{{requestor_employee_id}}"
- name: get-manager
type: call
call: "workday.get-worker"
with:
worker_id: "{{get-requestor.manager_id}}"
- name: notify-approver
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{get-manager.work_email}}"
text: "Approval Required: Ariba requisition {{requisition_id}} from {{get-requestor.full_name}} for ${{spend_amount}}."
consumes:
- type: http
namespace: ariba
baseUri: "https://openapi.ariba.com/api/purchase-req/v1"
authentication:
type: bearer
token: "$secrets.ariba_token"
resources:
- name: requisitions
path: "/requisitions/{{requisition_id}}"
inputParameters:
- name: requisition_id
in: path
operations:
- name: get-requisition
method: GET
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- 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 a travel booking from SAP Concur by trip ID, returning itinerary details, approval status, and estimated cost.
naftiko: "0.5"
info:
label: "SAP Concur Travel Booking Lookup"
description: "Retrieves a travel booking from SAP Concur by trip ID, returning itinerary details, approval status, and estimated cost."
tags:
- travel
- expense
- sap-concur
capability:
exposes:
- type: mcp
namespace: travel-concur
port: 8080
tools:
- name: get-travel-booking
description: "Look up a SAP Concur travel booking by trip ID. Returns itinerary, approval status, and cost estimate."
inputParameters:
- name: trip_id
in: body
type: string
description: "The SAP Concur trip ID."
call: "concur.get-trip"
with:
trip_id: "{{trip_id}}"
consumes:
- type: http
namespace: concur
baseUri: "https://us.api.concursolutions.com/api/v3.0"
authentication:
type: bearer
token: "$secrets.concur_token"
resources:
- name: trips
path: "/travel/trips/{{trip_id}}"
inputParameters:
- name: trip_id
in: path
operations:
- name: get-trip
method: GET
Queries SAP HANA for current inventory levels for a material across all plants.
naftiko: "0.5"
info:
label: "SAP HANA Inventory Snapshot"
description: "Queries SAP HANA for current inventory levels for a material across all plants."
tags:
- supply-chain
- inventory
- sap-hana
capability:
exposes:
- type: mcp
namespace: supply-chain-inventory
port: 8080
tools:
- name: get-inventory-levels
description: "Query SAP HANA for inventory levels across all plants for a given material number."
inputParameters:
- name: material_number
in: body
type: string
description: "The SAP material number."
call: "saphana.query-inventory"
with:
material_number: "{{material_number}}"
consumes:
- type: http
namespace: saphana
baseUri: "https://reckitt-hana.sap.com/sap/opu/odata/sap/INVENTORY_SRV"
authentication:
type: basic
username: "$secrets.sap_hana_user"
password: "$secrets.sap_hana_password"
resources:
- name: stock
path: "/MaterialStock?$filter=Material eq '{{material_number}}'"
inputParameters:
- name: material_number
in: path
operations:
- name: query-inventory
method: GET
Looks up a SAP S/4HANA purchase order by number and returns header status, vendor, total value, and open line items for procurement and finance teams.
naftiko: "0.5"
info:
label: "SAP Purchase Order Status"
description: "Looks up a SAP S/4HANA purchase order by number and returns header status, vendor, total value, and open line items for procurement and finance teams."
tags:
- procurement
- erp
- sap
- sap-s4hana
- purchase-order
capability:
exposes:
- type: mcp
namespace: erp-procurement
port: 8080
tools:
- name: get-purchase-order
description: "Look up a SAP S/4HANA purchase order by PO number. Returns header status, vendor name, total value, currency, and delivery date."
inputParameters:
- name: po_number
in: body
type: string
description: "The SAP purchase order number (10-digit)."
call: "sap.get-po"
with:
po_number: "{{po_number}}"
outputParameters:
- name: status
type: string
mapping: "$.d.OverallStatus"
- name: vendor
type: string
mapping: "$.d.Supplier.CompanyName"
- name: total_value
type: string
mapping: "$.d.TotalAmount"
- name: currency
type: string
mapping: "$.d.TransactionCurrency"
- name: delivery_date
type: string
mapping: "$.d.DeliveryDate"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/sap/opu/odata/sap/MM_PUR_PO_MAINT_V2_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
inputParameters:
- name: Accept
in: header
value: "application/json"
- name: sap-client
in: header
value: "100"
resources:
- name: purchase-orders
path: "/A_PurchaseOrder('{{po_number}}')"
inputParameters:
- name: po_number
in: path
operations:
- name: get-po
method: GET
Retrieves a material master record from SAP S/4HANA by material number, returning description, unit of measure, and material group.
naftiko: "0.5"
info:
label: "SAP S/4HANA Material Master Lookup"
description: "Retrieves a material master record from SAP S/4HANA by material number, returning description, unit of measure, and material group."
tags:
- erp
- master-data
- sap
- sap-s4hana
capability:
exposes:
- type: mcp
namespace: erp-materials
port: 8080
tools:
- name: get-material
description: "Look up a SAP S/4HANA material master by material number. Returns description, UoM, material group, and weight."
inputParameters:
- name: material_number
in: body
type: string
description: "The SAP material number."
call: "sap.get-material"
with:
material_number: "{{material_number}}"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/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: get-material
method: GET
Retrieves a production order from SAP S/4HANA by order number, returning status, quantity, scheduled dates, and material details.
naftiko: "0.5"
info:
label: "SAP S/4HANA Production Order Tracking"
description: "Retrieves a production order from SAP S/4HANA by order number, returning status, quantity, scheduled dates, and material details."
tags:
- manufacturing
- production
- sap
- sap-s4hana
capability:
exposes:
- type: mcp
namespace: mfg-production
port: 8080
tools:
- name: get-production-order
description: "Look up a SAP S/4HANA production order. Returns status, planned quantity, scheduled start/finish, and material."
inputParameters:
- name: order_number
in: body
type: string
description: "The SAP production order number."
call: "sap.get-production-order"
with:
order_number: "{{order_number}}"
consumes:
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/sap/opu/odata/sap/API_PRODUCTION_ORDERS"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: production-orders
path: "/A_ProductionOrder('{{order_number}}')"
inputParameters:
- name: order_number
in: path
operations:
- name: get-production-order
method: GET
Retrieves a ServiceNow incident by number, returning priority, state, assigned group, and short description for IT support teams.
naftiko: "0.5"
info:
label: "ServiceNow Incident Status"
description: "Retrieves a ServiceNow incident by number, returning priority, state, assigned group, and short description for IT support teams."
tags:
- it-support
- itsm
- servicenow
capability:
exposes:
- type: mcp
namespace: itsm
port: 8080
tools:
- name: get-incident
description: "Look up a ServiceNow incident by number. Returns priority, state, assigned group, and short description."
inputParameters:
- name: incident_number
in: body
type: string
description: "The ServiceNow incident number (e.g. INC0012345)."
call: "servicenow.get-incident"
with:
incident_number: "{{incident_number}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident?sysparm_query=number={{incident_number}}"
inputParameters:
- name: incident_number
in: path
operations:
- name: get-incident
method: GET
Retrieves document metadata and download URL from a SharePoint site by file path.
naftiko: "0.5"
info:
label: "SharePoint Document Retrieval"
description: "Retrieves document metadata and download URL from a SharePoint site by file path."
tags:
- collaboration
- documents
- sharepoint
capability:
exposes:
- type: mcp
namespace: docs-sharepoint
port: 8080
tools:
- name: get-document
description: "Retrieve a SharePoint document by site ID and file path. Returns metadata, last modified date, and download URL."
inputParameters:
- name: site_id
in: body
type: string
description: "The SharePoint site ID."
- name: file_path
in: body
type: string
description: "The file path within the document library."
call: "sharepoint.get-file"
with:
site_id: "{{site_id}}"
file_path: "{{file_path}}"
consumes:
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: files
path: "/{{site_id}}/drive/root:/{{file_path}}"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: get-file
method: GET
When a new product campaign is approved, creates scheduled posts on Instagram and Facebook, sets up Google Tag Manager tracking, and logs the campaign in Salesforce.
naftiko: "0.5"
info:
label: "Social Media Campaign Launch Orchestrator"
description: "When a new product campaign is approved, creates scheduled posts on Instagram and Facebook, sets up Google Tag Manager tracking, and logs the campaign in Salesforce."
tags:
- marketing
- social-media
- instagram
- facebook
- google-tag-manager
- salesforce
capability:
exposes:
- type: mcp
namespace: marketing-campaigns
port: 8080
tools:
- name: launch-social-campaign
description: "Given campaign details, create posts on Instagram and Facebook, configure GTM tracking, and log the campaign in Salesforce."
inputParameters:
- name: campaign_name
in: body
type: string
description: "The marketing campaign name."
- name: product_sku
in: body
type: string
description: "The product SKU being promoted."
- name: launch_date
in: body
type: string
description: "Campaign launch date in YYYY-MM-DD format."
- name: creative_url
in: body
type: string
description: "URL of the approved creative asset."
steps:
- name: create-ig-post
type: call
call: "instagram.create-media"
with:
image_url: "{{creative_url}}"
caption: "{{campaign_name}} — Shop now! #Reckitt"
scheduled_publish_time: "{{launch_date}}T09:00:00Z"
- name: create-fb-post
type: call
call: "facebook.create-post"
with:
message: "{{campaign_name}} — Discover our latest product!"
link: "https://www.reckitt.com/products/{{product_sku}}"
scheduled_publish_time: "{{launch_date}}T09:00:00Z"
- name: setup-tracking
type: call
call: "gtm.create-tag"
with:
tag_name: "campaign_{{campaign_name}}"
trigger: "page_view"
utm_campaign: "{{campaign_name}}"
- name: log-campaign
type: call
call: "salesforce.create-campaign"
with:
name: "{{campaign_name}}"
type: "Social Media"
start_date: "{{launch_date}}"
status: "Planned"
consumes:
- type: http
namespace: instagram
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.meta_access_token"
resources:
- name: media
path: "/{{ig_user_id}}/media"
operations:
- name: create-media
method: POST
- type: http
namespace: facebook
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.meta_access_token"
resources:
- name: posts
path: "/{{page_id}}/feed"
operations:
- name: create-post
method: POST
- type: http
namespace: gtm
baseUri: "https://www.googleapis.com/tagmanager/v2"
authentication:
type: bearer
token: "$secrets.google_tagmanager_token"
resources:
- name: tags
path: "/accounts/{{account_id}}/containers/{{container_id}}/workspaces/{{workspace_id}}/tags"
operations:
- name: create-tag
method: POST
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: campaigns
path: "/sobjects/Campaign"
operations:
- name: create-campaign
method: POST
When a new supplier is approved in SAP Ariba, creates the vendor master in SAP S/4HANA, provisions a Box folder for contracts, and notifies procurement in Microsoft Teams.
naftiko: "0.5"
info:
label: "Supplier Onboarding Pipeline"
description: "When a new supplier is approved in SAP Ariba, creates the vendor master in SAP S/4HANA, provisions a Box folder for contracts, and notifies procurement in Microsoft Teams."
tags:
- procurement
- supplier-management
- sap-ariba
- sap-s4hana
- box
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: procurement-supplier
port: 8080
tools:
- name: onboard-supplier
description: "Given an Ariba supplier ID, create the vendor master in SAP, provision a Box contract folder, and notify procurement via Teams."
inputParameters:
- name: supplier_id
in: body
type: string
description: "The SAP Ariba supplier ID."
- name: buyer_email
in: body
type: string
description: "The procurement buyer email for notifications."
steps:
- name: get-supplier
type: call
call: "ariba.get-supplier"
with:
supplier_id: "{{supplier_id}}"
- name: create-vendor
type: call
call: "sap.create-vendor"
with:
vendor_name: "{{get-supplier.company_name}}"
tax_id: "{{get-supplier.tax_id}}"
country: "{{get-supplier.country}}"
- name: provision-folder
type: call
call: "box.create-folder"
with:
folder_name: "Supplier_{{get-supplier.company_name}}"
parent_folder_id: "supplier_contracts_root"
- name: notify-buyer
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{buyer_email}}"
text: "Supplier {{get-supplier.company_name}} onboarded. SAP vendor: {{create-vendor.vendor_id}}. Contract folder: {{provision-folder.url}}."
consumes:
- type: http
namespace: ariba
baseUri: "https://openapi.ariba.com/api/supplier/v1"
authentication:
type: bearer
token: "$secrets.ariba_token"
resources:
- name: suppliers
path: "/suppliers/{{supplier_id}}"
inputParameters:
- name: supplier_id
in: path
operations:
- name: get-supplier
method: GET
- type: http
namespace: sap
baseUri: "https://reckitt-s4.sap.com/sap/opu/odata/sap/API_BUSINESS_PARTNER"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: vendors
path: "/A_Supplier"
operations:
- name: create-vendor
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: folders
path: "/folders"
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
Extracts demand forecast data from SAP BW, transforms it, and pushes to Tableau for supply chain planning dashboards.
naftiko: "0.5"
info:
label: "Supply Chain Demand Forecast Sync"
description: "Extracts demand forecast data from SAP BW, transforms it, and pushes to Tableau for supply chain planning dashboards."
tags:
- supply-chain
- forecasting
- sap-bw
- tableau
capability:
exposes:
- type: mcp
namespace: supply-chain-forecast
port: 8080
tools:
- name: sync-demand-forecast
description: "Extract demand forecast from SAP BW for a product group and date range, then publish to Tableau for visualization."
inputParameters:
- name: product_group
in: body
type: string
description: "The SAP product group code."
- name: forecast_period
in: body
type: string
description: "The forecast period in YYYY-MM format."
steps:
- name: extract-forecast
type: call
call: "sapbw.run-query"
with:
query_name: "DEMAND_FORECAST"
product_group: "{{product_group}}"
period: "{{forecast_period}}"
- name: publish-to-tableau
type: call
call: "tableau.publish-datasource"
with:
datasource_name: "demand_forecast_{{product_group}}"
data: "{{extract-forecast.results}}"
consumes:
- type: http
namespace: sapbw
baseUri: "https://reckitt-bw.sap.com/sap/bw/odata/v1"
authentication:
type: basic
username: "$secrets.sap_bw_user"
password: "$secrets.sap_bw_password"
resources:
- name: queries
path: "/query/{{query_name}}"
inputParameters:
- name: query_name
in: path
operations:
- name: run-query
method: POST
- type: http
namespace: tableau
baseUri: "https://reckitt.online.tableau.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/sites/{{site_id}}/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates supply chain demand planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Supply Chain Demand Planning Pipeline"
description: "Orchestrates supply chain demand planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- supply
- reckitt
- teams
- jira
- confluence
capability:
exposes:
- type: mcp
namespace: supply
port: 8080
tools:
- name: supply-chain-demand-planning-pipeline
description: "Orchestrates supply chain demand planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/supply"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://reckitt.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/supply"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://reckitt.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/supply"
operations:
- name: execute-3
method: POST
Orchestrates supply chain risk monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Supply Chain Risk Monitoring Pipeline"
description: "Orchestrates supply chain risk monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- supply
- reckitt
- datadog
- reckitt
- salesforce
capability:
exposes:
- type: mcp
namespace: supply
port: 8080
tools:
- name: supply-chain-risk-monitoring-pipeline
description: "Orchestrates supply chain risk monitoring pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "datadog.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "reckitt.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_api_key"
resources:
- name: datadog-resource
path: "/api/supply"
operations:
- name: execute-1
method: POST
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/supply"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/supply"
operations:
- name: execute-3
method: POST
Orchestrates sustainability packaging transition pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Sustainability Packaging Transition Pipeline"
description: "Orchestrates sustainability packaging transition pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- sustainability
- reckitt
- slack
- sap
- teams
capability:
exposes:
- type: mcp
namespace: sustainability
port: 8080
tools:
- name: sustainability-packaging-transition-pipeline
description: "Orchestrates sustainability packaging transition pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sap.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/sustainability"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://reckitt-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/sustainability"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/sustainability"
operations:
- name: execute-3
method: POST
Triggers a Tableau workbook extract refresh and returns the refresh job status.
naftiko: "0.5"
info:
label: "Tableau Workbook Refresh"
description: "Triggers a Tableau workbook extract refresh and returns the refresh job status."
tags:
- analytics
- reporting
- tableau
capability:
exposes:
- type: mcp
namespace: analytics-tableau
port: 8080
tools:
- name: refresh-workbook
description: "Trigger a Tableau workbook extract refresh by workbook ID. Returns the refresh job ID and status."
inputParameters:
- name: workbook_id
in: body
type: string
description: "The Tableau workbook ID."
- name: site_id
in: body
type: string
description: "The Tableau site ID."
call: "tableau.refresh-workbook"
with:
workbook_id: "{{workbook_id}}"
site_id: "{{site_id}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://reckitt.online.tableau.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: workbooks
path: "/sites/{{site_id}}/workbooks/{{workbook_id}}/refresh"
inputParameters:
- name: site_id
in: path
- name: workbook_id
in: path
operations:
- name: refresh-workbook
method: POST
Orchestrates trade promotion effectiveness pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Trade Promotion Effectiveness Pipeline"
description: "Orchestrates trade promotion effectiveness pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- trade
- reckitt
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: trade
port: 8080
tools:
- name: trade-promotion-effectiveness-pipeline
description: "Orchestrates trade promotion effectiveness pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/trade"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/trade"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/trade"
operations:
- name: execute-3
method: POST
Orchestrates trade promotion planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Trade Promotion Planning Pipeline"
description: "Orchestrates trade promotion planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- trade
- reckitt
- reckitt
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: trade
port: 8080
tools:
- name: trade-promotion-planning-pipeline
description: "Orchestrates trade promotion planning pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "reckitt.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: reckitt-resource
path: "/api/trade"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://reckitt.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/trade"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/trade"
operations:
- name: execute-3
method: POST
Retrieves trade promotion status data from the Reckitt consumer health and hygiene products systems.
naftiko: "0.5"
info:
label: "Trade Promotion Status"
description: "Retrieves trade promotion status data from the Reckitt consumer health and hygiene products systems."
tags:
- trade
- reckitt
- status
capability:
exposes:
- type: mcp
namespace: trade
port: 8080
tools:
- name: trade-promotion-status
description: "Retrieves trade promotion status data from the Reckitt consumer health and hygiene products systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "reckitt.trade-promotion-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: reckitt
baseUri: "https://api.reckitt.com/v2"
authentication:
type: bearer
token: "$secrets.reckitt_api_token"
resources:
- name: resource
path: "/trade/promotion/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: trade-promotion-status
method: GET
Orchestrates trade spend reconciliation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Trade Spend Reconciliation Pipeline"
description: "Orchestrates trade spend reconciliation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
tags:
- trade
- reckitt
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: trade
port: 8080
tools:
- name: trade-spend-reconciliation-pipeline
description: "Orchestrates trade spend reconciliation pipeline across consumer health and hygiene products systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://reckitt.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/trade"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://reckitt.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/trade"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/trade"
operations:
- name: execute-3
method: POST
Looks up an employee in Workday by ID and returns name, department, title, manager, and contact information.
naftiko: "0.5"
info:
label: "Workday Employee Directory Lookup"
description: "Looks up an employee in Workday by ID and returns name, department, title, manager, and contact information."
tags:
- hr
- directory
- workday
capability:
exposes:
- type: mcp
namespace: hr-directory
port: 8080
tools:
- name: get-employee
description: "Look up a Workday employee by ID. Returns name, department, title, manager, and work email."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday employee ID."
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
Retrieves a Zendesk support ticket by ID, returning subject, status, priority, assignee, and customer details.
naftiko: "0.5"
info:
label: "Zendesk Support Ticket Lookup"
description: "Retrieves a Zendesk support ticket by ID, returning subject, status, priority, assignee, and customer details."
tags:
- customer-service
- support
- zendesk
capability:
exposes:
- type: mcp
namespace: customer-support
port: 8080
tools:
- name: get-ticket
description: "Look up a Zendesk support ticket by ID. Returns subject, status, priority, assignee, and requester info."
inputParameters:
- name: ticket_id
in: body
type: string
description: "The Zendesk ticket ID."
call: "zendesk.get-ticket"
with:
ticket_id: "{{ticket_id}}"
consumes:
- type: http
namespace: zendesk
baseUri: "https://reckitt.zendesk.com/api/v2"
authentication:
type: basic
username: "$secrets.zendesk_user"
password: "$secrets.zendesk_api_token"
resources:
- name: tickets
path: "/tickets/{{ticket_id}}"
inputParameters:
- name: ticket_id
in: path
operations:
- name: get-ticket
method: GET
Creates a Zoom meeting with specified parameters and returns the join URL and meeting ID.
naftiko: "0.5"
info:
label: "Zoom Meeting Scheduler"
description: "Creates a Zoom meeting with specified parameters and returns the join URL and meeting ID."
tags:
- collaboration
- meetings
- zoom
capability:
exposes:
- type: mcp
namespace: comms-zoom
port: 8080
tools:
- name: create-meeting
description: "Create a Zoom meeting. Returns meeting ID and join URL."
inputParameters:
- name: topic
in: body
type: string
description: "The meeting topic."
- name: start_time
in: body
type: string
description: "Start time in ISO 8601 format."
- name: duration
in: body
type: number
description: "Meeting duration in minutes."
call: "zoom.create-meeting"
with:
topic: "{{topic}}"
start_time: "{{start_time}}"
duration: "{{duration}}"
consumes:
- type: http
namespace: zoom
baseUri: "https://api.zoom.us/v2"
authentication:
type: bearer
token: "$secrets.zoom_token"
resources:
- name: meetings
path: "/users/me/meetings"
operations:
- name: create-meeting
method: POST