Paramount Capabilities
Naftiko 0.5 capability definitions for Paramount - 100 capabilities showing integration workflows and service orchestrations.
Pulls ad impression and revenue data from Google Ads and the internal ad server, reconciles in Snowflake, and updates the advertising revenue dashboard in Tableau.
naftiko: "0.5"
info:
label: "Ad Campaign Revenue Tracker"
description: "Pulls ad impression and revenue data from Google Ads and the internal ad server, reconciles in Snowflake, and updates the advertising revenue dashboard in Tableau."
tags:
- advertising
- revenue
- google-ads
- snowflake
- tableau
capability:
exposes:
- type: mcp
namespace: ad-revenue
port: 8080
tools:
- name: track-ad-revenue
description: "Track advertising revenue across platforms and update the revenue dashboard."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The advertising campaign identifier."
- name: date
in: body
type: string
description: "The reporting date in YYYY-MM-DD format."
steps:
- name: get-google-ads-data
type: call
call: "google-ads.get-campaign-revenue"
with:
campaign_id: "{{campaign_id}}"
date: "{{date}}"
- name: get-internal-ad-data
type: call
call: "ad-server.get-revenue"
with:
campaign_id: "{{campaign_id}}"
date: "{{date}}"
- name: reconcile-revenue
type: call
call: "snowflake.execute-query"
with:
query: "CALL reconcile_ad_revenue('{{campaign_id}}', '{{date}}')"
- name: refresh-dashboard
type: call
call: "tableau.refresh-extract"
with:
datasource_id: "ad_revenue_ds"
consumes:
- type: http
namespace: google-ads
baseUri: "https://googleads.googleapis.com/v14"
authentication:
type: bearer
token: "$secrets.google_ads_token"
resources:
- name: campaigns
path: "/customers/paramount/campaigns/{{campaign_id}}/revenue"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-campaign-revenue
method: GET
- type: http
namespace: ad-server
baseUri: "https://api.paramount.com/adserver/v1"
authentication:
type: bearer
token: "$secrets.paramount_adserver_token"
resources:
- name: revenue
path: "/campaigns/{{campaign_id}}/revenue"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-revenue
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.paramount.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/sites/paramount/datasources/{{datasource_id}}/refresh"
inputParameters:
- name: datasource_id
in: path
operations:
- name: refresh-extract
method: POST
Queries the ad server for available ad inventory by content category, time slot, and region. Returns available impressions and CPM rates.
naftiko: "0.5"
info:
label: "Ad Inventory Availability Checker"
description: "Queries the ad server for available ad inventory by content category, time slot, and region. Returns available impressions and CPM rates."
tags:
- advertising
- inventory
capability:
exposes:
- type: mcp
namespace: ad-inventory
port: 8080
tools:
- name: check-ad-inventory
description: "Check available advertising inventory by category and region."
inputParameters:
- name: content_category
in: body
type: string
description: "The content category for ad placement."
- name: region
in: body
type: string
description: "The geographic region."
- name: date_range
in: body
type: string
description: "The date range for inventory check."
call: "ad-server.get-inventory"
with:
category: "{{content_category}}"
region: "{{region}}"
range: "{{date_range}}"
outputParameters:
- name: available_impressions
type: integer
mapping: "$.data.available_impressions"
- name: cpm_rate
type: number
mapping: "$.data.cpm"
- name: fill_rate
type: number
mapping: "$.data.current_fill_rate"
consumes:
- type: http
namespace: ad-server
baseUri: "https://api.paramount.com/adserver/v1"
authentication:
type: bearer
token: "$secrets.paramount_adserver_token"
resources:
- name: inventory
path: "/inventory/check"
operations:
- name: get-inventory
method: GET
Queries the post-production workflow system for Adobe Premiere Pro project status. Returns edit progress, review status, and estimated delivery date.
naftiko: "0.5"
info:
label: "Adobe Premiere Pro Project Status"
description: "Queries the post-production workflow system for Adobe Premiere Pro project status. Returns edit progress, review status, and estimated delivery date."
tags:
- content
- post-production
- adobe-premiere-pro
capability:
exposes:
- type: mcp
namespace: post-production
port: 8080
tools:
- name: get-edit-project-status
description: "Look up the status of a post-production editing project."
inputParameters:
- name: project_id
in: body
type: string
description: "The post-production project identifier."
call: "postprod-api.get-project"
with:
project_id: "{{project_id}}"
outputParameters:
- name: edit_progress
type: number
mapping: "$.data.edit_progress_pct"
- name: review_status
type: string
mapping: "$.data.review_status"
- name: estimated_delivery
type: string
mapping: "$.data.estimated_delivery_date"
consumes:
- type: http
namespace: postprod-api
baseUri: "https://api.paramount.com/postproduction/v1"
authentication:
type: bearer
token: "$secrets.paramount_postprod_token"
resources:
- name: projects
path: "/projects/{{project_id}}"
inputParameters:
- name: project_id
in: path
operations:
- name: get-project
method: GET
Queries first-party streaming data in Snowflake to build audience segments, syncs them to the ad server for targeting, and logs the segment in Salesforce for advertiser proposals.
naftiko: "0.5"
info:
label: "Advertising Audience Segment Builder"
description: "Queries first-party streaming data in Snowflake to build audience segments, syncs them to the ad server for targeting, and logs the segment in Salesforce for advertiser proposals."
tags:
- advertising
- streaming
- snowflake
- salesforce
capability:
exposes:
- type: mcp
namespace: audience-ops
port: 8080
tools:
- name: build-audience-segment
description: "Build an advertising audience segment from streaming data."
inputParameters:
- name: segment_name
in: body
type: string
description: "Name for the new audience segment."
- name: genre_affinity
in: body
type: string
description: "Genre affinity filter."
- name: min_watch_hours
in: body
type: number
description: "Minimum watch hours threshold."
steps:
- name: query-audience
type: call
call: "snowflake.execute-query"
with:
query: "CALL build_audience_segment('{{segment_name}}', '{{genre_affinity}}', {{min_watch_hours}})"
- name: sync-to-adserver
type: call
call: "ad-server.create-segment"
with:
segment_name: "{{segment_name}}"
user_ids: "{{query-audience.user_ids}}"
- name: log-in-salesforce
type: call
call: "salesforce.create-record"
with:
object: "Audience_Segment__c"
data:
name: "{{segment_name}}"
size: "{{query-audience.segment_size}}"
ad_server_id: "{{sync-to-adserver.segment_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: ad-server
baseUri: "https://api.paramount.com/adserver/v1"
authentication:
type: bearer
token: "$secrets.paramount_adserver_token"
resources:
- name: segments
path: "/segments"
operations:
- name: create-segment
method: POST
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: records
path: "/sobjects/{{object}}"
inputParameters:
- name: object
in: path
operations:
- name: create-record
method: POST
Pulls affiliate sign-up and conversion data from the affiliate platform, joins with subscription revenue in Snowflake, and updates the partnerships dashboard in Tableau.
naftiko: "0.5"
info:
label: "Affiliate Partner Performance Report"
description: "Pulls affiliate sign-up and conversion data from the affiliate platform, joins with subscription revenue in Snowflake, and updates the partnerships dashboard in Tableau."
tags:
- marketing
- advertising
- snowflake
- tableau
capability:
exposes:
- type: mcp
namespace: affiliate-ops
port: 8080
tools:
- name: report-affiliate-performance
description: "Generate an affiliate partner performance report."
inputParameters:
- name: partner_id
in: body
type: string
description: "The affiliate partner identifier."
- name: date_start
in: body
type: string
description: "Report start date."
- name: date_end
in: body
type: string
description: "Report end date."
steps:
- name: get-affiliate-data
type: call
call: "affiliate-platform.get-partner-stats"
with:
partner_id: "{{partner_id}}"
start_date: "{{date_start}}"
end_date: "{{date_end}}"
- name: get-revenue-data
type: call
call: "snowflake.execute-query"
with:
query: "SELECT SUM(revenue) as total_revenue FROM affiliate_subscriptions WHERE partner_id='{{partner_id}}'"
- name: refresh-dashboard
type: call
call: "tableau.refresh-extract"
with:
datasource_id: "affiliate_performance_ds"
consumes:
- type: http
namespace: affiliate-platform
baseUri: "https://api.paramount.com/affiliates/v1"
authentication:
type: bearer
token: "$secrets.paramount_affiliate_token"
resources:
- name: partners
path: "/partners/{{partner_id}}/stats"
inputParameters:
- name: partner_id
in: path
operations:
- name: get-partner-stats
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.paramount.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/sites/paramount/datasources/{{datasource_id}}/refresh"
inputParameters:
- name: datasource_id
in: path
operations:
- name: refresh-extract
method: POST
Queries Azure DevOps for the latest pipeline build status. Returns build number, result, and source branch.
naftiko: "0.5"
info:
label: "Azure DevOps Pipeline Status"
description: "Queries Azure DevOps for the latest pipeline build status. Returns build number, result, and source branch."
tags:
- development
- azure-devops
capability:
exposes:
- type: mcp
namespace: cicd-ops
port: 8080
tools:
- name: get-pipeline-status
description: "Look up the latest Azure DevOps pipeline build status."
inputParameters:
- name: pipeline_id
in: body
type: string
description: "The pipeline definition identifier."
call: "azdo.get-latest-build"
with:
pipeline_id: "{{pipeline_id}}"
outputParameters:
- name: build_number
type: string
mapping: "$.value[0].buildNumber"
- name: result
type: string
mapping: "$.value[0].result"
- name: source_branch
type: string
mapping: "$.value[0].sourceBranch"
consumes:
- type: http
namespace: azdo
baseUri: "https://dev.azure.com/paramount/streaming/_apis/build"
authentication:
type: basic
username: ""
password: "$secrets.azdo_pat"
resources:
- name: builds
path: "/builds?definitions={{pipeline_id}}&$top=1&api-version=7.0"
inputParameters:
- name: pipeline_id
in: query
operations:
- name: get-latest-build
method: GET
Uploads a document to Box and creates a shared link for distribution.
naftiko: "0.5"
info:
label: "Box File Upload and Share"
description: "Uploads a document to Box and creates a shared link for distribution."
tags:
- document-management
- box
capability:
exposes:
- type: mcp
namespace: file-sharing
port: 8080
tools:
- name: upload-and-share-file
description: "Upload a file to Box and create a shared link."
inputParameters:
- name: folder_id
in: body
type: string
description: "The Box folder ID."
- name: file_name
in: body
type: string
description: "The file name."
steps:
- name: upload-file
type: call
call: "box.upload-file"
with:
folder_id: "{{folder_id}}"
file_name: "{{file_name}}"
- name: create-link
type: call
call: "box.create-shared-link"
with:
file_id: "{{upload-file.id}}"
consumes:
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files/content"
operations:
- name: upload-file
method: POST
- name: shared-links
path: "/files/{{file_id}}?fields=shared_link"
inputParameters:
- name: file_id
in: path
operations:
- name: create-shared-link
method: PUT
Searches Confluence for knowledge base articles matching a query string. Returns titles, URLs, and last updated dates.
naftiko: "0.5"
info:
label: "Confluence Knowledge Base Search"
description: "Searches Confluence for knowledge base articles matching a query string. Returns titles, URLs, and last updated dates."
tags:
- operations
- knowledge-management
- confluence
capability:
exposes:
- type: mcp
namespace: knowledge-base
port: 8080
tools:
- name: search-kb
description: "Search Confluence for knowledge base articles."
inputParameters:
- name: query
in: body
type: string
description: "The search query."
call: "confluence.search"
with:
query: "{{query}}"
outputParameters:
- name: results
type: array
mapping: "$.results"
- name: total_count
type: integer
mapping: "$.totalSize"
consumes:
- type: http
namespace: confluence
baseUri: "https://paramount.atlassian.net/wiki/rest/api"
authentication:
type: basic
username: "$secrets.confluence_user"
password: "$secrets.confluence_api_token"
resources:
- name: search
path: "/search?cql=text~'{{query}}'"
inputParameters:
- name: query
in: query
operations:
- name: search
method: GET
Checks content availability windows by territory and platform. Returns start date, end date, and licensed platforms.
naftiko: "0.5"
info:
label: "Content Availability Window Lookup"
description: "Checks content availability windows by territory and platform. Returns start date, end date, and licensed platforms."
tags:
- licensing
- content
capability:
exposes:
- type: mcp
namespace: content-windows
port: 8080
tools:
- name: get-availability-window
description: "Look up content availability windows by title and territory."
inputParameters:
- name: title_id
in: body
type: string
description: "The content title ID."
- name: territory
in: body
type: string
description: "The territory code."
call: "cms.get-window"
with:
title_id: "{{title_id}}"
territory: "{{territory}}"
outputParameters:
- name: start_date
type: string
mapping: "$.data.window_start"
- name: end_date
type: string
mapping: "$.data.window_end"
- name: platforms
type: array
mapping: "$.data.licensed_platforms"
consumes:
- type: http
namespace: cms
baseUri: "https://api.paramount.com/content/v2"
authentication:
type: bearer
token: "$secrets.paramount_cms_token"
resources:
- name: windows
path: "/titles/{{title_id}}/windows/{{territory}}"
inputParameters:
- name: title_id
in: path
- name: territory
in: path
operations:
- name: get-window
method: GET
Triggers the media encoding pipeline for a new content asset, monitors progress via the encoding service, and updates the CMS with delivery URLs when complete.
naftiko: "0.5"
info:
label: "Content Encoding Pipeline Trigger"
description: "Triggers the media encoding pipeline for a new content asset, monitors progress via the encoding service, and updates the CMS with delivery URLs when complete."
tags:
- content
- streaming
- encoding
capability:
exposes:
- type: mcp
namespace: encoding-ops
port: 8080
tools:
- name: trigger-encoding
description: "Trigger content encoding and update CMS with delivery URLs upon completion."
inputParameters:
- name: asset_id
in: body
type: string
description: "The source media asset identifier."
- name: output_profiles
in: body
type: array
description: "List of encoding profiles (4K, HD, SD, mobile)."
steps:
- name: start-encoding
type: call
call: "encoding-service.submit-job"
with:
asset_id: "{{asset_id}}"
profiles: "{{output_profiles}}"
- name: check-status
type: call
call: "encoding-service.get-job-status"
with:
job_id: "{{start-encoding.job_id}}"
- name: update-cms
type: call
call: "cms.update-delivery-urls"
with:
asset_id: "{{asset_id}}"
urls: "{{check-status.output_urls}}"
consumes:
- type: http
namespace: encoding-service
baseUri: "https://api.paramount.com/encoding/v1"
authentication:
type: bearer
token: "$secrets.paramount_encoding_token"
resources:
- name: jobs
path: "/jobs"
operations:
- name: submit-job
method: POST
- name: job-status
path: "/jobs/{{job_id}}"
inputParameters:
- name: job_id
in: path
operations:
- name: get-job-status
method: GET
- type: http
namespace: cms
baseUri: "https://api.paramount.com/content/v2"
authentication:
type: bearer
token: "$secrets.paramount_cms_token"
resources:
- name: titles
path: "/titles/{{asset_id}}/delivery"
inputParameters:
- name: asset_id
in: path
operations:
- name: update-delivery-urls
method: PUT
Retrieves licensing deal details from Salesforce, cross-references content availability windows, and stores licensing reports in Snowflake for the business affairs team.
naftiko: "0.5"
info:
label: "Content Licensing Agreement Tracker"
description: "Retrieves licensing deal details from Salesforce, cross-references content availability windows, and stores licensing reports in Snowflake for the business affairs team."
tags:
- licensing
- salesforce
- snowflake
capability:
exposes:
- type: mcp
namespace: licensing-ops
port: 8080
tools:
- name: track-licensing-agreement
description: "Track a content licensing agreement and generate availability reports."
inputParameters:
- name: deal_id
in: body
type: string
description: "The Salesforce licensing deal identifier."
steps:
- name: get-deal
type: call
call: "salesforce.get-deal"
with:
deal_id: "{{deal_id}}"
- name: get-content-windows
type: call
call: "cms.get-licensing-windows"
with:
deal_id: "{{deal_id}}"
- name: store-report
type: call
call: "snowflake.insert-record"
with:
table: "licensing_reports"
data:
deal_id: "{{deal_id}}"
partner: "{{get-deal.partner_name}}"
territories: "{{get-deal.territories}}"
window_start: "{{get-content-windows.start_date}}"
window_end: "{{get-content-windows.end_date}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: deals
path: "/sobjects/Licensing_Deal__c/{{deal_id}}"
inputParameters:
- name: deal_id
in: path
operations:
- name: get-deal
method: GET
- type: http
namespace: cms
baseUri: "https://api.paramount.com/content/v2"
authentication:
type: bearer
token: "$secrets.paramount_cms_token"
resources:
- name: licensing
path: "/deals/{{deal_id}}/windows"
inputParameters:
- name: deal_id
in: path
operations:
- name: get-licensing-windows
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: insert-record
method: POST
Retrieves content metadata from the CMS by title ID. Returns title, genre, rating, runtime, and cast information.
naftiko: "0.5"
info:
label: "Content Metadata Lookup"
description: "Retrieves content metadata from the CMS by title ID. Returns title, genre, rating, runtime, and cast information."
tags:
- content
- catalog
capability:
exposes:
- type: mcp
namespace: content-catalog
port: 8080
tools:
- name: get-content-metadata
description: "Look up content metadata by title identifier."
inputParameters:
- name: title_id
in: body
type: string
description: "The content title identifier."
call: "cms.get-title"
with:
title_id: "{{title_id}}"
outputParameters:
- name: title
type: string
mapping: "$.data.title"
- name: genre
type: array
mapping: "$.data.genres"
- name: rating
type: string
mapping: "$.data.rating"
- name: runtime
type: integer
mapping: "$.data.runtime_minutes"
consumes:
- type: http
namespace: cms
baseUri: "https://api.paramount.com/content/v2"
authentication:
type: bearer
token: "$secrets.paramount_cms_token"
resources:
- name: titles
path: "/titles/{{title_id}}"
inputParameters:
- name: title_id
in: path
operations:
- name: get-title
method: GET
Pulls user viewing history from the streaming platform, feeds it to the recommendation model in Snowflake, and updates personalized content rails in the CMS.
naftiko: "0.5"
info:
label: "Content Recommendation Engine Sync"
description: "Pulls user viewing history from the streaming platform, feeds it to the recommendation model in Snowflake, and updates personalized content rails in the CMS."
tags:
- streaming
- content
- snowflake
capability:
exposes:
- type: mcp
namespace: recommendations
port: 8080
tools:
- name: sync-recommendations
description: "Update content recommendations based on viewing patterns."
inputParameters:
- name: user_segment
in: body
type: string
description: "The user segment identifier."
- name: model_version
in: body
type: string
description: "The recommendation model version to use."
steps:
- name: get-viewing-data
type: call
call: "streaming-platform.get-viewing-history"
with:
segment: "{{user_segment}}"
- name: run-model
type: call
call: "snowflake.execute-query"
with:
query: "CALL generate_recommendations('{{user_segment}}', '{{model_version}}')"
- name: update-content-rails
type: call
call: "cms.update-recommendation-rails"
with:
segment: "{{user_segment}}"
recommendations: "{{run-model.titles}}"
consumes:
- type: http
namespace: streaming-platform
baseUri: "https://api.paramount.com/streaming/v1"
authentication:
type: bearer
token: "$secrets.paramount_streaming_token"
resources:
- name: viewing
path: "/subscribers/viewing-history"
operations:
- name: get-viewing-history
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: cms
baseUri: "https://api.paramount.com/content/v2"
authentication:
type: bearer
token: "$secrets.paramount_cms_token"
resources:
- name: recommendations
path: "/rails/recommendations"
operations:
- name: update-recommendation-rails
method: PUT
When a new title is approved for release, creates the catalog entry in the content management system, schedules distribution via the streaming platform, and notifies marketing in Microsoft Teams.
naftiko: "0.5"
info:
label: "Content Release Orchestrator"
description: "When a new title is approved for release, creates the catalog entry in the content management system, schedules distribution via the streaming platform, and notifies marketing in Microsoft Teams."
tags:
- content
- streaming
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: content-release
port: 8080
tools:
- name: orchestrate-content-release
description: "Orchestrate the release of a new title across content catalog, streaming platform, and marketing notification."
inputParameters:
- name: title_id
in: body
type: string
description: "The content title identifier."
- name: release_date
in: body
type: string
description: "The planned release date in YYYY-MM-DD format."
- name: content_type
in: body
type: string
description: "Type of content (movie, series, episode, special)."
steps:
- name: create-catalog-entry
type: call
call: "cms.create-title"
with:
title_id: "{{title_id}}"
release_date: "{{release_date}}"
content_type: "{{content_type}}"
- name: schedule-distribution
type: call
call: "streaming-platform.schedule-release"
with:
title_id: "{{title_id}}"
release_date: "{{release_date}}"
regions: "all"
- name: notify-marketing
type: call
call: "msteams.send-message"
with:
channel_id: "content-releases"
text: "New release scheduled: {{title_id}} ({{content_type}}) on {{release_date}}. Distribution: {{schedule-distribution.status}}"
consumes:
- type: http
namespace: cms
baseUri: "https://api.paramount.com/content/v2"
authentication:
type: bearer
token: "$secrets.paramount_cms_token"
resources:
- name: titles
path: "/titles"
operations:
- name: create-title
method: POST
- type: http
namespace: streaming-platform
baseUri: "https://api.paramount.com/streaming/v1"
authentication:
type: bearer
token: "$secrets.paramount_streaming_token"
resources:
- name: releases
path: "/releases/schedule"
operations:
- name: schedule-release
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/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Scans Salesforce for licensing deals with upcoming expiry dates, generates a renewal report in Snowflake, and sends alerts to business affairs via Microsoft Teams.
naftiko: "0.5"
info:
label: "Content Rights Expiry Monitor"
description: "Scans Salesforce for licensing deals with upcoming expiry dates, generates a renewal report in Snowflake, and sends alerts to business affairs via Microsoft Teams."
tags:
- licensing
- salesforce
- snowflake
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: rights-management
port: 8080
tools:
- name: monitor-rights-expiry
description: "Monitor content rights approaching expiry and alert business affairs."
inputParameters:
- name: days_ahead
in: body
type: integer
description: "Number of days ahead to check for expiring rights."
steps:
- name: get-expiring-deals
type: call
call: "salesforce.query-expiring-deals"
with:
days_ahead: "{{days_ahead}}"
- name: generate-report
type: call
call: "snowflake.execute-query"
with:
query: "CALL generate_expiry_report({{days_ahead}})"
- name: notify-team
type: call
call: "msteams.send-message"
with:
channel_id: "business-affairs"
text: "Rights expiry alert: {{get-expiring-deals.count}} deals expiring within {{days_ahead}} days. Review report in Snowflake."
consumes:
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: deals
path: "/query?q=SELECT+Id,Name,Term_End_Date__c+FROM+Licensing_Deal__c+WHERE+Term_End_Date__c<=NEXT_N_DAYS:{{days_ahead}}"
inputParameters:
- name: days_ahead
in: query
operations:
- name: query-expiring-deals
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: channel-messages
path: "/teams/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Syncs the content release calendar from the CMS to Google Calendar and Microsoft Outlook for cross-team visibility.
naftiko: "0.5"
info:
label: "Content Scheduling Calendar Sync"
description: "Syncs the content release calendar from the CMS to Google Calendar and Microsoft Outlook for cross-team visibility."
tags:
- content
- scheduling
- google-workspace
- microsoft-outlook
capability:
exposes:
- type: mcp
namespace: content-calendar
port: 8080
tools:
- name: sync-release-calendar
description: "Sync content release dates to Google Calendar and Outlook."
inputParameters:
- name: month
in: body
type: string
description: "The month to sync (YYYY-MM format)."
steps:
- name: get-releases
type: call
call: "cms.get-release-calendar"
with:
month: "{{month}}"
- name: sync-google-cal
type: call
call: "google-calendar.create-events"
with:
calendar_id: "content-releases"
events: "{{get-releases.titles}}"
- name: sync-outlook
type: call
call: "outlook.create-events"
with:
calendar_id: "content-releases"
events: "{{get-releases.titles}}"
consumes:
- type: http
namespace: cms
baseUri: "https://api.paramount.com/content/v2"
authentication:
type: bearer
token: "$secrets.paramount_cms_token"
resources:
- name: calendar
path: "/releases/calendar?month={{month}}"
inputParameters:
- name: month
in: query
operations:
- name: get-release-calendar
method: GET
- type: http
namespace: google-calendar
baseUri: "https://www.googleapis.com/calendar/v3"
authentication:
type: bearer
token: "$secrets.google_calendar_token"
resources:
- name: events
path: "/calendars/{{calendar_id}}/events"
inputParameters:
- name: calendar_id
in: path
operations:
- name: create-events
method: POST
- type: http
namespace: outlook
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: events
path: "/me/calendars/{{calendar_id}}/events"
inputParameters:
- name: calendar_id
in: path
operations:
- name: create-events
method: POST
Retrieves Datadog monitor status for streaming infrastructure. Returns monitor name, overall state, and last triggered timestamp.
naftiko: "0.5"
info:
label: "Datadog Streaming Infrastructure Monitor"
description: "Retrieves Datadog monitor status for streaming infrastructure. Returns monitor name, overall state, and last triggered timestamp."
tags:
- streaming
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: infra-monitoring
port: 8080
tools:
- name: get-monitor-status
description: "Check Datadog monitor status for streaming infrastructure."
inputParameters:
- name: monitor_id
in: body
type: string
description: "The Datadog monitor identifier."
call: "datadog.get-monitor"
with:
monitor_id: "{{monitor_id}}"
outputParameters:
- name: name
type: string
mapping: "$.name"
- name: status
type: string
mapping: "$.overall_state"
- name: last_triggered
type: string
mapping: "$.state.last_triggered_ts"
consumes:
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v1"
authentication:
type: apiKey
key: "$secrets.datadog_api_key"
header: "DD-API-KEY"
resources:
- name: monitors
path: "/monitor/{{monitor_id}}"
inputParameters:
- name: monitor_id
in: path
operations:
- name: get-monitor
method: GET
Retrieves a digital asset (image, video, poster) from Paramount's DAM system by asset ID. Returns the asset URL, format, resolution, and usage rights.
naftiko: "0.5"
info:
label: "Digital Asset Retrieval"
description: "Retrieves a digital asset (image, video, poster) from Paramount's DAM system by asset ID. Returns the asset URL, format, resolution, and usage rights."
tags:
- content
- digital-assets
capability:
exposes:
- type: mcp
namespace: asset-management
port: 8080
tools:
- name: get-digital-asset
description: "Retrieve a digital asset and its metadata from the DAM."
inputParameters:
- name: asset_id
in: body
type: string
description: "The digital asset identifier."
call: "dam.get-asset"
with:
asset_id: "{{asset_id}}"
outputParameters:
- name: url
type: string
mapping: "$.data.download_url"
- name: format
type: string
mapping: "$.data.format"
- name: resolution
type: string
mapping: "$.data.resolution"
- name: rights
type: object
mapping: "$.data.usage_rights"
consumes:
- type: http
namespace: dam
baseUri: "https://api.paramount.com/dam/v1"
authentication:
type: bearer
token: "$secrets.paramount_dam_token"
resources:
- name: assets
path: "/assets/{{asset_id}}"
inputParameters:
- name: asset_id
in: path
operations:
- name: get-asset
method: GET
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Slack 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, and sends a Slack welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- sharepoint
- slack
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Orchestrate new hire onboarding across Workday, ServiceNow, SharePoint, and Slack."
inputParameters:
- name: workday_employee_id
in: body
type: string
description: "The Workday worker ID."
- name: start_date
in: body
type: string
description: "The employee start date."
- name: department
in: body
type: string
description: "The department 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"
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"
folder_path: "NewHires/{{get-employee.full_name}}_{{start_date}}"
- name: send-welcome
type: call
call: "slack.post-message"
with:
channel: "new-hires"
text: "Welcome to Paramount, {{get-employee.first_name}}! Onboarding ticket: {{open-ticket.number}}"
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://paramount.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: folders
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: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Retrieves Google Ads campaign spending data by campaign ID. Returns total spend, impressions, clicks, and CPC.
naftiko: "0.5"
info:
label: "Google Ads Campaign Spend Lookup"
description: "Retrieves Google Ads campaign spending data by campaign ID. Returns total spend, impressions, clicks, and CPC."
tags:
- advertising
- google-ads
capability:
exposes:
- type: mcp
namespace: ad-spending
port: 8080
tools:
- name: get-campaign-spend
description: "Look up Google Ads campaign spend metrics."
inputParameters:
- name: campaign_id
in: body
type: string
description: "The Google Ads campaign identifier."
- name: date
in: body
type: string
description: "The reporting date."
call: "google-ads.get-spend"
with:
campaign_id: "{{campaign_id}}"
date: "{{date}}"
outputParameters:
- name: total_spend
type: number
mapping: "$.data.cost_micros"
- name: impressions
type: integer
mapping: "$.data.impressions"
- name: clicks
type: integer
mapping: "$.data.clicks"
consumes:
- type: http
namespace: google-ads
baseUri: "https://googleads.googleapis.com/v14"
authentication:
type: bearer
token: "$secrets.google_ads_token"
resources:
- name: campaigns
path: "/customers/paramount/campaigns/{{campaign_id}}/metrics"
inputParameters:
- name: campaign_id
in: path
operations:
- name: get-spend
method: GET
Retrieves Paramount+ website traffic metrics from Google Analytics. Returns sessions, page views, average session duration, and top landing pages.
naftiko: "0.5"
info:
label: "Google Analytics Web Traffic Report"
description: "Retrieves Paramount+ website traffic metrics from Google Analytics. Returns sessions, page views, average session duration, and top landing pages."
tags:
- marketing
- analytics
- google-analytics
capability:
exposes:
- type: mcp
namespace: web-analytics
port: 8080
tools:
- name: get-web-traffic
description: "Get Paramount+ web traffic metrics from Google Analytics."
inputParameters:
- name: start_date
in: body
type: string
description: "Report start date."
- name: end_date
in: body
type: string
description: "Report end date."
call: "google-analytics.run-report"
with:
start_date: "{{start_date}}"
end_date: "{{end_date}}"
outputParameters:
- name: sessions
type: integer
mapping: "$.rows[0].metricValues[0].value"
- name: page_views
type: integer
mapping: "$.rows[0].metricValues[1].value"
- name: avg_session_duration
type: number
mapping: "$.rows[0].metricValues[2].value"
consumes:
- type: http
namespace: google-analytics
baseUri: "https://analyticsdata.googleapis.com/v1beta"
authentication:
type: bearer
token: "$secrets.google_analytics_token"
resources:
- name: reports
path: "/properties/paramount/runReport"
operations:
- name: run-report
method: POST
Retrieves tag configuration from Google Tag Manager for the Paramount+ website.
naftiko: "0.5"
info:
label: "Google Tag Manager Container Lookup"
description: "Retrieves tag configuration from Google Tag Manager for the Paramount+ website."
tags:
- marketing
- google-tag-manager
capability:
exposes:
- type: mcp
namespace: gtm-ops
port: 8080
tools:
- name: get-gtm-tag
description: "Look up a GTM tag configuration."
inputParameters:
- name: tag_id
in: body
type: string
description: "The GTM tag ID."
call: "gtm.get-tag"
with:
tag_id: "{{tag_id}}"
outputParameters:
- name: tag_name
type: string
mapping: "$.tag.name"
- name: tag_type
type: string
mapping: "$.tag.type"
consumes:
- type: http
namespace: gtm
baseUri: "https://www.googleapis.com/tagmanager/v2"
authentication:
type: bearer
token: "$secrets.google_tagmanager_token"
resources:
- name: tags
path: "/accounts/paramount/containers/web/workspaces/default/tags/{{tag_id}}"
inputParameters:
- name: tag_id
in: path
operations:
- name: get-tag
method: GET
Syncs marketing qualified leads from HubSpot to Salesforce for the advertising sales team.
naftiko: "0.5"
info:
label: "HubSpot Marketing Lead Sync"
description: "Syncs marketing qualified leads from HubSpot to Salesforce for the advertising sales team."
tags:
- marketing
- hubspot
- salesforce
capability:
exposes:
- type: mcp
namespace: lead-sync
port: 8080
tools:
- name: sync-hubspot-lead
description: "Sync a HubSpot marketing lead to Salesforce."
inputParameters:
- name: contact_id
in: body
type: string
description: "The HubSpot contact ID."
steps:
- name: get-contact
type: call
call: "hubspot.get-contact"
with:
contact_id: "{{contact_id}}"
- name: create-lead
type: call
call: "salesforce.create-lead"
with:
first_name: "{{get-contact.firstname}}"
last_name: "{{get-contact.lastname}}"
email: "{{get-contact.email}}"
company: "{{get-contact.company}}"
consumes:
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/objects/contacts/{{contact_id}}"
inputParameters:
- name: contact_id
in: path
operations:
- name: get-contact
method: GET
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: leads
path: "/sobjects/Lead"
operations:
- name: create-lead
method: POST
Creates a Jira issue for production workflow blockers, links related content in Confluence, and notifies the production team via Slack.
naftiko: "0.5"
info:
label: "Jira Production Issue Tracker"
description: "Creates a Jira issue for production workflow blockers, links related content in Confluence, and notifies the production team via Slack."
tags:
- content
- production
- jira
- confluence
- slack
capability:
exposes:
- type: mcp
namespace: production-tracking
port: 8080
tools:
- name: create-production-issue
description: "Create a production issue in Jira with Confluence links and Slack notification."
inputParameters:
- name: production_id
in: body
type: string
description: "The production identifier."
- name: issue_summary
in: body
type: string
description: "Summary of the production issue."
- name: priority
in: body
type: string
description: "Issue priority (Highest, High, Medium, Low)."
steps:
- name: create-jira-issue
type: call
call: "jira.create-issue"
with:
project: "PROD"
summary: "{{issue_summary}}"
priority: "{{priority}}"
labels: ["production-{{production_id}}"]
- name: link-wiki
type: call
call: "confluence.create-page-link"
with:
space: "PROD"
page_title: "Production {{production_id}} - Issues"
link_url: "{{create-jira-issue.self}}"
- name: notify-team
type: call
call: "slack.post-message"
with:
channel: "production-issues"
text: "New issue for Production {{production_id}}: {{issue_summary}} ({{priority}}). Jira: {{create-jira-issue.key}}"
consumes:
- type: http
namespace: jira
baseUri: "https://paramount.atlassian.net/rest/api/3"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: issues
path: "/issue"
operations:
- name: create-issue
method: POST
- type: http
namespace: confluence
baseUri: "https://paramount.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-link
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Pulls sprint progress from Jira and posts a daily summary to the engineering Slack channel.
naftiko: "0.5"
info:
label: "Jira Sprint Status Reporter"
description: "Pulls sprint progress from Jira and posts a daily summary to the engineering Slack channel."
tags:
- development
- jira
- slack
capability:
exposes:
- type: mcp
namespace: dev-reporting
port: 8080
tools:
- name: report-sprint-status
description: "Generate and post a Jira sprint status report to Slack."
inputParameters:
- name: board_id
in: body
type: string
description: "The Jira board identifier."
steps:
- name: get-sprint
type: call
call: "jira.get-active-sprint"
with:
board_id: "{{board_id}}"
- name: get-issues
type: call
call: "jira.get-sprint-issues"
with:
sprint_id: "{{get-sprint.id}}"
- name: post-report
type: call
call: "slack.post-message"
with:
channel: "engineering"
text: "Sprint {{get-sprint.name}}: {{get-issues.done_count}}/{{get-issues.total_count}} done. {{get-issues.in_progress_count}} in progress."
consumes:
- type: http
namespace: jira
baseUri: "https://paramount.atlassian.net/rest/agile/1.0"
authentication:
type: basic
username: "$secrets.jira_user"
password: "$secrets.jira_api_token"
resources:
- name: sprints
path: "/board/{{board_id}}/sprint?state=active"
inputParameters:
- name: board_id
in: path
operations:
- name: get-active-sprint
method: GET
- name: sprint-issues
path: "/sprint/{{sprint_id}}/issue"
inputParameters:
- name: sprint_id
in: path
operations:
- name: get-sprint-issues
method: GET
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Retrieves newsletter subscribers from MailChimp and syncs to Salesforce Marketing Cloud for unified audience management.
naftiko: "0.5"
info:
label: "MailChimp Newsletter Subscriber Sync"
description: "Retrieves newsletter subscribers from MailChimp and syncs to Salesforce Marketing Cloud for unified audience management."
tags:
- marketing
- mailchimp
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: subscriber-sync
port: 8080
tools:
- name: sync-mailchimp-subscribers
description: "Sync MailChimp subscribers to SFMC."
inputParameters:
- name: list_id
in: body
type: string
description: "The MailChimp list identifier."
steps:
- name: get-subscribers
type: call
call: "mailchimp.get-members"
with:
list_id: "{{list_id}}"
- name: sync-to-sfmc
type: call
call: "sfmc.upsert-data-extension"
with:
data_extension: "mailchimp_subscribers"
rows: "{{get-subscribers.members}}"
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: lists
path: "/lists/{{list_id}}/members"
inputParameters:
- name: list_id
in: path
operations:
- name: get-members
method: GET
- type: http
namespace: sfmc
baseUri: "https://paramount.rest.marketingcloudapis.com/data/v1"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: data-extensions
path: "/customobjectdata/key/{{data_extension}}/rowset"
inputParameters:
- name: data_extension
in: path
operations:
- name: upsert-data-extension
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 1"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-1
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-1"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 10"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-10
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-10"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-10
method: POST
- type: http
namespace: sharepoint
baseUri: "https://paramount.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 11"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-11
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-11"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 11 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-11
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 12"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-12
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-12"
with:
identifier: "{{identifier}}"
- name: push
type: call
call: "datadog.submit-metrics"
with:
metric_name: "media.workflow_12"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-12
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_token"
resources:
- name: metrics
path: "/metrics"
operations:
- name: submit-metrics
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 13"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-13
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-13"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-13
method: POST
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 14"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-14
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-14"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-14
method: POST
- type: http
namespace: servicenow
baseUri: "https://paramount.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 15"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- slack
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-15
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-15"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#media"
text: "Completed workflow 15: {{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-15
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 16"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-16
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-16"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "MEDIA"
title: "Report 16"
content: "{{process.report}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-16
method: POST
- type: http
namespace: confluence
baseUri: "https://paramount.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 17"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-17
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-17"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_17"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-17
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 18"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- jira
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-18
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-18"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "MEDI"
summary: "Task from workflow 18"
description: "{{process.details}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-18
method: POST
- type: http
namespace: jira
baseUri: "https://paramount.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 19"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- teams
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-19
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-19"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "media"
message: "Workflow 19 complete: {{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-19
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 2"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-2
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-2"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://paramount.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 20"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-20
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-20"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_20"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-20
method: POST
- type: http
namespace: tableau
baseUri: "https://paramount-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 21"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- box
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-21
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-21"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-21
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 22"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-22
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-22"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-22
method: POST
- type: http
namespace: sharepoint
baseUri: "https://paramount.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 23"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-23
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-23"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 23 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-23
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 24"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- datadog
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-24
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-24"
with:
identifier: "{{identifier}}"
- name: push
type: call
call: "datadog.submit-metrics"
with:
metric_name: "media.workflow_24"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-24
method: POST
- type: http
namespace: datadog
baseUri: "https://api.datadoghq.com/api/v2"
authentication:
type: bearer
token: "$secrets.datadog_token"
resources:
- name: metrics
path: "/metrics"
operations:
- name: submit-metrics
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 25"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- salesforce
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-25
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-25"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "salesforce.create-account"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-25
method: POST
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: accounts
path: "/accounts"
operations:
- name: create-account
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 26"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-26
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-26"
with:
identifier: "{{identifier}}"
- name: create
type: call
call: "servicenow.create-incident"
with:
data: "{{process.result}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-26
method: POST
- type: http
namespace: servicenow
baseUri: "https://paramount.service-now.com/api/now/v1"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: incidents
path: "/incidents"
operations:
- name: create-incident
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 27"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- slack
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-27
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-27"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#media"
text: "Completed workflow 27: {{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-27
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 28"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-28
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-28"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "MEDIA"
title: "Report 28"
content: "{{process.report}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-28
method: POST
- type: http
namespace: confluence
baseUri: "https://paramount.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 29"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-29
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-29"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_29"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-29
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 3"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- slack
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-3
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-3"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "slack.post-message"
with:
channel: "#media"
text: "Completed workflow 3: {{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-3
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_token"
resources:
- name: messages
path: "/messages"
operations:
- name: post-message
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 30"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- jira
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-30
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-30"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "MEDI"
summary: "Task from workflow 30"
description: "{{process.details}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-30
method: POST
- type: http
namespace: jira
baseUri: "https://paramount.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 31"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- teams
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-31
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-31"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "media"
message: "Workflow 31 complete: {{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-31
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 32"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-32
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-32"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_32"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-32
method: POST
- type: http
namespace: tableau
baseUri: "https://paramount-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 33"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- box
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-33
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-33"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-33
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 34"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- sharepoint
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-34
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-34"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "sharepoint.upload-document"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-34
method: POST
- type: http
namespace: sharepoint
baseUri: "https://paramount.sharepoint.com/_api/v2.0"
authentication:
type: bearer
token: "$secrets.sharepoint_token"
resources:
- name: documents
path: "/documents"
operations:
- name: upload-document
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 35"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- hubspot
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-35
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-35"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "hubspot.send-email"
with:
to: "{{process.email}}"
subject: "Workflow 35 Complete"
body: "{{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-35
method: POST
- type: http
namespace: hubspot
baseUri: "https://api.hubapi.com/crm/v3"
authentication:
type: bearer
token: "$secrets.hubspot_token"
resources:
- name: contacts
path: "/contacts"
operations:
- name: send-email
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 4"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- confluence
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-4
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-4"
with:
identifier: "{{identifier}}"
- name: publish
type: call
call: "confluence.create-page"
with:
space: "MEDIA"
title: "Report 4"
content: "{{process.report}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-4
method: POST
- type: http
namespace: confluence
baseUri: "https://paramount.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: pages
path: "/pages"
operations:
- name: create-page
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 5"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- powerbi
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-5
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-5"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "powerbi.refresh-dataset"
with:
dataset_id: "workflow_5"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-5
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets"
operations:
- name: refresh-dataset
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 6"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- jira
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-6
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-6"
with:
identifier: "{{identifier}}"
- name: create-ticket
type: call
call: "jira.create-issue"
with:
project: "MEDI"
summary: "Task from workflow 6"
description: "{{process.details}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-6
method: POST
- type: http
namespace: jira
baseUri: "https://paramount.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: issues
path: "/issues"
operations:
- name: create-issue
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 7"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- teams
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-7
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-7"
with:
identifier: "{{identifier}}"
- name: notify
type: call
call: "teams.send-message"
with:
channel_id: "media"
message: "Workflow 7 complete: {{process.summary}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-7
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: messages
path: "/messages"
operations:
- name: send-message
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 8"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- tableau
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-8
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-8"
with:
identifier: "{{identifier}}"
- name: refresh
type: call
call: "tableau.publish-datasource"
with:
dataset_id: "workflow_8"
data: "{{process.metrics}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-8
method: POST
- type: http
namespace: tableau
baseUri: "https://paramount-tableau.online.tableau.com/api/3.19"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/datasources"
operations:
- name: publish-datasource
method: POST
Orchestrates media operations including data retrieval, processing, and automated notification for Paramount.
naftiko: "0.5"
info:
label: "Paramount Workflow 9"
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
tags:
- media
- operations
- box
capability:
exposes:
- type: mcp
namespace: media
port: 8080
tools:
- name: paramount-workflow-9
description: "Orchestrates media operations including data retrieval, processing, and automated notification for Paramount."
inputParameters:
- name: identifier
in: body
type: string
description: "Primary identifier for this workflow"
steps:
- name: process
type: call
call: "paramount-ops.run-workflow-9"
with:
identifier: "{{identifier}}"
- name: upload
type: call
call: "box.upload-file"
with:
content: "{{process.document}}"
consumes:
- type: http
namespace: paramount-ops
baseUri: "https://api.paramount.com/operations/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: operations
path: "/operations"
operations:
- name: run-workflow-9
method: POST
- type: http
namespace: box
baseUri: "https://api.box.com/2.0"
authentication:
type: bearer
token: "$secrets.box_token"
resources:
- name: files
path: "/files"
operations:
- name: upload-file
method: POST
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 1"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-1
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-1"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-1
path: "/data-1/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-1
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 10"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-10
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-10"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-10
path: "/data-10/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-10
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 11"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-11
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-11"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-11
path: "/data-11/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-11
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 12"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-12
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-12"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-12
path: "/data-12/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-12
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 13"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-13
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-13"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-13
path: "/data-13/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-13
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 14"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-14
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-14"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-14
path: "/data-14/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-14
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 15"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-15
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-15"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-15
path: "/data-15/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-15
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 2"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-2
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-2"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-2
path: "/data-2/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-2
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 3"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-3
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-3"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-3
path: "/data-3/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-3
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 4"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-4
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-4"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-4
path: "/data-4/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-4
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 5"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-5
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-5"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-5
path: "/data-5/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-5
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 6"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-6
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-6"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-6
path: "/data-6/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-6
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 7"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-7
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-7"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-7
path: "/data-7/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-7
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 8"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-8
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-8"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-8
path: "/data-8/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-8
method: GET
Retrieves operational data for Paramount media workflows.
naftiko: "0.5"
info:
label: "Paramount Data Lookup 9"
description: "Retrieves operational data for Paramount media workflows."
tags:
- media
- operations
capability:
exposes:
- type: mcp
namespace: paramount-data
port: 8080
tools:
- name: get-data-9
description: "Retrieves operational data for Paramount media workflows."
inputParameters:
- name: identifier
in: body
type: string
description: "Resource identifier"
call: "paramount-data.get-data-9"
with:
identifier: "{{identifier}}"
consumes:
- type: http
namespace: paramount-data
baseUri: "https://api.paramount.com/data/v1"
authentication:
type: bearer
token: "$secrets.paramount_api_token"
resources:
- name: data-9
path: "/data-9/{{identifier}}"
inputParameters:
- name: identifier
in: path
operations:
- name: get-data-9
method: GET
Sends a formatted message to a Microsoft Teams channel. Reusable notification primitive for Paramount workflows.
naftiko: "0.5"
info:
label: "Microsoft Teams Channel Notifier"
description: "Sends a formatted message to a Microsoft Teams channel. Reusable notification primitive for Paramount workflows."
tags:
- communications
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: teams-notifications
port: 8080
tools:
- name: send-teams-notification
description: "Send a message to a Microsoft Teams channel."
inputParameters:
- name: channel_id
in: body
type: string
description: "The Teams channel identifier."
- name: message
in: body
type: string
description: "The message text."
call: "msteams.send-message"
with:
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/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Retrieves application performance metrics from New Relic for the Paramount+ streaming app. Returns response time, throughput, and error rate.
naftiko: "0.5"
info:
label: "New Relic Streaming App Performance"
description: "Retrieves application performance metrics from New Relic for the Paramount+ streaming app. Returns response time, throughput, and error rate."
tags:
- streaming
- operations
- new-relic
capability:
exposes:
- type: mcp
namespace: apm-monitoring
port: 8080
tools:
- name: get-streaming-app-performance
description: "Get Paramount+ streaming app performance metrics from New Relic."
inputParameters:
- name: app_id
in: body
type: string
description: "The New Relic application identifier."
call: "newrelic.get-app-metrics"
with:
app_id: "{{app_id}}"
outputParameters:
- name: response_time
type: number
mapping: "$.application.application_summary.response_time"
- name: throughput
type: number
mapping: "$.application.application_summary.throughput"
- name: error_rate
type: number
mapping: "$.application.application_summary.error_rate"
consumes:
- type: http
namespace: newrelic
baseUri: "https://api.newrelic.com/v2"
authentication:
type: apiKey
key: "$secrets.newrelic_api_key"
header: "X-Api-Key"
resources:
- name: applications
path: "/applications/{{app_id}}.json"
inputParameters:
- name: app_id
in: path
operations:
- name: get-app-metrics
method: GET
Retrieves streaming app performance from New Relic. Returns response time, throughput, and error rate for the Paramount+ backend.
naftiko: "0.5"
info:
label: "New Relic Streaming Performance"
description: "Retrieves streaming app performance from New Relic. Returns response time, throughput, and error rate for the Paramount+ backend."
tags:
- streaming
- new-relic
capability:
exposes:
- type: mcp
namespace: app-monitoring
port: 8080
tools:
- name: get-streaming-performance
description: "Get Paramount+ backend performance from New Relic."
inputParameters:
- name: app_id
in: body
type: string
description: "The New Relic app ID."
call: "newrelic.get-app"
with:
app_id: "{{app_id}}"
outputParameters:
- name: response_time
type: number
mapping: "$.application.application_summary.response_time"
- name: throughput
type: number
mapping: "$.application.application_summary.throughput"
consumes:
- type: http
namespace: newrelic
baseUri: "https://api.newrelic.com/v2"
authentication:
type: apiKey
key: "$secrets.newrelic_api_key"
header: "X-Api-Key"
resources:
- name: applications
path: "/applications/{{app_id}}.json"
inputParameters:
- name: app_id
in: path
operations:
- name: get-app
method: GET
Pulls production spending from SAP, compares against the approved budget in Oracle, and creates a variance alert in ServiceNow if spending exceeds threshold.
naftiko: "0.5"
info:
label: "Production Budget Tracker"
description: "Pulls production spending from SAP, compares against the approved budget in Oracle, and creates a variance alert in ServiceNow if spending exceeds threshold."
tags:
- content
- finance
- sap
- oracle
- servicenow
capability:
exposes:
- type: mcp
namespace: production-finance
port: 8080
tools:
- name: track-production-budget
description: "Track production spending against approved budget and alert on variances."
inputParameters:
- name: production_id
in: body
type: string
description: "The production project identifier."
- name: cost_center
in: body
type: string
description: "The SAP cost center."
steps:
- name: get-spending
type: call
call: "sap.get-cost-center-spend"
with:
cost_center: "{{cost_center}}"
- name: get-budget
type: call
call: "oracle.get-approved-budget"
with:
production_id: "{{production_id}}"
- name: create-variance-alert
type: call
call: "servicenow.create-incident"
with:
short_description: "Budget variance: Production {{production_id}}"
category: "production_finance"
description: "Spent: ${{get-spending.total_spend}}. Budget: ${{get-budget.approved_amount}}. Variance: {{get-spending.variance_pct}}%"
consumes:
- type: http
namespace: sap
baseUri: "https://paramount.sap.com/sap/opu/odata/sap/API_COSTCENTER_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: cost-centers
path: "/A_CostCenter('{{cost_center}}')/to_Spending"
inputParameters:
- name: cost_center
in: path
operations:
- name: get-cost-center-spend
method: GET
- type: http
namespace: oracle
baseUri: "https://paramount.oraclecloud.com/fscmRestApi/resources/v1"
authentication:
type: bearer
token: "$secrets.oracle_token"
resources:
- name: budgets
path: "/budgets/{{production_id}}"
inputParameters:
- name: production_id
in: path
operations:
- name: get-approved-budget
method: GET
- type: http
namespace: servicenow
baseUri: "https://paramount.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
Creates a programmatic advertising deal in the ad server, registers the deal in Salesforce for billing, and notifies the ad ops team in Slack.
naftiko: "0.5"
info:
label: "Programmatic Ad Deal Creator"
description: "Creates a programmatic advertising deal in the ad server, registers the deal in Salesforce for billing, and notifies the ad ops team in Slack."
tags:
- advertising
- salesforce
- slack
capability:
exposes:
- type: mcp
namespace: programmatic-ads
port: 8080
tools:
- name: create-programmatic-deal
description: "Create a programmatic ad deal with billing registration and team notification."
inputParameters:
- name: advertiser_id
in: body
type: string
description: "The advertiser identifier."
- name: deal_type
in: body
type: string
description: "Deal type (preferred, private-auction, guaranteed)."
- name: cpm_floor
in: body
type: number
description: "The CPM floor price."
- name: impressions
in: body
type: integer
description: "The committed impression count."
steps:
- name: create-deal
type: call
call: "ad-server.create-deal"
with:
advertiser_id: "{{advertiser_id}}"
deal_type: "{{deal_type}}"
cpm_floor: "{{cpm_floor}}"
impressions: "{{impressions}}"
- name: register-billing
type: call
call: "salesforce.create-opportunity"
with:
name: "Programmatic Deal - {{advertiser_id}}"
deal_id: "{{create-deal.deal_id}}"
amount: "{{create-deal.estimated_revenue}}"
- name: notify-ad-ops
type: call
call: "slack.post-message"
with:
channel: "ad-ops"
text: "New programmatic deal {{create-deal.deal_id}}: {{deal_type}} at ${{cpm_floor}} CPM, {{impressions}} impressions. SF: {{register-billing.id}}"
consumes:
- type: http
namespace: ad-server
baseUri: "https://api.paramount.com/adserver/v1"
authentication:
type: bearer
token: "$secrets.paramount_adserver_token"
resources:
- name: deals
path: "/deals"
operations:
- name: create-deal
method: POST
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: opportunities
path: "/sobjects/Opportunity"
operations:
- name: create-opportunity
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Aggregates licensing revenue by territory from Salesforce, enriches with content performance data from Snowflake, and generates an executive report in SharePoint.
naftiko: "0.5"
info:
label: "Regional Licensing Revenue Report"
description: "Aggregates licensing revenue by territory from Salesforce, enriches with content performance data from Snowflake, and generates an executive report in SharePoint."
tags:
- licensing
- revenue
- salesforce
- snowflake
- sharepoint
capability:
exposes:
- type: mcp
namespace: licensing-revenue
port: 8080
tools:
- name: generate-licensing-revenue-report
description: "Generate a regional licensing revenue report with content performance data."
inputParameters:
- name: quarter
in: body
type: string
description: "The fiscal quarter (e.g., Q1-2026)."
- name: region
in: body
type: string
description: "The geographic region."
steps:
- name: get-sf-revenue
type: call
call: "salesforce.query-licensing-revenue"
with:
quarter: "{{quarter}}"
region: "{{region}}"
- name: get-content-performance
type: call
call: "snowflake.execute-query"
with:
query: "SELECT * FROM content_performance WHERE quarter='{{quarter}}' AND region='{{region}}'"
- name: store-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "business-affairs"
file_path: "LicensingReports/{{region}}_{{quarter}}.xlsx"
consumes:
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: licensing-revenue
path: "/query?q=SELECT+Territory__c,SUM(Amount)+FROM+Licensing_Deal__c+WHERE+Quarter__c='{{quarter}}'+GROUP+BY+Territory__c"
inputParameters:
- name: quarter
in: query
- name: region
in: query
operations:
- name: query-licensing-revenue
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: files
path: "/{{site_id}}/drive/root:/{{file_path}}:/content"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: upload-file
method: PUT
Looks up a Salesforce opportunity by ID. Returns deal name, stage, amount, and close date for advertising and licensing deals.
naftiko: "0.5"
info:
label: "Salesforce Opportunity Lookup"
description: "Looks up a Salesforce opportunity by ID. Returns deal name, stage, amount, and close date for advertising and licensing deals."
tags:
- sales
- salesforce
capability:
exposes:
- type: mcp
namespace: sales-ops
port: 8080
tools:
- name: get-opportunity
description: "Look up a Salesforce opportunity by ID."
inputParameters:
- name: opportunity_id
in: body
type: string
description: "The Salesforce opportunity identifier."
call: "salesforce.get-opportunity"
with:
opportunity_id: "{{opportunity_id}}"
outputParameters:
- name: name
type: string
mapping: "$.Name"
- name: stage
type: string
mapping: "$.StageName"
- name: amount
type: number
mapping: "$.Amount"
- name: close_date
type: string
mapping: "$.CloseDate"
consumes:
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: opportunities
path: "/sobjects/Opportunity/{{opportunity_id}}"
inputParameters:
- name: opportunity_id
in: path
operations:
- name: get-opportunity
method: GET
Pulls approved expense reports from SAP Concur, creates journal entries in Oracle, and notifies the finance controller via Microsoft Teams.
naftiko: "0.5"
info:
label: "SAP Concur Expense Sync"
description: "Pulls approved expense reports from SAP Concur, creates journal entries in Oracle, and notifies the finance controller via Microsoft Teams."
tags:
- finance
- sap-concur
- oracle
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: expense-ops
port: 8080
tools:
- name: sync-approved-expenses
description: "Sync approved SAP Concur expenses to Oracle and notify finance."
inputParameters:
- name: report_id
in: body
type: string
description: "The SAP Concur expense report identifier."
steps:
- name: get-expense-report
type: call
call: "concur.get-report"
with:
report_id: "{{report_id}}"
- name: create-journal
type: call
call: "oracle.create-journal-entry"
with:
amount: "{{get-expense-report.total_amount}}"
cost_center: "{{get-expense-report.cost_center}}"
description: "Expense report {{report_id}}"
- name: notify-controller
type: call
call: "msteams.send-message"
with:
channel_id: "finance-ops"
text: "Expense report {{report_id}} synced to Oracle. Amount: ${{get-expense-report.total_amount}}. Journal: {{create-journal.entry_id}}"
consumes:
- type: http
namespace: concur
baseUri: "https://us.api.concursolutions.com/api/v3.0"
authentication:
type: bearer
token: "$secrets.concur_token"
resources:
- name: reports
path: "/expense/reports/{{report_id}}"
inputParameters:
- name: report_id
in: path
operations:
- name: get-report
method: GET
- type: http
namespace: oracle
baseUri: "https://paramount.oraclecloud.com/fscmRestApi/resources/v1"
authentication:
type: bearer
token: "$secrets.oracle_token"
resources:
- name: journals
path: "/journalEntries"
operations:
- name: create-journal-entry
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/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Sends a transactional email via SendGrid. Reusable email primitive for Paramount workflows.
naftiko: "0.5"
info:
label: "SendGrid Email Sender"
description: "Sends a transactional email via SendGrid. Reusable email primitive for Paramount workflows."
tags:
- communications
- sendgrid
capability:
exposes:
- type: mcp
namespace: email-ops
port: 8080
tools:
- name: send-email
description: "Send a transactional email via SendGrid."
inputParameters:
- name: to
in: body
type: string
description: "Recipient email."
- name: subject
in: body
type: string
description: "Email subject."
- name: body
in: body
type: string
description: "Email body."
call: "sendgrid.send-email"
with:
to: "{{to}}"
subject: "{{subject}}"
body: "{{body}}"
consumes:
- type: http
namespace: sendgrid
baseUri: "https://api.sendgrid.com/v3"
authentication:
type: bearer
token: "$secrets.sendgrid_api_key"
resources:
- name: mail
path: "/mail/send"
operations:
- name: send-email
method: POST
Looks up a ServiceNow incident by number. Returns state, priority, assigned group, and resolution notes.
naftiko: "0.5"
info:
label: "ServiceNow Incident Status"
description: "Looks up a ServiceNow incident by number. Returns state, priority, assigned group, and resolution notes."
tags:
- operations
- servicenow
capability:
exposes:
- type: mcp
namespace: itsm-ops
port: 8080
tools:
- name: get-incident
description: "Look up a ServiceNow incident by number."
inputParameters:
- name: incident_number
in: body
type: string
description: "The ServiceNow incident number."
call: "servicenow.get-incident"
with:
incident_number: "{{incident_number}}"
outputParameters:
- name: state
type: string
mapping: "$.result.state"
- name: priority
type: string
mapping: "$.result.priority"
- name: assigned_group
type: string
mapping: "$.result.assignment_group.display_value"
consumes:
- type: http
namespace: servicenow
baseUri: "https://paramount.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: query
operations:
- name: get-incident
method: GET
Uploads a document to a SharePoint site. Used for report publishing and document management across Paramount departments.
naftiko: "0.5"
info:
label: "SharePoint Document Upload"
description: "Uploads a document to a SharePoint site. Used for report publishing and document management across Paramount departments."
tags:
- document-management
- sharepoint
capability:
exposes:
- type: mcp
namespace: doc-management
port: 8080
tools:
- name: upload-document
description: "Upload a document to a SharePoint site."
inputParameters:
- name: site_id
in: body
type: string
description: "The SharePoint site identifier."
- name: file_path
in: body
type: string
description: "The destination file path."
call: "sharepoint.upload-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}}:/content"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: upload-file
method: PUT
Sends a formatted message to a Slack channel. Used as a reusable notification primitive across Paramount workflows.
naftiko: "0.5"
info:
label: "Slack Channel Notifier"
description: "Sends a formatted message to a Slack channel. Used as a reusable notification primitive across Paramount workflows."
tags:
- communications
- slack
capability:
exposes:
- type: mcp
namespace: slack-notifications
port: 8080
tools:
- name: send-slack-notification
description: "Send a message to a Slack channel."
inputParameters:
- name: channel
in: body
type: string
description: "The Slack channel."
- name: message
in: body
type: string
description: "The message text."
call: "slack.post-message"
with:
channel: "{{channel}}"
text: "{{message}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Executes a SQL query against Paramount's Snowflake data warehouse. Returns result rows and metadata for analytics workflows.
naftiko: "0.5"
info:
label: "Snowflake Query Runner"
description: "Executes a SQL query against Paramount's Snowflake data warehouse. Returns result rows and metadata for analytics workflows."
tags:
- analytics
- snowflake
capability:
exposes:
- type: mcp
namespace: data-warehouse
port: 8080
tools:
- name: run-snowflake-query
description: "Execute a SQL query against the Paramount Snowflake warehouse."
inputParameters:
- name: query
in: body
type: string
description: "The SQL query to execute."
call: "snowflake.execute-query"
with:
statement: "{{query}}"
outputParameters:
- name: rows
type: array
mapping: "$.data"
- name: row_count
type: integer
mapping: "$.resultSetMetaData.numRows"
consumes:
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
Publishes promotional content across Instagram, Facebook, and Twitter simultaneously from the creative asset library, and logs publication status in Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Social Media Content Publisher"
description: "Publishes promotional content across Instagram, Facebook, and Twitter simultaneously from the creative asset library, and logs publication status in Salesforce Marketing Cloud."
tags:
- marketing
- social-media
- instagram
- facebook
- twitter
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: social-publishing
port: 8080
tools:
- name: publish-social-content
description: "Publish promotional content across multiple social platforms and log status."
inputParameters:
- name: asset_id
in: body
type: string
description: "The creative asset identifier."
- name: caption
in: body
type: string
description: "The post caption text."
- name: campaign_id
in: body
type: string
description: "The marketing campaign identifier."
steps:
- name: get-asset
type: call
call: "dam.get-asset"
with:
asset_id: "{{asset_id}}"
- name: post-instagram
type: call
call: "meta-api.create-post"
with:
platform: "instagram"
media_url: "{{get-asset.url}}"
caption: "{{caption}}"
- name: post-facebook
type: call
call: "meta-api.create-post"
with:
platform: "facebook"
media_url: "{{get-asset.url}}"
caption: "{{caption}}"
- name: post-twitter
type: call
call: "twitter-api.create-tweet"
with:
text: "{{caption}}"
media_url: "{{get-asset.url}}"
- name: log-publication
type: call
call: "sfmc.create-data-extension-row"
with:
data_extension: "social_publications"
data:
campaign_id: "{{campaign_id}}"
asset_id: "{{asset_id}}"
platforms: "instagram,facebook,twitter"
consumes:
- type: http
namespace: dam
baseUri: "https://api.paramount.com/dam/v1"
authentication:
type: bearer
token: "$secrets.paramount_dam_token"
resources:
- name: assets
path: "/assets/{{asset_id}}"
inputParameters:
- name: asset_id
in: path
operations:
- name: get-asset
method: GET
- type: http
namespace: meta-api
baseUri: "https://graph.facebook.com/v18.0"
authentication:
type: bearer
token: "$secrets.meta_access_token"
resources:
- name: posts
path: "/paramount/feed"
operations:
- name: create-post
method: POST
- type: http
namespace: twitter-api
baseUri: "https://api.twitter.com/2"
authentication:
type: bearer
token: "$secrets.twitter_bearer_token"
resources:
- name: tweets
path: "/tweets"
operations:
- name: create-tweet
method: POST
- type: http
namespace: sfmc
baseUri: "https://paramount.rest.marketingcloudapis.com/data/v1"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: data-extensions
path: "/customobjectdata/key/{{data_extension}}/rowset"
inputParameters:
- name: data_extension
in: path
operations:
- name: create-data-extension-row
method: POST
Pulls CDN performance metrics from Cloudflare, correlates with streaming quality data, stores in Snowflake, and alerts the platform team in Slack if latency exceeds thresholds.
naftiko: "0.5"
info:
label: "Streaming CDN Performance Monitor"
description: "Pulls CDN performance metrics from Cloudflare, correlates with streaming quality data, stores in Snowflake, and alerts the platform team in Slack if latency exceeds thresholds."
tags:
- streaming
- operations
- cloudflare
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: cdn-monitoring
port: 8080
tools:
- name: monitor-cdn-performance
description: "Monitor CDN performance and alert on streaming quality issues."
inputParameters:
- name: zone_id
in: body
type: string
description: "The Cloudflare zone identifier."
- name: time_range
in: body
type: string
description: "Time range for metrics (1h, 6h, 24h)."
steps:
- name: get-cdn-metrics
type: call
call: "cloudflare.get-zone-analytics"
with:
zone_id: "{{zone_id}}"
time_range: "{{time_range}}"
- name: store-metrics
type: call
call: "snowflake.insert-record"
with:
table: "cdn_performance"
data:
zone_id: "{{zone_id}}"
bandwidth: "{{get-cdn-metrics.bandwidth}}"
latency_p95: "{{get-cdn-metrics.latency_p95}}"
cache_hit_rate: "{{get-cdn-metrics.cache_hit_rate}}"
- name: alert-if-degraded
type: call
call: "slack.post-message"
with:
channel: "platform-alerts"
text: "CDN Alert: P95 latency {{get-cdn-metrics.latency_p95}}ms, cache hit rate {{get-cdn-metrics.cache_hit_rate}}% for zone {{zone_id}}"
consumes:
- type: http
namespace: cloudflare
baseUri: "https://api.cloudflare.com/client/v4"
authentication:
type: bearer
token: "$secrets.cloudflare_token"
resources:
- name: analytics
path: "/zones/{{zone_id}}/analytics/dashboard"
inputParameters:
- name: zone_id
in: path
operations:
- name: get-zone-analytics
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: insert-record
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Pulls current Paramount+ subscriber counts by region from the streaming platform, stores daily snapshots in Snowflake, and refreshes the executive subscriber dashboard.
naftiko: "0.5"
info:
label: "Streaming Subscriber Count Report"
description: "Pulls current Paramount+ subscriber counts by region from the streaming platform, stores daily snapshots in Snowflake, and refreshes the executive subscriber dashboard."
tags:
- streaming
- analytics
- snowflake
- tableau
capability:
exposes:
- type: mcp
namespace: subscriber-metrics
port: 8080
tools:
- name: report-subscriber-counts
description: "Generate a daily subscriber count report by region."
inputParameters:
- name: date
in: body
type: string
description: "The reporting date."
steps:
- name: get-subscribers
type: call
call: "streaming-platform.get-subscriber-counts"
with:
date: "{{date}}"
- name: store-snapshot
type: call
call: "snowflake.insert-record"
with:
table: "subscriber_snapshots"
data:
date: "{{date}}"
total: "{{get-subscribers.total}}"
by_region: "{{get-subscribers.by_region}}"
- name: refresh-dashboard
type: call
call: "tableau.refresh-extract"
with:
datasource_id: "subscriber_metrics_ds"
consumes:
- type: http
namespace: streaming-platform
baseUri: "https://api.paramount.com/streaming/v1"
authentication:
type: bearer
token: "$secrets.paramount_streaming_token"
resources:
- name: subscribers
path: "/subscribers/counts"
operations:
- name: get-subscriber-counts
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: insert-record
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.paramount.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/sites/paramount/datasources/{{datasource_id}}/refresh"
inputParameters:
- name: datasource_id
in: path
operations:
- name: refresh-extract
method: POST
Queries the analytics platform for streaming viewership metrics by title. Returns total views, unique viewers, average watch time, and completion rate.
naftiko: "0.5"
info:
label: "Streaming Viewership Lookup"
description: "Queries the analytics platform for streaming viewership metrics by title. Returns total views, unique viewers, average watch time, and completion rate."
tags:
- streaming
- analytics
capability:
exposes:
- type: mcp
namespace: viewership-analytics
port: 8080
tools:
- name: get-viewership-metrics
description: "Look up streaming viewership metrics for a specific title."
inputParameters:
- name: title_id
in: body
type: string
description: "The content title identifier."
- name: date_range
in: body
type: string
description: "Date range for the query (7d, 30d, 90d)."
call: "analytics-platform.get-viewership"
with:
title_id: "{{title_id}}"
range: "{{date_range}}"
outputParameters:
- name: total_views
type: integer
mapping: "$.data.total_views"
- name: unique_viewers
type: integer
mapping: "$.data.unique_viewers"
- name: avg_watch_time
type: number
mapping: "$.data.avg_watch_time_minutes"
- name: completion_rate
type: number
mapping: "$.data.completion_rate"
consumes:
- type: http
namespace: analytics-platform
baseUri: "https://api.paramount.com/analytics/v1"
authentication:
type: bearer
token: "$secrets.paramount_analytics_token"
resources:
- name: viewership
path: "/titles/{{title_id}}/viewership"
inputParameters:
- name: title_id
in: path
operations:
- name: get-viewership
method: GET
Pulls subscriber engagement data from the streaming platform, runs churn prediction models in Snowflake, and creates retention campaign triggers in Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Subscriber Churn Predictor"
description: "Pulls subscriber engagement data from the streaming platform, runs churn prediction models in Snowflake, and creates retention campaign triggers in Salesforce Marketing Cloud."
tags:
- streaming
- analytics
- snowflake
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: subscriber-retention
port: 8080
tools:
- name: predict-churn-risk
description: "Identify at-risk subscribers and trigger retention campaigns."
inputParameters:
- name: segment
in: body
type: string
description: "The subscriber segment to analyze."
- name: lookback_days
in: body
type: integer
description: "Number of days to analyze for engagement patterns."
steps:
- name: get-engagement-data
type: call
call: "streaming-platform.get-engagement-metrics"
with:
segment: "{{segment}}"
days: "{{lookback_days}}"
- name: run-churn-model
type: call
call: "snowflake.execute-query"
with:
query: "CALL predict_churn('{{segment}}', {{lookback_days}})"
- name: trigger-retention
type: call
call: "sfmc.trigger-journey"
with:
journey_id: "churn_prevention"
audience: "{{run-churn-model.at_risk_subscribers}}"
consumes:
- type: http
namespace: streaming-platform
baseUri: "https://api.paramount.com/streaming/v1"
authentication:
type: bearer
token: "$secrets.paramount_streaming_token"
resources:
- name: engagement
path: "/subscribers/engagement"
operations:
- name: get-engagement-metrics
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: execute-query
method: POST
- type: http
namespace: sfmc
baseUri: "https://paramount.rest.marketingcloudapis.com/interaction/v1"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: journeys
path: "/events"
operations:
- name: trigger-journey
method: POST
Triggers subtitle generation for a title, sends for translation review, updates the CMS with localized subtitle files, and notifies the localization team in Slack.
naftiko: "0.5"
info:
label: "Subtitle and Localization Workflow"
description: "Triggers subtitle generation for a title, sends for translation review, updates the CMS with localized subtitle files, and notifies the localization team in Slack."
tags:
- content
- localization
- slack
capability:
exposes:
- type: mcp
namespace: localization-ops
port: 8080
tools:
- name: process-subtitles
description: "Generate and localize subtitles for a content title."
inputParameters:
- name: title_id
in: body
type: string
description: "The content title identifier."
- name: source_language
in: body
type: string
description: "Source language code (e.g., en-US)."
- name: target_languages
in: body
type: array
description: "List of target language codes."
steps:
- name: generate-subtitles
type: call
call: "subtitle-service.generate"
with:
title_id: "{{title_id}}"
source_lang: "{{source_language}}"
- name: submit-translation
type: call
call: "translation-service.submit-job"
with:
source_file: "{{generate-subtitles.subtitle_url}}"
target_languages: "{{target_languages}}"
- name: update-cms
type: call
call: "cms.update-subtitles"
with:
title_id: "{{title_id}}"
subtitle_files: "{{submit-translation.output_files}}"
- name: notify-team
type: call
call: "slack.post-message"
with:
channel: "localization"
text: "Subtitles ready for {{title_id}} in {{target_languages}}. Translation job: {{submit-translation.job_id}}"
consumes:
- type: http
namespace: subtitle-service
baseUri: "https://api.paramount.com/subtitles/v1"
authentication:
type: bearer
token: "$secrets.paramount_subtitle_token"
resources:
- name: subtitles
path: "/generate"
operations:
- name: generate
method: POST
- type: http
namespace: translation-service
baseUri: "https://api.paramount.com/translation/v1"
authentication:
type: bearer
token: "$secrets.paramount_translation_token"
resources:
- name: jobs
path: "/jobs"
operations:
- name: submit-job
method: POST
- type: http
namespace: cms
baseUri: "https://api.paramount.com/content/v2"
authentication:
type: bearer
token: "$secrets.paramount_cms_token"
resources:
- name: subtitles
path: "/titles/{{title_id}}/subtitles"
inputParameters:
- name: title_id
in: path
operations:
- name: update-subtitles
method: PUT
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Triggers a Tableau datasource extract refresh. Used to update dashboards after data pipeline completions.
naftiko: "0.5"
info:
label: "Tableau Dashboard Refresh"
description: "Triggers a Tableau datasource extract refresh. Used to update dashboards after data pipeline completions."
tags:
- analytics
- tableau
capability:
exposes:
- type: mcp
namespace: dashboard-ops
port: 8080
tools:
- name: refresh-tableau-dashboard
description: "Trigger a Tableau datasource extract refresh."
inputParameters:
- name: datasource_id
in: body
type: string
description: "The Tableau datasource identifier."
call: "tableau.refresh-extract"
with:
datasource_id: "{{datasource_id}}"
consumes:
- type: http
namespace: tableau
baseUri: "https://tableau.paramount.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/sites/paramount/datasources/{{datasource_id}}/refresh"
inputParameters:
- name: datasource_id
in: path
operations:
- name: refresh-extract
method: POST
Looks up a talent contract in Salesforce by contract ID. Returns talent name, deal status, contract term, and compensation structure.
naftiko: "0.5"
info:
label: "Talent Contract Status Lookup"
description: "Looks up a talent contract in Salesforce by contract ID. Returns talent name, deal status, contract term, and compensation structure."
tags:
- content
- licensing
- salesforce
capability:
exposes:
- type: mcp
namespace: talent-ops
port: 8080
tools:
- name: get-talent-contract
description: "Look up talent contract details by contract identifier."
inputParameters:
- name: contract_id
in: body
type: string
description: "The Salesforce talent contract identifier."
call: "salesforce.get-contract"
with:
contract_id: "{{contract_id}}"
outputParameters:
- name: talent_name
type: string
mapping: "$.Name"
- name: status
type: string
mapping: "$.Status__c"
- name: term_end
type: string
mapping: "$.Term_End_Date__c"
- name: deal_value
type: number
mapping: "$.Total_Deal_Value__c"
consumes:
- type: http
namespace: salesforce
baseUri: "https://paramount.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: contracts
path: "/sobjects/Talent_Contract__c/{{contract_id}}"
inputParameters:
- name: contract_id
in: path
operations:
- name: get-contract
method: GET
When a vendor invoice arrives for production services, validates against the SAP purchase order, creates a payment in Oracle, and notifies finance in Microsoft Teams.
naftiko: "0.5"
info:
label: "Vendor Invoice Processor"
description: "When a vendor invoice arrives for production services, validates against the SAP purchase order, creates a payment in Oracle, and notifies finance in Microsoft Teams."
tags:
- procurement
- finance
- sap
- oracle
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: vendor-payments
port: 8080
tools:
- name: process-vendor-invoice
description: "Validate and process a vendor invoice for production services."
inputParameters:
- name: invoice_number
in: body
type: string
description: "The vendor invoice number."
- name: po_number
in: body
type: string
description: "The SAP purchase order number."
- name: amount
in: body
type: number
description: "The invoice amount."
steps:
- name: validate-po
type: call
call: "sap.get-po"
with:
po_number: "{{po_number}}"
- name: create-payment
type: call
call: "oracle.create-payment-request"
with:
invoice_number: "{{invoice_number}}"
po_number: "{{po_number}}"
amount: "{{amount}}"
- name: notify-finance
type: call
call: "msteams.send-message"
with:
channel_id: "finance-approvals"
text: "Invoice {{invoice_number}} for ${{amount}} validated against PO {{po_number}}. Payment: {{create-payment.request_id}}"
consumes:
- type: http
namespace: sap
baseUri: "https://paramount.sap.com/sap/opu/odata/sap/MM_PUR_PO_MAINT_V2_SRV"
authentication:
type: basic
username: "$secrets.sap_user"
password: "$secrets.sap_password"
resources:
- name: purchase-orders
path: "/A_PurchaseOrder('{{po_number}}')"
inputParameters:
- name: po_number
in: path
operations:
- name: get-po
method: GET
- type: http
namespace: oracle
baseUri: "https://paramount.oraclecloud.com/fscmRestApi/resources/v1"
authentication:
type: bearer
token: "$secrets.oracle_token"
resources:
- name: payments
path: "/payablesInvoices"
operations:
- name: create-payment-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/{{channel_id}}/channels/general/messages"
inputParameters:
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Pulls YouTube channel analytics for Paramount's official channels, aggregates with internal content performance data in Snowflake, and refreshes the content strategy dashboard.
naftiko: "0.5"
info:
label: "YouTube Channel Performance Report"
description: "Pulls YouTube channel analytics for Paramount's official channels, aggregates with internal content performance data in Snowflake, and refreshes the content strategy dashboard."
tags:
- content
- marketing
- youtube
- snowflake
- tableau
capability:
exposes:
- type: mcp
namespace: youtube-analytics
port: 8080
tools:
- name: report-youtube-performance
description: "Generate a YouTube channel performance report with content strategy insights."
inputParameters:
- name: channel_id
in: body
type: string
description: "The YouTube channel identifier."
- name: start_date
in: body
type: string
description: "Report start date."
- name: end_date
in: body
type: string
description: "Report end date."
steps:
- name: get-youtube-stats
type: call
call: "youtube-api.get-channel-analytics"
with:
channel_id: "{{channel_id}}"
start_date: "{{start_date}}"
end_date: "{{end_date}}"
- name: store-metrics
type: call
call: "snowflake.insert-record"
with:
table: "youtube_analytics"
data:
channel_id: "{{channel_id}}"
views: "{{get-youtube-stats.views}}"
subscribers_gained: "{{get-youtube-stats.subscribers_gained}}"
watch_hours: "{{get-youtube-stats.watch_hours}}"
- name: refresh-dashboard
type: call
call: "tableau.refresh-extract"
with:
datasource_id: "youtube_performance_ds"
consumes:
- type: http
namespace: youtube-api
baseUri: "https://youtubeanalytics.googleapis.com/v2"
authentication:
type: bearer
token: "$secrets.google_youtube_token"
resources:
- name: reports
path: "/reports?ids=channel==MINE"
operations:
- name: get-channel-analytics
method: GET
- type: http
namespace: snowflake
baseUri: "https://paramount.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: statements
path: "/statements"
operations:
- name: insert-record
method: POST
- type: http
namespace: tableau
baseUri: "https://tableau.paramount.com/api/3.21"
authentication:
type: bearer
token: "$secrets.tableau_token"
resources:
- name: datasources
path: "/sites/paramount/datasources/{{datasource_id}}/refresh"
inputParameters:
- name: datasource_id
in: path
operations:
- name: refresh-extract
method: POST
Creates a Zoom meeting and posts the join link to a Slack channel.
naftiko: "0.5"
info:
label: "Zoom Meeting Creator"
description: "Creates a Zoom meeting and posts the join link to a Slack channel."
tags:
- communications
- zoom
- slack
capability:
exposes:
- type: mcp
namespace: meeting-ops
port: 8080
tools:
- name: create-zoom-meeting
description: "Create a Zoom meeting and share in Slack."
inputParameters:
- name: topic
in: body
type: string
description: "Meeting topic."
- name: start_time
in: body
type: string
description: "Start time in ISO 8601."
- name: slack_channel
in: body
type: string
description: "Slack channel to post link."
steps:
- name: create-meeting
type: call
call: "zoom.create-meeting"
with:
topic: "{{topic}}"
start_time: "{{start_time}}"
- name: post-link
type: call
call: "slack.post-message"
with:
channel: "{{slack_channel}}"
text: "Zoom meeting: {{topic}} at {{start_time}}. Join: {{create-meeting.join_url}}"
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
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST